MCPcopy Create free account
hub / github.com/EdwardRaff/JSAT / multiplyTranspose

Method multiplyTranspose

JSAT/src/jsat/linear/GenericMatrix.java:179–202  ·  view source on GitHub ↗
(Matrix b, Matrix C)

Source from the content-addressed store, hash-verified

177 }
178
179 @Override
180 public void multiplyTranspose(Matrix b, Matrix C)
181 {
182 if(this.cols() != b.cols())
183 throw new ArithmeticException("Matrix dimensions do not agree");
184 else if (this.rows() != C.rows() || b.rows() != C.cols())
185 throw new ArithmeticException("Target Matrix is no the correct size");
186
187 final int iLimit = this.rows();
188 final int jLimit = b.rows();
189 final int kLimit = this.cols();
190
191 for (int i0 = 0; i0 < iLimit; i0 += NB2)
192 for (int j0 = 0; j0 < jLimit; j0 += NB2)
193 for (int k0 = 0; k0 < kLimit; k0 += NB2)
194 for (int i = i0; i < min(i0 + NB2, iLimit); i++)
195 for (int j = j0; j < min(j0 + NB2, jLimit); j++)
196 {
197 double C_ij = 0;
198 for (int k = k0; k < min(k0 + NB2, kLimit); k++)
199 C_ij += this.get(i, k) * b.get(j, k);
200 C.increment(i, j, C_ij);
201 }
202 }
203
204 @Override
205 public void multiplyTranspose(final Matrix b, final Matrix C, ExecutorService threadPool)

Callers

nothing calls this directly

Calls 10

submitMethod · 0.80
logMethod · 0.80
getNameMethod · 0.65
colsMethod · 0.45
rowsMethod · 0.45
minMethod · 0.45
getMethod · 0.45
incrementMethod · 0.45
maxMethod · 0.45
awaitMethod · 0.45

Tested by

no test coverage detected