/** * matrix multiplication. all matrices are stored in standard row format. * the digit refers to the argument that is transposed: <br> * 0: A = B * C (sizes: A:p*r B:p*q C:q*r) <br> * 1: A = B' * C (sizes: A:p*r B:q*p C:q*r) <br> * 2: A = B * C' (sizes: A:p*r B:p*q C:r*q) <br> * case 1,2 are equivalent to saying that the operation is A=B*C but B or C * are stored in standard column format. * <p> * This method is equivalent to dMultiply2(A, B, C, 3, 3, 3). * @param A A * @param B B * @param C C */ public static void dMultiply2(DMatrix3 A, final DMatrix3C B, final DMatrix3C C) { //dMultiply2(A.v, ((DMatrix3) B).v, ((DMatrix3) C).v, 3, 3, 3); dMultiply0(A, B, C.reTranspose()); }
/** * matrix multiplication. all matrices are stored in standard row format. * the digit refers to the argument that is transposed: <br> * 0: A = B * C (sizes: A:p*r B:p*q C:q*r) <br> * 1: A = B' * C (sizes: A:p*r B:q*p C:q*r) <br> * 2: A = B * C' (sizes: A:p*r B:p*q C:r*q) <br> * case 1,2 are equivalent to saying that the operation is A=B*C but B or C * are stored in standard column format. * <p> * This method is equivalent to dMultiply2(A, B, C, 3, 3, 3). * @param A A * @param B B * @param C C */ public static void dMultiply2(DMatrix3 A, final DMatrix3C B, final DMatrix3C C) { //dMultiply2(A.v, ((DMatrix3) B).v, ((DMatrix3) C).v, 3, 3, 3); dMultiply0(A, B, C.reTranspose()); }
final DMatrix3C C) { dMultiply0(A, B.reTranspose(), C);
final DMatrix3C C) { dMultiply0(A, B.reTranspose(), C);