Mercurial > repos > public > sbplib
annotate +blockmatrix/zero.m @ 1172:9dd10dcff128 feature/rv
Dont return penalty terms from operators on coarse grid. One can use the penalty terms constructed for the fine grid
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 28 Jun 2019 13:22:03 +0200 |
parents | a5f1b0267dba |
children |
rev | line source |
---|---|
207
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Creates a block matrix according to the division with zeros everywhere. |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 function bm = zero(div) |
579
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
214
diff
changeset
|
3 if ~blockmatrix.isDivision(div) |
214
f0f4ca946068
blockmatrix: added a test to make sure a zero matrix is a blockmatrix. Also added input parameter checking to zero()
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
4 error('div is not a valid division'); |
f0f4ca946068
blockmatrix: added a test to make sure a zero matrix is a blockmatrix. Also added input parameter checking to zero()
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
5 end |
f0f4ca946068
blockmatrix: added a test to make sure a zero matrix is a blockmatrix. Also added input parameter checking to zero()
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
6 |
207
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 n = div{1}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 m = div{2}; |
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 N = length(n); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 M = length(m); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 bm = cell(N,M); |
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 for i = 1:N |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 for j = 1:M |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 bm{i,j} = sparse(n(i),m(j)); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 end |