Mercurial > repos > public > sbplib
annotate +blockmatrix/multiply.m @ 1320:cd0bfcaef0ba feature/poroelastic
Add some interface forcing penalties in ViscoElastic2d
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 28 Jul 2020 21:59:41 -0700 |
parents | 288138d9586d |
children |
rev | line source |
---|---|
388
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function C = multiply(A, B) |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 [n_a, m_a] = size(A); |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 [n_b, m_b] = size(B); |
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 assert(m_a == n_b, 'Dimensions do not agree.') |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 C = cell(n_a, m_b); |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 for i = 1:n_a |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 for j = 1:m_b |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 C{i,j} = sparse(size(A{i,1},1), size(B{1,j},2)); |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 for k = 1:n_b |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 C{i,j} = C{i,j} + A{i,k}*B{k,j}; |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 end |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 end |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 end |
288138d9586d
Add function to multiply blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 end |