Ranking Scale for Ultimate Frisbee¶
Ranking Scale
EXEMPLES:
sage: from slabbe.ranking_scale import *
sage: R = RankingScale_CQU4_2011()
sage: R = RankingScale_USAU_2013()
sage: R = RankingScale_CQU4_2014()
AUTHOR :
Sébastien Labbé, Fall 2011, first version
-
class
slabbe.ranking_scale.
RankingScale
(scale_names, scales)¶ Bases:
object
INPUT:
scale_names
– iterable of strscales
– iterable of list
NOTE: the ordering of both input must match
-
length
()¶ EXEMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2011 sage: R = RankingScale_CQU4_2011() sage: R.length() 105
-
plot
(pointsize=20)¶
-
pointage_csv
(filename='pointage.csv', dialect='excel')¶ EXEMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2011 sage: R = RankingScale_CQU4_2011() sage: R.pointage_csv() # not tested Creation of file pointage.csv
-
table
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2011 sage: R = RankingScale_CQU4_2011() sage: R.table() Position Grand Chelem Mars Attaque La Flotte Petit Chelem 1 1000 1000 800 400 2 938 938 728 355 3 884 884 668 317 4 835 835 614 285 5 791 791 566 256 6 750 750 522 230 7 711 711 482 206 8 675 675 444 184 9 641 641 409 164 10 609 609 377 146 ... 95 0 11 0 0 96 0 10 0 0 97 0 9 0 0 98 0 8 0 0 99 0 7 0 0 100 0 6 0 0 101 0 4 0 0 102 0 3 0 0 103 0 2 0 0 104 0 1 0 0
-
slabbe.ranking_scale.
RankingScale_CQU4_2011
()¶ EXEMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2011 sage: R = RankingScale_CQU4_2011() sage: R.table() Position Grand Chelem Mars Attaque La Flotte Petit Chelem 1 1000 1000 800 400 2 938 938 728 355 3 884 884 668 317 4 835 835 614 285 5 791 791 566 256 6 750 750 522 230 7 711 711 482 206 8 675 675 444 184 9 641 641 409 164 10 609 609 377 146 ... 95 0 11 0 0 96 0 10 0 0 97 0 9 0 0 98 0 8 0 0 99 0 7 0 0 100 0 6 0 0 101 0 4 0 0 102 0 3 0 0 103 0 2 0 0 104 0 1 0 0
-
slabbe.ranking_scale.
RankingScale_CQU4_2014
(R=1, base=e)¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2014 sage: R = RankingScale_CQU4_2014()
-
slabbe.ranking_scale.
RankingScale_CQU4_2015_v1
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2015_v1 sage: R = RankingScale_CQU4_2015_v1()
-
slabbe.ranking_scale.
RankingScale_CQU4_2015_v2
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2015_v2 sage: R = RankingScale_CQU4_2015_v2()
-
slabbe.ranking_scale.
RankingScale_CQU4_2015_v3
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2015_v3 sage: R = RankingScale_CQU4_2015_v3()
-
slabbe.ranking_scale.
RankingScale_CQU4_2015_v4
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2015_v4 sage: R = RankingScale_CQU4_2015_v4()
-
slabbe.ranking_scale.
RankingScale_CQU4_2015_v5
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_CQU4_2015_v5 sage: R = RankingScale_CQU4_2015_v5()
-
slabbe.ranking_scale.
RankingScale_USAU_2013
()¶ EXAMPLES:
sage: from slabbe.ranking_scale import RankingScale_USAU_2013 sage: R = RankingScale_USAU_2013() sage: R.table() Position Serie 1500 Serie 1000 Serie 500 Serie 250 1 1500 1000 500 250 2 1366 911 455 228 3 1252 835 417 209 4 1152 768 384 192 5 1061 708 354 177 6 979 653 326 163 7 903 602 301 151 8 832 555 278 139 9 767 511 256 128 10 706 471 236 118 11 648 432 217 109 12 595 397 199 100 13 544 363 182 91 14 497 332 166 83 15 452 302 151 76 16 410 274 137 69 17 371 248 124 62 18 334 223 112 56 19 299 199 100 50 20 266 177 89 45 21 235 157 79 40 22 206 137 69 35 23 178 119 60 30 24 152 102 51 26 25 128 86 43 22 26 106 71 36 18 27 85 57 29 15 28 66 44 22 12 29 47 32 16 9 30 31 21 11 6 31 15 10 6 3 32 1 1 1 1
-
slabbe.ranking_scale.
curve
(nb_equipes, max_points=100, K=1, R=2, base=2, verbose=False)¶ INPUT:
nb_equipes
– integermax_points
– integerK
– the value atp = nb_equipes
R
– real (default:2
), curve parameterbase
– 2verbose
- bool
EXEMPLES:
sage: from slabbe.ranking_scale import curve sage: curve(20, 100) -99*(p*(log(40) + 1) - p*log(p) - 20*log(40) + 20*log(20) - 20)/(19*log(40) - 20*log(20) + 19) + 1 sage: curve(64, 100) -33*(p*(7*log(2) + 1) - p*log(p) - 64*log(2) - 64)/(19*log(2) + 21) + 1
sage: curve(64, 100)(p=64) 1 sage: curve(64, 100)(p=1) 100 sage: curve(64, 100)(p=2) 66*(26*log(2) + 31)/(19*log(2) + 21) + 1 sage: n(curve(64, 100)(p=2)) # abs tol 1e-10 95.6871477097753
sage: curve(64, 100, verbose=True) fn = -(p*(7*log(2) + 1) - p*log(p) - 64*log(2) - 64)/log(2) aire = 147.889787576005 fn normalise = -33*(p*(7*log(2) + 1) - p*log(p) - 64*log(2) - 64)/(19*log(2) + 21) + 1 -33*(p*(7*log(2) + 1) - p*log(p) - 64*log(2) - 64)/(19*log(2) + 21) + 1
The base argument seems to be useless (why?):
sage: curve(100,100,base=3) -99*(p*(log(200) + 1) - p*log(p) - 100*log(200) + 200*log(10) - 100)/(99*log(200) - 200*log(10) + 99) + 1 sage: curve(100,100,base=2) -99*(p*(log(200) + 1) - p*log(p) - 100*log(200) + 200*log(10) - 100)/(99*log(200) - 200*log(10) + 99) + 1
-
slabbe.ranking_scale.
discrete_curve
(nb_equipes, max_points=100, K=1, R=2, base=2, verbose=False)¶ INPUT:
nb_equipes
– integermax_points
– integerK
– the value atp = nb_equipes
R
– real (default:2
), curve parameterbase
– 2verbose
- bool
EXEMPLES:
sage: from slabbe.ranking_scale import discrete_curve sage: A = discrete_curve(64, 100,verbose=True) First difference sequence is [1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, 3, 4, 4, 4]
sage: A = discrete_curve(64, 100) sage: B = discrete_curve(32, 50) sage: C = discrete_curve(16, 25)
sage: A [100, 96, 92, 88, 85, 82, 79, 77, 74, 71, 69, 67, 64, 62, 60, 58, 56, 54, 52, 50, 49, 47, 45, 44, 42, 41, 39, 38, 36, 35, 33, 32, 31, 29, 28, 27, 26, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 8, 7, 6, 5, 5, 4, 3, 2, 2, 1] sage: B [50, 46, 43, 40, 37, 35, 33, 31, 29, 27, 25, 23, 21, 20, 18, 17, 16, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1] sage: C [25, 22, 19, 17, 15, 13, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1]
sage: A = discrete_curve(64+2, 100) #Movember, Bye Bye, Cdf, MA sage: B = discrete_curve(32+2, 70) # la flotte sage: C = discrete_curve(16+2, 40) # october fest, funenuf, la viree
-
slabbe.ranking_scale.
discrete_curve_2
(nb_equipes, max_points=100)¶
-
slabbe.ranking_scale.
table_to_csv
(self, filename, dialect='excel')¶