Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
2188 views
1
2
def determinant(m):
3
return m.determinant()
4
5
def nullity(m):
6
return m.nullity()
7
8
def rank(m):
9
return m.rank()
10
11
def trace(m):
12
return m.trace()
13
14
def nrows(m):
15
return m.nrows()
16
17
def permanent(m):
18
return m.permanent()
19
20
def maximum_eigenvalue(m):
21
return float(max(m.eigenvalues()))
22
23
def minimum_eigenvalue(m):
24
return float(min(m.eigenvalues()))
25
26
def average_eigenvalue(m):
27
evs = m.eigenvalues()
28
return float(sum(evs)/len(evs))
29
30
def number_of_distinct_eigenvalues(m):
31
return len(set(m.eigenvalues()))
32
33
def spectral_radius(m):
34
return float(max(abs(e) for e in m.eigenvalues()))
35
36
def frobenius_norm(m):
37
return sqrt(sum(e*e for e in m.list()))
38
39
def l2_norm(m):
40
return sqrt(sum(abs(e) for e in m.list()))
41
42
def l_inf_norm(m):
43
return max(abs(e) for e in m.list())
44
45
def max_column_sum(m):
46
return max(sum(c) for c in m.columns())
47
48
def ratio_min_max_absolute_eigenvalues(m):
49
aevs = [abs(ev) for ev in m.eigenvalues()]
50
Maevs = max(aevs)
51
maevs = min(aevs)
52
return float(Maevs/maevs) if maevs != 0 else float('inf')
53
54
def separator(m):
55
sevs = sorted(m.eigenvalues())
56
return float(sevs[-1] - sevs[-2])
57
58
59
invariants = [determinant, nullity, rank, trace, nrows, permanent,
60
maximum_eigenvalue, minimum_eigenvalue, average_eigenvalue,
61
number_of_distinct_eigenvalues, spectral_radius,
62
frobenius_norm, l2_norm, l_inf_norm, max_column_sum,
63
ratio_min_max_absolute_eigenvalues, separator]
64
65
66