Mercurial > repos > public > sbplib
annotate +blockmatrix/multiply.m @ 1223:9fddc8749445 rv_diffOp_test
Closing branch
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 05 Aug 2019 10:48:37 +0200 |
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 |