Mercurial > repos > public > sbplib
annotate +blockmatrix/multiplyTest.m @ 1198:2924b3a9b921 feature/d2_compatible
Add OpSet for fully compatible D2Variable, created from regular D2Variable by replacing d1 by first row of D1. Formal reduction by one order of accuracy at the boundary point.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Fri, 16 Aug 2019 14:30:28 -0700 |
parents | 288138d9586d |
children |
rev | line source |
---|---|
388
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function tests = multiplyTest() |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 function testMultiply(testCase) |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 a11 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 0.8147 0.1270; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 0.9058 0.9134; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 a12 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 0.6324 0.2785 0.9575; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 0.0975 0.5469 0.9649; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 a21 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 0.1576 0.9706; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 a22 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 0.9572 0.4854 0.8003; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 A = { |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 a11 a12; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 a21 a22; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 }; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 b11 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 0.1419 0.9157 0.9595; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 0.4218 0.7922 0.6557; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 b12 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 0.0357 0.9340; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 0.8491 0.6787; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 b21 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 0.7577 0.6555 0.0318; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 0.7431 0.1712 0.2769; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 0.3922 0.7060 0.0462; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 b22 = [ |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 0.0971 0.3171; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 0.8235 0.9502; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 0.6948 0.0344; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 ]; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 B = { |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 b11 b12; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 b21 b22; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 }; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 C = { |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 a11*b11 + a12*b21, a11*b12 + a12*b22; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 a21*b11 + a22*b21, a21*b12 + a22*b22; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 }; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 testCase.verifyEqual(blockmatrix.multiply(A,B), C); |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 end |