Jdi na navigaci předmětu

2. Porovnání (Mocninná metoda)

Porovnání jednotlivých řešení.

using CSV, DataFrames
"""

Pomocná hodnotící funkce přidělující body ve sloupci `score` pod pořadí ve sloupci `column` (seřazeném).

"""
function record_rank!(data_frame::DataFrame, column::Symbol)
    rank = 1
    value = first(data_frame[!, column])

    for row in eachrow(data_frame)
        if !ismissing(row[column]) && row[column] != value
            value = row[column]
            rank += 1
        end

        row[:score] += rank
    end
end
record_rank!

Načtení dat a přidání "skórovacího" sloupce.

df = CSV.read("results02.csv", DataFrame)
df[!, "score"] .= 0
describe(df)
18×7 DataFrame
Rowvariablemeanminmedianmaxnmissingeltype
SymbolUnion…AnyUnion…AnyInt64Type
1nicknameAheroninUwyss0String15
2smatrix_maxeig1.0true1.0true3Union{Missing, Bool}
3smatrix_maxeig_time5.45455e655495.178599.56.0e660Float64
4smatrix_maxeig_mem5.45455e652304.08928.06.0e660Float64
5smatrix_mineig0.966667false1.0true3Union{Missing, Bool}
6smatrix_mineig_time7.27273e657027.513473.56.0e660Float64
7smatrix_mineig_mem7.27273e654608.011040.06.0e660Float64
8bmatrix_maxeig0.96false1.0true8Union{Missing, Bool}
9bmatrix_maxeig_time1.63636e663.46208e98.94912e96.0e660Float64
10bmatrix_maxeig_mem1.63636e6664512.02.93513e86.0e660Float64
11bmatrix_mineig0.966667false1.0true3Union{Missing, Bool}
12bmatrix_mineig_time7.27273e657.50671e72.35658e86.0e660Float64
13bmatrix_mineig_mem7.27273e653.20889e75.07813e76.0e660Float64
14hmatrix_maxeig1.0true1.0true5Union{Missing, Bool}
15hmatrix_maxeig_time9.09091e651.26481e73.73706e76.0e660Float64
16hmatrix_mineig6e66true8Union{Missing, String7}
17hmatrix_mineig_time2.54545e662.48473e61.83634e76.0e660Float64
18score0.000.000Int64

Malá (2×22\times2) Float64 matice

Nalezení největšího vlastního čísla.

Správnost hodnoty.

sort!(df, :smatrix_maxeig, rev=true)
df.score += coalesce.(df.smatrix_maxeig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!,[:nickname, :smatrix_maxeig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_maxeig  score  String15   Bool?           Int64 
─────┼──────────────────────────────────
   1 │ Avesior           missing      0
   2 │ Kharnas           missing      0
   3 │ Sumorith          missing      0
   4 │ Kalvotom             true      1
   5 │ Tiharis              true      1
   6 │ Asuras               true      1
   7 │ Khoviar              true      1
   8 │ Offyn                true      1
   9 │ Elleas               true      1
  10 │ Apan                 true      1
  11 │ Rhuqihr              true      1
  12 │ Uwyss                true      1
  13 │ Uhunyll              true      1
  14 │ Ahith                true      1
  15 │ Korass               true      1
  16 │ Isigoris             true      1
  17 │ Gokelis              true      1
  18 │ Ozatosh              true      1
  19 │ Emitrix              true      1
  20 │ Isim                 true      1
  21 │ Ophuqiohn            true      1
  22 │ Terias               true      1
  23 │ Izohr                true      1
  24 │ Uphanneas            true      1
  25 │ Awyn                 true      1
  26 │ Tomorith             true      1
  27 │ Ossaem               true      1
  28 │ Unnemal              true      1
  29 │ Enyll                true      1
  30 │ Aheronin             true      1
  31 │ Thodelis             true      1
  32 │ Khukalis             true      1
  33 │ Eluhion              true      1

Čas.

sort!(df, :smatrix_maxeig_time)
record_rank!(df, :smatrix_maxeig_time)
show(df[!,[:nickname, :smatrix_maxeig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_maxeig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Awyn                 5495.17        2
   2 │ Enyll                5664.0         3
   3 │ Thodelis             5733.5         4
   4 │ Kalvotom             5764.17        5
   5 │ Isigoris             6326.3         6
   6 │ Emitrix              6404.9         7
   7 │ Khoviar              6487.8         8
   8 │ Ahith                7217.25        9
   9 │ Tiharis              7290.25       10
  10 │ Tomorith             7325.0        11
  11 │ Uhunyll              7372.75       12
  12 │ Apan                 7445.75       13
  13 │ Eluhion              7655.5        14
  14 │ Elleas               7690.0        15
  15 │ Asuras               8556.0        16
  16 │ Gokelis              8582.0        17
  17 │ Rhuqihr              8599.5        18
  18 │ Ophuqiohn            9050.83       19
  19 │ Ozatosh              9177.17       20
  20 │ Aheronin             9675.0        21
  21 │ Terias               9973.5        22
  22 │ Unnemal             10080.0        23
  23 │ Uphanneas           10191.0        24
  24 │ Ossaem              10492.5        25
  25 │ Uwyss               11068.0        26
  26 │ Korass              11567.0        27
  27 │ Offyn               11606.5        28
  28 │ Khukalis            11713.0        29
  29 │ Izohr               13185.0        30
  30 │ Isim                14388.0        31
  31 │ Avesior                 6.0e66     31
  32 │ Kharnas                 6.0e66     31
  33 │ Sumorith                6.0e66     31

Paměť.

sort!(df, :smatrix_maxeig_mem)
record_rank!(df, :smatrix_maxeig_mem)
show(df[!,[:nickname, :smatrix_maxeig_mem, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_maxeig_mem  score  String15   Float64             Int64 
─────┼──────────────────────────────────────
   1 │ Enyll               2304.0         4
   2 │ Awyn                2336.0         4
   3 │ Uwyss               5248.0        29
   4 │ Tomorith            6768.0        15
   5 │ Isigoris            7027.0        11
   6 │ Khoviar             7027.0        13
   7 │ Kalvotom            7040.0        11
   8 │ Eluhion             7040.0        20
   9 │ Thodelis            7136.0        11
  10 │ Emitrix             7488.0        15
  11 │ Tiharis             7896.0        19
  12 │ Uhunyll             7920.0        22
  13 │ Rhuqihr             8006.0        29
  14 │ Apan                8152.0        25
  15 │ Ossaem              8160.0        38
  16 │ Elleas              8424.0        29
  17 │ Ophuqiohn           8928.0        34
  18 │ Aheronin            9024.0        37
  19 │ Unnemal             9696.0        40
  20 │ Ahith               9872.0        27
  21 │ Terias              9888.0        41
  22 │ Asuras              9984.0        36
  23 │ Gokelis             9984.0        37
  24 │ Ozatosh            10080.0        41
  25 │ Offyn              10944.0        50
  26 │ Korass             11616.0        50
  27 │ Khukalis           11680.0        53
  28 │ Uphanneas          13824.0        49
  29 │ Izohr              14208.0        56
  30 │ Isim               19072.0        58
  31 │ Avesior                6.0e66     59
  32 │ Kharnas                6.0e66     59
  33 │ Sumorith               6.0e66     59

Nalezení nejmenšího vlastního čísla.

Správnost hodnoty.

sort!(df, :smatrix_mineig, rev=true)
df.score += coalesce.(df.smatrix_mineig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!,[:nickname, :smatrix_mineig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_mineig  score  String15   Bool?           Int64 
─────┼──────────────────────────────────
   1 │ Avesior           missing     59
   2 │ Kharnas           missing     59
   3 │ Sumorith          missing     59
   4 │ Enyll                true      5
   5 │ Awyn                 true      5
   6 │ Uwyss                true     30
   7 │ Tomorith             true     16
   8 │ Isigoris             true     12
   9 │ Khoviar              true     14
  10 │ Kalvotom             true     12
  11 │ Eluhion              true     21
  12 │ Thodelis             true     12
  13 │ Emitrix              true     16
  14 │ Tiharis              true     20
  15 │ Uhunyll              true     23
  16 │ Rhuqihr              true     30
  17 │ Apan                 true     26
  18 │ Ossaem               true     39
  19 │ Elleas               true     30
  20 │ Ophuqiohn            true     35
  21 │ Aheronin             true     38
  22 │ Unnemal              true     41
  23 │ Ahith                true     28
  24 │ Terias               true     42
  25 │ Asuras               true     37
  26 │ Gokelis              true     38
  27 │ Ozatosh              true     42
  28 │ Offyn                true     51
  29 │ Korass               true     51
  30 │ Khukalis             true     54
  31 │ Uphanneas            true     50
  32 │ Izohr                true     57
  33 │ Isim                false     58

Čas.

sort!(df, :smatrix_mineig_time)
record_rank!(df, :smatrix_mineig_time)
show(df[!,[:nickname, :smatrix_mineig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_mineig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Isigoris             7027.5        13
   2 │ Emitrix              7133.25       18
   3 │ Uphanneas            7427.0        53
   4 │ Ahith                7841.0        32
   5 │ Elleas               8129.25       35
   6 │ Eluhion              8242.5        27
   7 │ Apan                 8333.83       33
   8 │ Enyll                8472.5        13
   9 │ Gokelis              9586.0        47
  10 │ Aheronin            10693.0        48
  11 │ Khoviar             11187.5        25
  12 │ Thodelis            11525.0        24
  13 │ Awyn                13003.5        18
  14 │ Korass              13009.0        65
  15 │ Kalvotom            13288.5        27
  16 │ Tiharis             13313.0        36
  17 │ Ossaem              13473.5        56
  18 │ Izohr               13693.0        75
  19 │ Terias              13968.5        61
  20 │ Khukalis            14430.5        74
  21 │ Asuras              14831.5        58
  22 │ Rhuqihr             16110.0        52
  23 │ Uhunyll             16642.0        46
  24 │ Tomorith            16955.0        40
  25 │ Unnemal             19068.0        66
  26 │ Ophuqiohn           20920.0        61
  27 │ Uwyss               23597.5        57
  28 │ Ozatosh             27545.5        70
  29 │ Offyn               30573.5        80
  30 │ Avesior                 6.0e66     89
  31 │ Kharnas                 6.0e66     89
  32 │ Sumorith                6.0e66     89
  33 │ Isim                    6.0e66     88

Paměť.

sort!(df, :smatrix_mineig_mem)
record_rank!(df, :smatrix_mineig_mem)
show(df[!,[:nickname, :smatrix_mineig_mem, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   smatrix_mineig_mem  score  String15   Float64             Int64 
─────┼──────────────────────────────────────
   1 │ Enyll               4608.0        14
   2 │ Khoviar             6672.0        27
   3 │ Kalvotom            6816.0        30
   4 │ Uphanneas           7328.0        57
   5 │ Thodelis            8112.0        29
   6 │ Isigoris            9152.0        19
   7 │ Eluhion             9200.0        34
   8 │ Asuras              9376.0        66
   9 │ Awyn                9696.0        27
  10 │ Tiharis             9792.0        46
  11 │ Emitrix             9824.0        29
  12 │ Rhuqihr            10464.0        64
  13 │ Elleas             10544.0        48
  14 │ Terias             10560.0        75
  15 │ Uhunyll            10560.0        60
  16 │ Apan               10720.0        48
  17 │ Tomorith           11040.0        56
  18 │ Aheronin           11552.0        65
  19 │ Gokelis            11888.0        65
  20 │ Ahith              12208.0        51
  21 │ Unnemal            12928.0        86
  22 │ Ossaem             13584.0        77
  23 │ Korass             14096.0        87
  24 │ Uwyss              14368.0        80
  25 │ Izohr              15600.0        99
  26 │ Ophuqiohn          15760.0        86
  27 │ Khukalis           16784.0       100
  28 │ Ozatosh            19504.0        97
  29 │ Offyn              19984.0       108
  30 │ Avesior                6.0e66    118
  31 │ Kharnas                6.0e66    118
  32 │ Sumorith               6.0e66    118
  33 │ Isim                   6.0e66    117

Větší (1000×10001000\times1000) Float64 matice

Nalezení největšího vlastního čísla.

Správnost hodnoty.

sort!(df, :bmatrix_maxeig, rev=true)
df.score += coalesce.(df.bmatrix_maxeig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!, [:nickname, :bmatrix_maxeig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_maxeig  score  String15   Bool?           Int64 
─────┼──────────────────────────────────
   1 │ Uphanneas         missing     57
   2 │ Elleas            missing     48
   3 │ Unnemal           missing     86
   4 │ Ossaem            missing     77
   5 │ Avesior           missing    118
   6 │ Kharnas           missing    118
   7 │ Sumorith          missing    118
   8 │ Isim              missing    117
   9 │ Enyll                true     15
  10 │ Khoviar              true     28
  11 │ Kalvotom             true     31
  12 │ Thodelis             true     30
  13 │ Isigoris             true     20
  14 │ Eluhion              true     35
  15 │ Asuras               true     67
  16 │ Awyn                 true     28
  17 │ Tiharis              true     47
  18 │ Rhuqihr              true     65
  19 │ Terias               true     76
  20 │ Uhunyll              true     61
  21 │ Apan                 true     49
  22 │ Tomorith             true     57
  23 │ Aheronin             true     66
  24 │ Gokelis              true     66
  25 │ Ahith                true     52
  26 │ Korass               true     88
  27 │ Uwyss                true     81
  28 │ Izohr                true    100
  29 │ Ophuqiohn            true     87
  30 │ Khukalis             true    101
  31 │ Ozatosh              true     98
  32 │ Offyn                true    109
  33 │ Emitrix             false     29

Čas.

sort!(df, :bmatrix_maxeig_time)
record_rank!(df, :bmatrix_maxeig_time)
show(df[!, [:nickname, :bmatrix_maxeig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_maxeig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Khoviar             3.46208e9      29
   2 │ Isigoris            3.75458e9      22
   3 │ Ahith               3.86525e9      55
   4 │ Enyll               3.94058e9      19
   5 │ Kalvotom            4.08562e9      36
   6 │ Tomorith            4.51728e9      63
   7 │ Awyn                5.27075e9      35
   8 │ Thodelis            5.30416e9      38
   9 │ Asuras              6.66736e9      76
  10 │ Uhunyll             7.57468e9      71
  11 │ Eluhion             7.63999e9      46
  12 │ Terias              7.67657e9      88
  13 │ Gokelis             8.29887e9      79
  14 │ Aheronin            8.53144e9      80
  15 │ Ozatosh             8.79659e9     113
  16 │ Rhuqihr             8.87746e9      81
  17 │ Uwyss               8.94912e9      98
  18 │ Korass              9.26891e9     106
  19 │ Apan                9.83741e9      68
  20 │ Tiharis             1.05836e10     67
  21 │ Ophuqiohn           1.17244e10    108
  22 │ Khukalis            1.24822e10    123
  23 │ Offyn               1.26777e10    132
  24 │ Izohr               1.46931e10    124
  25 │ Uphanneas           6.0e66         82
  26 │ Elleas              6.0e66         73
  27 │ Unnemal             6.0e66        111
  28 │ Ossaem              6.0e66        102
  29 │ Avesior             6.0e66        143
  30 │ Kharnas             6.0e66        143
  31 │ Sumorith            6.0e66        143
  32 │ Isim                6.0e66        142
  33 │ Emitrix             6.0e66         54

Paměť.

sort!(df, :bmatrix_maxeig_mem)
record_rank!(df, :bmatrix_maxeig_mem)
show(df[!, [:nickname, :bmatrix_maxeig_mem, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_maxeig_mem  score  String15   Float64             Int64 
─────┼──────────────────────────────────────
   1 │ Enyll           64512.0           20
   2 │ Awyn            64512.0           36
   3 │ Khoviar             1.45378e8     31
   4 │ Rhuqihr             1.71828e8     84
   5 │ Isigoris            1.73795e8     26
   6 │ Uhunyll             1.76086e8     76
   7 │ Eluhion             1.77956e8     52
   8 │ Kalvotom            1.83924e8     43
   9 │ Tiharis             1.85633e8     75
  10 │ Tomorith            1.89246e8     72
  11 │ Ahith               1.9048e8      65
  12 │ Apan                2.07931e8     79
  13 │ Thodelis            2.23002e8     50
  14 │ Asuras              2.51919e8     89
  15 │ Uwyss               2.81111e8    112
  16 │ Korass              2.88562e8    121
  17 │ Terias              2.93513e8    104
  18 │ Gokelis             3.034e8       96
  19 │ Ozatosh             3.10303e8    131
  20 │ Aheronin            3.10932e8     99
  21 │ Ophuqiohn           3.26447e8    128
  22 │ Offyn               4.11667e8    153
  23 │ Khukalis            4.26344e8    145
  24 │ Izohr               6.53684e8    147
  25 │ Uphanneas           6.0e66       106
  26 │ Elleas              6.0e66        97
  27 │ Unnemal             6.0e66       135
  28 │ Ossaem              6.0e66       126
  29 │ Avesior             6.0e66       167
  30 │ Kharnas             6.0e66       167
  31 │ Sumorith            6.0e66       167
  32 │ Isim                6.0e66       166
  33 │ Emitrix             6.0e66        78

Nalezení nejmenšího vlastního čísla.

Správnost hodnoty.

sort!(df, :bmatrix_mineig, rev=true)
df.score += coalesce.(df.bmatrix_mineig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!, [:nickname, :bmatrix_mineig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_mineig  score  String15   Bool?           Int64 
─────┼──────────────────────────────────
   1 │ Avesior           missing    167
   2 │ Kharnas           missing    167
   3 │ Sumorith          missing    167
   4 │ Enyll                true     21
   5 │ Awyn                 true     37
   6 │ Khoviar              true     32
   7 │ Rhuqihr              true     85
   8 │ Isigoris             true     27
   9 │ Uhunyll              true     77
  10 │ Eluhion              true     53
  11 │ Kalvotom             true     44
  12 │ Tiharis              true     76
  13 │ Tomorith             true     73
  14 │ Ahith                true     66
  15 │ Apan                 true     80
  16 │ Thodelis             true     51
  17 │ Asuras               true     90
  18 │ Uwyss                true    113
  19 │ Korass               true    122
  20 │ Terias               true    105
  21 │ Gokelis              true     97
  22 │ Ozatosh              true    132
  23 │ Aheronin             true    100
  24 │ Ophuqiohn            true    129
  25 │ Offyn                true    154
  26 │ Khukalis             true    146
  27 │ Izohr                true    148
  28 │ Uphanneas            true    107
  29 │ Elleas               true     98
  30 │ Unnemal              true    136
  31 │ Ossaem               true    127
  32 │ Emitrix              true     79
  33 │ Isim                false    166

Čas.

sort!(df, :bmatrix_mineig_time)
record_rank!(df, :bmatrix_mineig_time)
show(df[!,[:nickname, :bmatrix_mineig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_mineig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Enyll                7.50671e7     22
   2 │ Khoviar              7.54539e7     34
   3 │ Thodelis             7.55425e7     54
   4 │ Tiharis              8.56001e7     80
   5 │ Unnemal              1.04145e8    141
   6 │ Uhunyll              1.41482e8     83
   7 │ Terias               1.46886e8    112
   8 │ Asuras               1.62744e8     98
   9 │ Awyn                 1.6351e8      46
  10 │ Emitrix              1.65604e8     89
  11 │ Isigoris             1.68481e8     38
  12 │ Eluhion              1.69727e8     65
  13 │ Ahith                1.71792e8     79
  14 │ Apan                 1.79232e8     94
  15 │ Aheronin             1.82079e8    115
  16 │ Elleas               2.32683e8    114
  17 │ Izohr                2.35658e8    165
  18 │ Korass               2.3941e8     140
  19 │ Gokelis              2.50561e8    116
  20 │ Rhuqihr              7.28488e8    105
  21 │ Tomorith             7.41822e8     94
  22 │ Khukalis             7.99851e8    168
  23 │ Ossaem               8.2739e8     150
  24 │ Kalvotom             8.46188e8     68
  25 │ Ozatosh              9.35691e8    157
  26 │ Uwyss                9.49289e8    139
  27 │ Offyn                1.04213e9    181
  28 │ Ophuqiohn            1.13603e9    157
  29 │ Uphanneas            2.38447e9    136
  30 │ Avesior              6.0e66       197
  31 │ Kharnas              6.0e66       197
  32 │ Sumorith             6.0e66       197
  33 │ Isim                 6.0e66       196

Paměť.

sort!(df, :bmatrix_mineig_mem)
record_rank!(df, :bmatrix_mineig_mem)
show(df[!, [:nickname, :bmatrix_mineig_mem, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   bmatrix_mineig_mem  score  String15   Float64             Int64 
─────┼──────────────────────────────────────
   1 │ Enyll               3.20889e7     23
   2 │ Khoviar             3.22663e7     36
   3 │ Thodelis            3.22985e7     57
   4 │ Tiharis             3.23803e7     84
   5 │ Unnemal             3.25746e7    146
   6 │ Emitrix             3.31614e7     95
   7 │ Eluhion             3.32582e7     72
   8 │ Apan                3.33065e7    102
   9 │ Isigoris            3.33227e7     47
  10 │ Rhuqihr             3.35152e7    115
  11 │ Aheronin            3.35807e7    126
  12 │ Ahith               3.35889e7     91
  13 │ Tomorith            3.387e7      107
  14 │ Asuras              4.8726e7     112
  15 │ Izohr               4.9734e7     180
  16 │ Uphanneas           5.03208e7    152
  17 │ Khukalis            5.07813e7    185
  18 │ Uhunyll             6.43229e7    101
  19 │ Terias              6.43713e7    131
  20 │ Awyn                6.46616e7     66
  21 │ Elleas              6.52986e7    135
  22 │ Korass              6.54922e7    162
  23 │ Gokelis             6.56857e7    139
  24 │ Ossaem              6.6862e7     174
  25 │ Ophuqiohn           1.45727e8    182
  26 │ Ozatosh             2.72526e8    183
  27 │ Offyn               2.88736e8    208
  28 │ Kalvotom            3.52925e8     96
  29 │ Uwyss               4.49002e8    168
  30 │ Avesior             6.0e66       227
  31 │ Kharnas             6.0e66       227
  32 │ Sumorith            6.0e66       227
  33 │ Isim                6.0e66       226

Hilbertova 21×2121\times21 BigFloat matice

Nalezení největšího vlastního čísla.

Správnost hodnoty.

sort!(df, :hmatrix_maxeig, rev=true)
df.score += coalesce.(df.hmatrix_maxeig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!,[:nickname, :hmatrix_maxeig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   hmatrix_maxeig  score  String15   Bool?           Int64 
─────┼──────────────────────────────────
   1 │ Ossaem            missing    174
   2 │ Uwyss             missing    168
   3 │ Avesior           missing    227
   4 │ Kharnas           missing    227
   5 │ Sumorith          missing    227
   6 │ Enyll                true     24
   7 │ Khoviar              true     37
   8 │ Thodelis             true     58
   9 │ Tiharis              true     85
  10 │ Unnemal              true    147
  11 │ Emitrix              true     96
  12 │ Eluhion              true     73
  13 │ Apan                 true    103
  14 │ Isigoris             true     48
  15 │ Rhuqihr              true    116
  16 │ Aheronin             true    127
  17 │ Ahith                true     92
  18 │ Tomorith             true    108
  19 │ Asuras               true    113
  20 │ Izohr                true    181
  21 │ Uphanneas            true    153
  22 │ Khukalis             true    186
  23 │ Uhunyll              true    102
  24 │ Terias               true    132
  25 │ Awyn                 true     67
  26 │ Elleas               true    136
  27 │ Korass               true    163
  28 │ Gokelis              true    140
  29 │ Ophuqiohn            true    183
  30 │ Ozatosh              true    184
  31 │ Offyn                true    209
  32 │ Kalvotom             true     97
  33 │ Isim                 true    227

Čas.

sort!(df, :hmatrix_maxeig_time)
record_rank!(df, :hmatrix_maxeig_time)
show(df[!,[:nickname, :hmatrix_maxeig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   hmatrix_maxeig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Emitrix              1.26481e7     97
   2 │ Ahith                1.33531e7     94
   3 │ Thodelis             1.72484e7     61
   4 │ Kalvotom             1.74691e7    101
   5 │ Awyn                 1.82256e7     72
   6 │ Enyll                1.82853e7     30
   7 │ Tomorith             1.83886e7    115
   8 │ Isigoris             1.86807e7     56
   9 │ Khoviar              1.87323e7     46
  10 │ Uphanneas            2.56851e7    163
  11 │ Eluhion              3.01593e7     84
  12 │ Asuras               3.60945e7    125
  13 │ Gokelis              3.68504e7    153
  14 │ Aheronin             3.69081e7    141
  15 │ Ozatosh              3.70009e7    199
  16 │ Tiharis              3.73096e7    101
  17 │ Rhuqihr              3.73706e7    133
  18 │ Unnemal              3.74682e7    165
  19 │ Uhunyll              3.77716e7    121
  20 │ Elleas               3.8155e7     156
  21 │ Apan                 3.98982e7    124
  22 │ Terias               4.42143e7    154
  23 │ Ophuqiohn            4.59375e7    206
  24 │ Khukalis             5.07495e7    210
  25 │ Offyn                5.08835e7    234
  26 │ Korass               5.13189e7    189
  27 │ Izohr                5.71287e7    208
  28 │ Isim                 1.60037e9    255
  29 │ Ossaem               6.0e66       203
  30 │ Uwyss                6.0e66       197
  31 │ Avesior              6.0e66       256
  32 │ Kharnas              6.0e66       256
  33 │ Sumorith             6.0e66       256

Nalezení nejmenšího vlastního čísla.

Správnost hodnoty.

sort!(df, :hmatrix_mineig, rev=true)
df.score += coalesce.(df.hmatrix_mineig .== true, false) # zde pouze přičteme bod těm s true hodnotou
show(df[!,[:nickname, :hmatrix_mineig, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   hmatrix_mineig  score  String15   String7?        Int64 
─────┼──────────────────────────────────
   1 │ Tomorith   missing           115
   2 │ Isigoris   missing            56
   3 │ Uphanneas  missing           163
   4 │ Rhuqihr    missing           133
   5 │ Uhunyll    missing           121
   6 │ Elleas     missing           156
   7 │ Ophuqiohn  missing           206
   8 │ Khukalis   missing           210
   9 │ Emitrix    true               97
  10 │ Ahith      true               94
  11 │ Thodelis   true               61
  12 │ Kalvotom   true              101
  13 │ Awyn       true               72
  14 │ Enyll      true               30
  15 │ Khoviar    true               46
  16 │ Eluhion    true               84
  17 │ Asuras     true              125
  18 │ Gokelis    true              153
  19 │ Aheronin   true              141
  20 │ Ozatosh    true              199
  21 │ Tiharis    true              101
  22 │ Unnemal    true              165
  23 │ Apan       true              124
  24 │ Terias     true              154
  25 │ Offyn      true              234
  26 │ Korass     true              189
  27 │ Izohr      true              208
  28 │ Isim       false             255
  29 │ Ossaem     6e66              203
  30 │ Uwyss      6e66              197
  31 │ Avesior    6e66              256
  32 │ Kharnas    6e66              256
  33 │ Sumorith   6e66              256

Čas.

sort!(df, :hmatrix_mineig_time)
record_rank!(df, :hmatrix_mineig_time)
show(df[!,[:nickname, :hmatrix_mineig_time, :score]], allrows=true)
33×3 DataFrame
 Row  nickname   hmatrix_mineig_time  score  String15   Float64              Int64 
─────┼───────────────────────────────────────
   1 │ Enyll                2.48473e6     31
   2 │ Tiharis              3.41007e6    103
   3 │ Awyn                 4.63034e6     75
   4 │ Thodelis             5.03569e6     65
   5 │ Asuras               5.06617e6    130
   6 │ Terias               5.62852e6    160
   7 │ Kalvotom             7.03102e6    108
   8 │ Khoviar              8.31265e6     54
   9 │ Gokelis              8.56779e6    162
  10 │ Korass               8.82302e6    199
  11 │ Ahith                1.05866e7    105
  12 │ Emitrix              1.09393e7    109
  13 │ Unnemal              1.20089e7    178
  14 │ Aheronin             1.28933e7    155
  15 │ Apan                 1.40141e7    139
  16 │ Offyn                1.44824e7    250
  17 │ Eluhion              1.83634e7    101
  18 │ Izohr                3.01795e7    226
  19 │ Ozatosh              4.15661e7    218
  20 │ Tomorith             6.0e66       135
  21 │ Isigoris             6.0e66        76
  22 │ Uphanneas            6.0e66       183
  23 │ Rhuqihr              6.0e66       153
  24 │ Uhunyll              6.0e66       141
  25 │ Elleas               6.0e66       176
  26 │ Ophuqiohn            6.0e66       226
  27 │ Khukalis             6.0e66       230
  28 │ Isim                 6.0e66       275
  29 │ Ossaem               6.0e66       223
  30 │ Uwyss                6.0e66       217
  31 │ Avesior              6.0e66       276
  32 │ Kharnas              6.0e66       276
  33 │ Sumorith             6.0e66       276

Závěrečná tabulka

sort!(df, :score)
show(df[!, [:nickname, :score]], allrows=true)
33×2 DataFrame
 Row  nickname   score  String15   Int64 
─────┼──────────────────
   1 │ Enyll         31
   2 │ Khoviar       54
   3 │ Thodelis      65
   4 │ Awyn          75
   5 │ Isigoris      76
   6 │ Eluhion      101
   7 │ Tiharis      103
   8 │ Ahith        105
   9 │ Kalvotom     108
  10 │ Emitrix      109
  11 │ Asuras       130
  12 │ Tomorith     135
  13 │ Apan         139
  14 │ Uhunyll      141
  15 │ Rhuqihr      153
  16 │ Aheronin     155
  17 │ Terias       160
  18 │ Gokelis      162
  19 │ Elleas       176
  20 │ Unnemal      178
  21 │ Uphanneas    183
  22 │ Korass       199
  23 │ Uwyss        217
  24 │ Ozatosh      218
  25 │ Ossaem       223
  26 │ Izohr        226
  27 │ Ophuqiohn    226
  28 │ Khukalis     230
  29 │ Offyn        250
  30 │ Isim         275
  31 │ Avesior      276
  32 │ Kharnas      276
  33 │ Sumorith     276