UNPKG

3.3 kBtext/coffeescriptView Raw
1
2
3# quick and dirty way to run a few tests
4
5run_test [
6
7 "1+1",
8 "2",
9
10]
11
12test_dependencies()
13
14
15run_test [
16
17 # Note that we are using the
18 # standard commutative multiplication here,
19 # not the dot product.
20 # So, one of the two arguments should
21 # be a scalar, but we don't know
22 # which one, so we have to transpose
23 # both. Note that we
24 # don't invert the order because
25 # we know it's a normal
26 # multiplication.
27 "transpose(A)*transpose(x)",
28 "transpose(A)*transpose(x)",
29
30]
31
32run_test [
33
34 "pattern(dot(transpose(a_),a_), cov(a_))",
35 "",
36
37 "pattern(dot(a_,transpose(a_)), cov(a_))",
38 "",
39
40 #"pattern(cov(transpose(a_)), cov(a_))",
41 #"",
42
43 "simplify(1 + eig(dot(transpose(A+B),B+transpose(transpose(A)))))",
44 "1+eig(cov(A+B))",
45
46 "simplify(1 + eig(dot(x*transpose(transpose(A)), transpose(x*A))))",
47 "1+eig(cov(transpose(A)*transpose(x)))",
48
49 # ideally this but we need to make simplifications work better
50 # "1+eig(cov(A*x))",
51
52 "simplify(1 + eig(dot(x*transpose(transpose(A)), transpose(A*x))))",
53 "1+eig(cov(transpose(A)*transpose(x)))",
54
55 "simplify(1 + eig(dot(x*Aᵀᵀ, (A*x)ᵀ)))",
56 "1+eig(cov(transpose(A)*transpose(x)))",
57
58 # ideally this but we need to make simplifications work better
59 # "1+eig(cov(A*x))",
60
61 "clearsubstrules()",
62 "",
63
64]
65
66## ---------------------------------------------------------
67
68run_test [
69
70 "simplify(integral(1/(X-A)/sqrt(X^2-A^2),X)+sqrt(X^2-A^2)/A/(X-A))",
71 "0",
72
73]
74
75
76
77
78run_test [
79
80 "pattern(dot(transpose(a_),a_), cov(a_))",
81 "",
82
83 "simplify(integral(1/(X-A)/sqrt(X^2-A^2),X)+sqrt(X^2-A^2)/A/(X-A))",
84 "0",
85
86]
87
88run_test [
89
90 "simplify(eig(dot(transpose(A+B),B+transpose(transpose(A)))))",
91 "eig(cov(A+B))",
92
93 "simplify(eig(dot(x*transpose(transpose(A)), transpose(A*x))))",
94 "eig(cov(transpose(A)*transpose(x)))",
95
96 "simplify(eig(dot(x*transpose(transpose(A)), transpose(x*A))))",
97 "eig(cov(transpose(A)*transpose(x)))",
98
99]
100
101run_test [
102
103 "pattern(dot(a_,transpose(a_)), cov(a_))",
104 "",
105
106 "simplify(eig(dot(transpose(A+B),B+transpose(transpose(A)))))",
107 "eig(cov(A+B))",
108
109 "simplify(eig(dot(x*transpose(transpose(A)), transpose(x*A))))",
110 "eig(cov(transpose(A)*transpose(x)))",
111
112 "simplify(eig(dot(x*transpose(transpose(A)), transpose(A*x))))",
113 "eig(cov(transpose(A)*transpose(x)))",
114
115 "clearsubstrules()",
116 "",
117
118]
119
120
121run_test [
122
123 "simplify(eig(dot(transpose(A+B),B+transpose(transpose(A)))))",
124 "eig(inner(transpose(A),A)+inner(transpose(A),B)+inner(transpose(B),A)+inner(transpose(B),B))",
125
126]
127
128
129run_test [
130
131 "pattern(dot(transpose(a_),a_), cov(a_), not(number(a_)))",
132 "",
133
134 "pattern(dot(transpose(a_),a_), cov(a_), number(a_),a_>0 )",
135 "",
136
137 "simplify(eig(dot(transpose(3),transpose(transpose(3)))))",
138 "eig(9)",
139
140 "simplify(eig(dot(transpose(-3),transpose(transpose(-3)))))",
141 "eig(9)",
142
143 "simplify(eig(dot(transpose(-x),transpose(transpose(-x)))))",
144 "eig(cov(-x))",
145
146 "clearsubstrules()",
147 "",
148
149]
150
151run_test [
152
153 "pattern(something(a_,b_),b_*somethingElse(a_))",
154 "",
155
156 "simplify(something(x,y))",
157 "somethingElse(x)*y",
158
159 "clearsubstrules()",
160 "",
161
162]
163
164run_test [
165
166 "pattern(something(a_,b_),b_*somethingElse(a_))",
167 "",
168
169 "indirection(h,k) = something(h,k)",
170 "",
171
172 "simplify(indirection(x,y))",
173 "somethingElse(x)*y",
174
175 "clearsubstrules()",
176 "",
177
178]
179
180
181
182# alert "passed tests: " + ok_tests + " / failed tests: " + ko_tests