Skip to content

Commit 9f7f3d3

Browse files
Anton Leykind-torrance
authored andcommitted
moved tests for eigenvectors to a separate file
1 parent c945d4f commit 9f7f3d3

File tree

2 files changed

+51
-51
lines changed

2 files changed

+51
-51
lines changed

M2/Macaulay2/tests/normal/000-core.m2

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1389,57 +1389,6 @@ assert ( genera R == {1,2} )
13891389
assert ( eulers R == {0,3} )
13901390

13911391

1392-
--
1393-
M = matrix{{1.0,1.0},{0.0,1.0}}
1394-
eigenvalues M
1395-
eigenvectors M
1396-
1397-
M0 = matrix{{1_RR,-1},{1,1}};
1398-
M = M0++M0;
1399-
(D, P) = eigenvectors M
1400-
assert( 1e-10 > norm(M*P - P * diagonalMatrix(D)))
1401-
1402-
M = matrix{{1.0, 2.0}, {2.0, 1.0}}
1403-
eigenvectors(M, Hermitian=>true)
1404-
1405-
M = matrix{{1.0, 2.0}, {5.0, 7.0}}
1406-
(eigvals, eigvecs) = eigenvectors M
1407-
-- here we use "norm" on vectors!
1408-
assert( 1e-10 > norm ( M * eigvecs_0 - eigvals_0 * eigvecs_0 ) )
1409-
assert( 1e-10 > norm ( M * eigvecs_1 - eigvals_1 * eigvecs_1 ) )
1410-
1411-
printingPrecision = 2
1412-
1413-
m = map(CC^10, CC^10, (i,j) -> i^2 + j^3*ii)
1414-
(eigvals, eigvecs) = eigenvectors m
1415-
max (abs \ eigvals) / min (abs \ eigvals)
1416-
scan(#eigvals, i -> assert( 1e-10 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
1417-
1418-
-- some ill-conditioned matrices
1419-
1420-
m = map(CC^10, CC^10, (i,j) -> (i+1)^(j+1))
1421-
(eigvals, eigvecs) = eigenvectors m
1422-
max (abs \ eigvals) / min (abs \ eigvals)
1423-
apply(#eigvals, i -> norm ( m * eigvecs_i - eigvals_i * eigvecs_i ))
1424-
scan(#eigvals, i -> assert( 1e-4 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
1425-
1426-
m = map(RR^10, RR^10, (i,j) -> (i+1)^(j+1))
1427-
(eigvals, eigvecs) = eigenvectors m
1428-
max (abs \ eigvals) / min (abs \ eigvals)
1429-
apply(#eigvals, i -> norm ( m * eigvecs_i - eigvals_i * eigvecs_i ))
1430-
scan(#eigvals, i -> assert( 1e-4 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
1431-
1432-
1433-
1434-
--
1435-
m = map(CC^10, CC^10, (i,j) -> i^2 + j^3*ii)
1436-
eigenvalues m
1437-
m = map(CC^10, CC^10, (i,j) -> (i+1)^(j+1))
1438-
eigenvalues m
1439-
m = map(RR^10, RR^10, (i,j) -> (i+1)^(j+1))
1440-
eigenvalues m
1441-
1442-
14431392
--
14441393
R=ZZ/101[a..d]
14451394
C=resolution cokernel vars R
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--
2+
M = matrix{{1.0,1.0},{0.0,1.0}}
3+
eigenvalues M
4+
eigenvectors M
5+
6+
M0 = matrix{{1_RR,-1},{1,1}};
7+
M = M0++M0;
8+
(D, P) = eigenvectors M
9+
assert( 1e-10 > norm(M*P - P * diagonalMatrix(D)))
10+
11+
M = matrix{{1.0, 2.0}, {2.0, 1.0}}
12+
eigenvectors(M, Hermitian=>true)
13+
14+
M = matrix{{1.0, 2.0}, {5.0, 7.0}}
15+
(eigvals, eigvecs) = eigenvectors M
16+
-- here we use "norm" on vectors!
17+
assert( 1e-10 > norm ( M * eigvecs_0 - eigvals_0 * eigvecs_0 ) )
18+
assert( 1e-10 > norm ( M * eigvecs_1 - eigvals_1 * eigvecs_1 ) )
19+
20+
printingPrecision = 2
21+
22+
m = map(CC^10, CC^10, (i,j) -> i^2 + j^3*ii)
23+
(eigvals, eigvecs) = eigenvectors m
24+
max (abs \ eigvals) / min (abs \ eigvals)
25+
scan(#eigvals, i -> assert( 1e-10 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
26+
27+
-- some ill-conditioned matrices
28+
29+
m = map(CC^10, CC^10, (i,j) -> (i+1)^(j+1))
30+
(eigvals, eigvecs) = eigenvectors m
31+
max (abs \ eigvals) / min (abs \ eigvals)
32+
apply(#eigvals, i -> norm ( m * eigvecs_i - eigvals_i * eigvecs_i ))
33+
scan(#eigvals, i -> assert( 1e-4 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
34+
35+
m = map(RR^10, RR^10, (i,j) -> (i+1)^(j+1))
36+
(eigvals, eigvecs) = eigenvectors m
37+
max (abs \ eigvals) / min (abs \ eigvals)
38+
apply(#eigvals, i -> norm ( m * eigvecs_i - eigvals_i * eigvecs_i ))
39+
scan(#eigvals, i -> assert( 1e-4 > norm ( m * eigvecs_i - eigvals_i * eigvecs_i )))
40+
41+
42+
43+
--
44+
m = map(CC^10, CC^10, (i,j) -> i^2 + j^3*ii)
45+
eigenvalues m
46+
m = map(CC^10, CC^10, (i,j) -> (i+1)^(j+1))
47+
eigenvalues m
48+
m = map(RR^10, RR^10, (i,j) -> (i+1)^(j+1))
49+
eigenvalues m
50+
51+

0 commit comments

Comments
 (0)