Mercurial > repos > public > sbplib
annotate +blockmatrix/multiplyTest.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
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 |