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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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