annotate +blockmatrix/zeroTest.m @ 1210:5e7692ed7c7c feature/laplace_curvilinear_test

Add CG interface coupling
author Martin Almquist <malmquist@stanford.edu>
date Sun, 22 Sep 2019 19:05:17 -0700
parents a5f1b0267dba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = zeroTest()
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testZero(testCase)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 cases = {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 {[],[]},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 {},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 {0,0},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 {[]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 {1,1},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 {0};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 {2,1},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 {[0; 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 {1,2},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 {[0 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 {[1 2],2},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 {[0 0];[0 0; 0 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 {[1 2],[2 1]},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 {[0 0],[0];[0 0; 0 0],[0; 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 },
579
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
35 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
36 {[3],[0]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
37 {zeros(3,0)},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
38 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
39
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
40 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
41 {[0],[3]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
42 {zeros(0,3)},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
43 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
44 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
45 {[0 2],[0 3]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
46 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
47 zeros(0,0), zeros(0,3);
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
48 zeros(2,0), zeros(2,3);
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
49 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
50 },
207
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 };
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 for i = 1:length(cases)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 out = convertToFull(blockmatrix.zero(cases{i}{1}));
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 expected = cases{i}{2};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 testCase.verifyEqual(out,expected);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 function C = convertToFull(C)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 [N,M] = size(C);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 for i = 1:N
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 for j = 1:M
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 C{i,j} = full(C{i,j});
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68 end