-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsparsepredicates.tst
More file actions
78 lines (62 loc) · 1.6 KB
/
Copy pathsparsepredicates.tst
File metadata and controls
78 lines (62 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
m := mat((a,b),(c,d));
s := sparsify m;
sparse_matrix_p m;
sparse_matrix_p s;
sparse_square_matrix_p s;
% Symmetric, etc.:
sparse_symmetric_matrix_p s;
ss := s + sparse_tp s;
sparse_symmetric_matrix_p ss;
sas := s - sparse_tp s;
sparse_skew_symmetric_matrix_p sas;
m := mat((1+i,2),(3i,4+i));
s := sparsify m;
sh := s + conj sparse_tp s;
sparse_hermitian_matrix_p sh;
sah := s - conj sparse_tp s;
sparse_skew_hermitian_matrix_p sah;
m := mat((a,b),(c,d));
% Diagonal and triangular:
sd := sparsify mat((a,0,0),(0,b,0),(0,0,c));
su := sparsify mat((a,b,c),(0,d,e),(0,0,f));
sl := sparse_tp su;
sparse_diagonal_matrix_p sd;
sparse_upper_triangular_matrix_p sd;
sparse_lower_triangular_matrix_p sd;
sparse_diagonal_matrix_p su;
sparse_upper_triangular_matrix_p su;
sparse_lower_triangular_matrix_p su;
sparse_diagonal_matrix_p sl;
sparse_upper_triangular_matrix_p sl;
sparse_lower_triangular_matrix_p sl;
% Lipshutz
sparse_matrix so(3,3);
so(1,1) := so(3,2) := 1/9$
so(1,2) := so(3,1) := 8/9$
so(1,3) := so(2,2) := -4/9$
so(2,1) := so(3,3) := 4/9$
so(2,3) := -7/9$
so;
so * sparse_tp so;
sparse_identity_matrix_p ws;
sparse_orthogonal_matrix_p so;
sparse_matrix so(2,2);
so(1,1) := so(2,2) := cos theta$
so(2,1) := -(so(1,2) := sin theta)$
so;
for all th let (cos th)^2 + (sin th)^2 => 1;
so * sparse_tp so;
sparse_identity_matrix_p ws;
sparse_orthogonal_matrix_p so;
so(2,1) := -so(2,1)$
so(2,2) := -so(2,2)$
so;
sparse_orthogonal_matrix_p so;
sparse_matrix su(3,3);
su(1,1) := su(2,2) := 1$
su(1,2) := -(su(2,1) := i)$
su(1,3) := su(3,2) := -1 + i$
su(2,3) := su(3,1) := 1 + i$
su := su/2;
sparse_unitary_matrix_p su;
;end;