Main Page | Modules | Class List | Directories | File List | Class Members | File Members

General Size Matrix/Matrix Product
[General Size Matrices]


Functions

Gan_Matrix * gan_diagmatI_lmult_inf_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Left-multiply the inverse of a diagonal matrix by a generic matrix.
Gan_Matrix * gan_diagmatI_lmult_inf_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Left multiply inverse of diagonal matrix by generic matrix.
Gan_Matrix * gan_diagmatI_lmult_inf_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Left multiply inverse of diagonal matrix by generic matrix.
Gan_Matrix * gan_mat_rmult_gen (const Gan_Matrix *A, Gan_TposeFlag A_tr, const Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
Gan_SquMatrix * gan_mat_rmult_sym_gen (const Gan_Matrix *A, Gan_TposeFlag A_tr, const Gan_Matrix *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix *C)
Gan_Matrix * gan_mat_rmult_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply two matrices and write result into a third.
Gan_Matrix * gan_mat_rmult_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply two matrices and return the result as a new matrix.
Gan_Matrix * gan_mat_rmultT_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply a matrix by the transpose of another and write result into a third.
Gan_Matrix * gan_mat_rmultT_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply a matrix by the transpose of another and return a new matrix.
Gan_Matrix * gan_matT_rmult_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply the transpose of a matrix by another matrix.
Gan_Matrix * gan_matT_rmult_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply the transpose of a matrix by another matrix.
Gan_Matrix * gan_matT_rmultT_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply the transpose of a matrix by the transpose of another matrix.
Gan_Matrix * gan_matT_rmultT_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply the transpose of a matrix by the transpose of another matrix.
Gan_SquMatrix * gan_mat_rmult_sym_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_SquMatrix *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix * gan_mat_rmult_sym_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix * gan_mat_rmultT_sym_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_SquMatrix *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix * gan_mat_rmultT_sym_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix * gan_matT_rmult_sym_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_SquMatrix *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix * gan_matT_rmult_sym_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix * gan_matT_rmultT_sym_q (const Gan_Matrix *A, const Gan_Matrix *B, Gan_SquMatrix *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix * gan_matT_rmultT_sym_s (const Gan_Matrix *A, const Gan_Matrix *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix * gan_mat_srmultT_q (const Gan_Matrix *A, const Gan_SquMatrix *B)
 Macro: Multiply matrix by itself and write result into a symmetric matrix.
Gan_SquMatrix * gan_mat_srmultT_s (const Gan_Matrix *A)
 Macro: Multiply matrix by itself and return the result as a new symmetric matrix.
Gan_SquMatrix * gan_mat_slmultT_q (const Gan_Matrix *A, Gan_SquMatrix *B)
 Macro: Multiply matrix by itself and write result into a symmetric matrix.
Gan_SquMatrix * gan_mat_slmultT_s (const Gan_Matrix *A)
 Macro: Multiply matrix by itself and return the result as a new symmetric matrix.
Gan_Matrix * gan_squmat_rmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply square matrix by generic matrix, and write result into a third.
Gan_Matrix * gan_squmat_rmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply square matrix by generic matrix.
Gan_Matrix * gan_squmat_rmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply square matrix by generic matrix.
Gan_Matrix * gan_squmat_rmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmat_rmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatT_rmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatT_rmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatT_rmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatT_rmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatT_rmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatI_rmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix * gan_squmatI_rmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix * gan_squmatI_rmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix * gan_squmatI_rmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply inverse of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatI_rmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatIT_rmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatIT_rmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatIT_rmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatIT_rmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmatIT_rmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.
Gan_Matrix * gan_squmat_lmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply generic matrix by square matrix, and write result into a third.
Gan_Matrix * gan_squmat_lmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by square matrix.
Gan_Matrix * gan_squmat_lmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by square matrix.
Gan_Matrix * gan_squmat_lmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of generic matrix by square matrix.
Gan_Matrix * gan_squmat_lmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of generic matrix by square matrix.
Gan_Matrix * gan_squmatT_lmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply generic matrix by the transpose of square matrix.
Gan_Matrix * gan_squmatT_lmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by transpose of square matrix.
Gan_Matrix * gan_squmatT_lmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix * gan_squmatT_lmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of generic matrix by transpose of square matrix.
Gan_Matrix * gan_squmatT_lmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of generic matrix by transpose of square matrix.
Gan_Matrix * gan_squmatI_lmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix * gan_squmatI_lmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix * gan_squmatI_lmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix * gan_squmatI_lmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of generic matrix by inverse of square matrix.
Gan_Matrix * gan_squmatI_lmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of generic matrix by inverse of square matrix.
Gan_Matrix * gan_squmatIT_lmult_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix * gan_squmatIT_lmult_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix * gan_squmatIT_lmult_i (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix * gan_squmatIT_lmultT_q (const Gan_SquMatrix *A, Gan_Matrix *B, Gan_Matrix *C)
 Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.
Gan_Matrix * gan_squmatIT_lmultT_s (const Gan_SquMatrix *A, Gan_Matrix *B)
 Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.
Gan_SquMatrix * gan_squmat_srmultT_squ_q (Gan_SquMatrix *A, Gan_SquMatrix *B)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix * gan_squmat_srmultT_squ_s (Gan_SquMatrix *A)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix * gan_squmat_srmultT_squ_i (Gan_SquMatrix *A)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix * gan_squmatT_srmult_squ_q (Gan_SquMatrix *A, Gan_SquMatrix *B)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix * gan_squmatT_srmult_squ_s (Gan_SquMatrix *A)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix * gan_squmatT_srmult_squ_i (Gan_SquMatrix *A)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix * gan_squmatI_srmultIT_squ_q (Gan_SquMatrix *A, Gan_SquMatrix *B)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix * gan_squmatI_srmultIT_squ_s (Gan_SquMatrix *A)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix * gan_squmatI_srmultIT_squ_i (Gan_SquMatrix *A)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix * gan_squmatIT_srmultI_squ_q (Gan_SquMatrix *A, Gan_SquMatrix *B)
 Macro: Self-multiply inverse transpose by inverse of square matrix.
Gan_SquMatrix * gan_squmatIT_srmultI_squ_s (Gan_SquMatrix *A)
 Macro: Self-multiply inverse transpose by inverse of square matrix.
Gan_SquMatrix * gan_squmatIT_srmultI_squ_i (Gan_SquMatrix *A)
 Macro: Self-multiply inverse transpose by inverse of square matrix.
Gan_Matrix_f * gan_diagmatIf_lmult_inf_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Left-multiply the inverse of a diagonal matrix by a generic matrix.
Gan_Matrix_f * gan_diagmatIf_lmult_inf_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Left multiply inverse of diagonal matrix by generic matrix.
Gan_Matrix_f * gan_diagmatIf_lmult_inf_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Left multiply inverse of diagonal matrix by generic matrix.
Gan_Matrix_f * gan_matf_rmult_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
Gan_SquMatrix_f * gan_matf_rmult_sym_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Matrix_f *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix_f *C)
Gan_Matrix_f * gan_matf_rmult_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply two matrices and write result into a third.
Gan_Matrix_f * gan_matf_rmult_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply two matrices and return the result as a new matrix.
Gan_Matrix_f * gan_matf_rmultT_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply a matrix by the transpose of another and write result into a third.
Gan_Matrix_f * gan_matf_rmultT_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply a matrix by the transpose of another and return a new matrix.
Gan_Matrix_f * gan_matTf_rmult_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply the transpose of a matrix by another matrix.
Gan_Matrix_f * gan_matTf_rmult_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply the transpose of a matrix by another matrix.
Gan_Matrix_f * gan_matTf_rmultT_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply the transpose of a matrix by the transpose of another matrix.
Gan_Matrix_f * gan_matTf_rmultT_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply the transpose of a matrix by the transpose of another matrix.
Gan_SquMatrix_f * gan_matf_rmult_sym_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_SquMatrix_f *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matf_rmult_sym_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix_f * gan_matf_rmultT_sym_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_SquMatrix_f *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matf_rmultT_sym_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix_f * gan_matTf_rmult_sym_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_SquMatrix_f *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matTf_rmult_sym_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix_f * gan_matTf_rmultT_sym_q (const Gan_Matrix_f *A, const Gan_Matrix_f *B, Gan_SquMatrix_f *C)
 Macro: Multiply two matrices and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matTf_rmultT_sym_s (const Gan_Matrix_f *A, const Gan_Matrix_f *B)
 Macro: Multiply two matrices and return the result as a new symmetric matrix.
Gan_SquMatrix_f * gan_matf_srmultT_q (const Gan_Matrix_f *A, Gan_SquMatrix_f *B)
 Macro: Multiply matrix by itself and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matf_srmultT_s (const Gan_Matrix_f *A)
 Macro: Multiply matrix by itself and return the result as a new symmetric matrix.
Gan_SquMatrix_f * gan_matf_slmultT_q (const Gan_Matrix_f *A, Gan_SquMatrix_f *B)
 Macro: Multiply matrix by itself and write result into a symmetric matrix.
Gan_SquMatrix_f * gan_matf_slmultT_s (const Gan_Matrix_f *A)
 Macro: Multiply matrix by itself and return the result as a new symmetric matrix.
Gan_Matrix_f * gan_squmatf_rmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply square matrix by generic matrix, and write result into a third.
Gan_Matrix_f * gan_squmatf_rmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply square matrix by generic matrix.
Gan_Matrix_f * gan_squmatf_rmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply square matrix by generic matrix.
Gan_Matrix_f * gan_squmatf_rmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatf_rmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatTf_rmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatTf_rmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatTf_rmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatTf_rmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatTf_rmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatIf_rmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatIf_rmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatIf_rmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatIf_rmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply inverse of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatIf_rmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatITf_rmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatITf_rmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatITf_rmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatITf_rmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatITf_rmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.
Gan_Matrix_f * gan_squmatf_lmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply generic matrix by square matrix, and write result into a third.
Gan_Matrix_f * gan_squmatf_lmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by square matrix.
Gan_Matrix_f * gan_squmatf_lmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by square matrix.
Gan_Matrix_f * gan_squmatf_lmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of generic matrix by square matrix.
Gan_Matrix_f * gan_squmatf_lmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of generic matrix by square matrix.
Gan_Matrix_f * gan_squmatTf_lmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply generic matrix by the transpose of square matrix.
Gan_Matrix_f * gan_squmatTf_lmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by transpose of square matrix.
Gan_Matrix_f * gan_squmatTf_lmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of square matrix by generic matrix.
Gan_Matrix_f * gan_squmatTf_lmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of generic matrix by transpose of square matrix.
Gan_Matrix_f * gan_squmatTf_lmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of generic matrix by transpose of square matrix.
Gan_Matrix_f * gan_squmatIf_lmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix_f * gan_squmatIf_lmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix_f * gan_squmatIf_lmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by inverse of square matrix.
Gan_Matrix_f * gan_squmatIf_lmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of generic matrix by inverse of square matrix.
Gan_Matrix_f * gan_squmatIf_lmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of generic matrix by inverse of square matrix.
Gan_Matrix_f * gan_squmatITf_lmult_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix_f * gan_squmatITf_lmult_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix_f * gan_squmatITf_lmult_i (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply generic matrix by inverse transpose of square matrix.
Gan_Matrix_f * gan_squmatITf_lmultT_q (const Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_Matrix_f *C)
 Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.
Gan_Matrix_f * gan_squmatITf_lmultT_s (const Gan_SquMatrix_f *A, Gan_Matrix_f *B)
 Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.
Gan_SquMatrix_f * gan_squmatf_srmultT_squ_q (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix_f * gan_squmatf_srmultT_squ_s (Gan_SquMatrix_f *A)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix_f * gan_squmatf_srmultT_squ_i (Gan_SquMatrix_f *A)
 Macro: Right-multiply square matrix by its own transpose.
Gan_SquMatrix_f * gan_squmatTf_srmult_squ_q (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix_f * gan_squmatTf_srmult_squ_s (Gan_SquMatrix_f *A)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix_f * gan_squmatTf_srmult_squ_i (Gan_SquMatrix_f *A)
 Macro: Right-multiply transpose of square matrix by itself.
Gan_SquMatrix_f * gan_squmatIf_srmultIT_squ_q (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix_f * gan_squmatIf_srmultIT_squ_s (Gan_SquMatrix_f *A)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix_f * gan_squmatIf_srmultIT_squ_i (Gan_SquMatrix_f *A)
 Macro: Right-multiply inverse of square matrix by its inverse transpose.
Gan_SquMatrix_f * gan_squmatITf_srmultI_squ_q (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
 Macro: Self-multiply inverse transpose by inverse of square matrix.
Gan_SquMatrix_f * gan_squmatITf_srmultI_squ_s (Gan_SquMatrix_f *A)
 Macro: Self-multiply inverse transpose by inverse of square matrix.
Gan_SquMatrix_f * gan_squmatITf_srmultI_squ_i (Gan_SquMatrix_f *A)
 Macro: Self-multiply inverse transpose by inverse of square matrix.

Function Documentation

Gan_Matrix* gan_diagmatI_lmult_inf_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Left multiply inverse of diagonal matrix by generic matrix.

Returns:
Result matrix B.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written in-place in B, which is also returned. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

Gan_Matrix* gan_diagmatI_lmult_inf_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Left-multiply the inverse of a diagonal matrix by a generic matrix.

Returns:
The result matrix C, or NULL on failure.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written into C. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

B and C may be coincident, allowing the computation to be done in-place.

Gan_Matrix* gan_diagmatI_lmult_inf_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Left multiply inverse of diagonal matrix by generic matrix.

Returns:
Result as a new matrix.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written into a new matrix which is created and returned. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

Gan_Matrix_f* gan_diagmatIf_lmult_inf_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Left multiply inverse of diagonal matrix by generic matrix.

Returns:
Result matrix B.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written in-place in B, which is also returned. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

Gan_Matrix_f* gan_diagmatIf_lmult_inf_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Left-multiply the inverse of a diagonal matrix by a generic matrix.

Returns:
The result matrix C, or NULL on failure.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written into C. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

B and C may be coincident, allowing the computation to be done in-place.

Gan_Matrix_f* gan_diagmatIf_lmult_inf_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Left multiply inverse of diagonal matrix by generic matrix.

Returns:
Result as a new matrix.
Left-multiply the inverse of a diagonal matrix A by a generic matrix B, ignoring division by zero. The result is written into a new matrix which is created and returned. The zero elements of A are ignored, i.e. effectively assumed to be infinite.

Gan_Matrix* gan_mat_rmult_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply two matrices and write result into a third.

Multiply two matrices A, B and write result into $ C = A B $ , which is returned.

Gan_Matrix* gan_mat_rmult_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply two matrices and return the result as a new matrix.

Multiply two matrices A, B and return the result as a new matrix $ A B $ .

Gan_SquMatrix* gan_mat_rmult_sym_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_SquMatrix *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B and write result into $ C = A B $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix* gan_mat_rmult_sym_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B and return the result as a new matrix $ A B $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix* gan_mat_rmultT_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply a matrix by the transpose of another and write result into a third.

Multiply matrix A by the transpose of matrix B and write result into $ C = A B^{\top} $ , which is returned.

Gan_Matrix* gan_mat_rmultT_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply a matrix by the transpose of another and return a new matrix.

Multiply matrix A by the transpose of matrix B and return the result as a new matrix $ A B^{\top} $ .

Gan_SquMatrix* gan_mat_rmultT_sym_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_SquMatrix *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, transposing B, and write result into $ C = A B^{\top} $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix* gan_mat_rmultT_sym_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, transposing B, and return the result as a new matrix $ A B^{\top} $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix* gan_mat_slmultT_q (  const Gan_Matrix *  A,
Gan_SquMatrix *  B
) 
 

Macro: Multiply matrix by itself and write result into a symmetric matrix.

Multiply transpose of matrix A by A, and write result into square symmetric matrix $ B = A^{\top} A $ , which is returned.

Gan_SquMatrix* gan_mat_slmultT_s (  const Gan_Matrix *  A  ) 
 

Macro: Multiply matrix by itself and return the result as a new symmetric matrix.

Multiply transpose of matrix A by A, and return the result as a new square symmetric matrix $ A^{\top} A $ .

Gan_SquMatrix* gan_mat_srmultT_q (  const Gan_Matrix *  A,
const Gan_SquMatrix *  B
) 
 

Macro: Multiply matrix by itself and write result into a symmetric matrix.

Multiply matrix A by its own transpose, and write result into square symmetric matrix $ B = A A^{\top} $ , which is returned.

Gan_SquMatrix* gan_mat_srmultT_s (  const Gan_Matrix *  A  ) 
 

Macro: Multiply matrix by itself and return the result as a new symmetric matrix.

Multiply matrix A by its own transpose, and return the result as a new square symmetric matrix $ A A^{\top} $ .

Gan_Matrix_f* gan_matf_rmult_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply two matrices and write result into a third.

Multiply two matrices A, B and write result into $ C = A B $ , which is returned.

Gan_Matrix_f* gan_matf_rmult_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply two matrices and return the result as a new matrix.

Multiply two matrices A, B and return the result as a new matrix $ A B $ .

Gan_SquMatrix_f* gan_matf_rmult_sym_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_SquMatrix_f *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B and write result into $ C = A B $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix_f* gan_matf_rmult_sym_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B and return the result as a new matrix $ A B $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix_f* gan_matf_rmultT_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply a matrix by the transpose of another and write result into a third.

Multiply matrix A by the transpose of matrix B and write result into $ C = A B^{\top} $ , which is returned.

Gan_Matrix_f* gan_matf_rmultT_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply a matrix by the transpose of another and return a new matrix.

Multiply matrix A by the transpose of matrix B and return the result as a new matrix $ A B^{\top} $ .

Gan_SquMatrix_f* gan_matf_rmultT_sym_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_SquMatrix_f *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, transposing B, and write result into $ C = A B^{\top} $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix_f* gan_matf_rmultT_sym_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, transposing B, and return the result as a new matrix $ A B^{\top} $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix_f* gan_matf_slmultT_q (  const Gan_Matrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Multiply matrix by itself and write result into a symmetric matrix.

Multiply transpose of matrix A by A, and write result into square symmetric matrix $ B = A^{\top} A $ , which is returned.

Gan_SquMatrix_f* gan_matf_slmultT_s (  const Gan_Matrix_f *  A  ) 
 

Macro: Multiply matrix by itself and return the result as a new symmetric matrix.

Multiply transpose of matrix A by A, and return the result as a new square symmetric matrix $ A^{\top} A $ .

Gan_SquMatrix_f* gan_matf_srmultT_q (  const Gan_Matrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Multiply matrix by itself and write result into a symmetric matrix.

Multiply matrix A by its own transpose, and write result into square symmetric matrix $ B = A A^{\top} $ , which is returned.

Gan_SquMatrix_f* gan_matf_srmultT_s (  const Gan_Matrix_f *  A  ) 
 

Macro: Multiply matrix by itself and return the result as a new symmetric matrix.

Multiply matrix A by its own transpose, and return the result as a new square symmetric matrix $ A A^{\top} $ .

Gan_Matrix* gan_matT_rmult_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply the transpose of a matrix by another matrix.

Multiply the transpose of matrix A by matrix B and write result into $ C = A^{\top} B $ , which is returned.

Gan_Matrix* gan_matT_rmult_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply the transpose of a matrix by another matrix.

Multiply the transpose of matrix A by matrix B and return the result as a new matrix $ A^{\top} B $ .

Gan_SquMatrix* gan_matT_rmult_sym_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_SquMatrix *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, transposing A, and write result into $ C = A^{\top} B $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix* gan_matT_rmult_sym_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, transposing A, and return the result as a new matrix $ A^{\top} B $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix* gan_matT_rmultT_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply the transpose of a matrix by the transpose of another matrix.

Multiply the transpose of matrix A by the transpose of matrix B and write result into $ C = A^{\top} B^{\top} $ , which is returned.

Gan_Matrix* gan_matT_rmultT_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply the transpose of a matrix by the transpose of another matrix.

Multiply the transpose of matrix A by the transpose of matrix B and return the result as a new matrix $ A^{\top} B^{\top} $ .

Gan_SquMatrix* gan_matT_rmultT_sym_q (  const Gan_Matrix *  A,
const Gan_Matrix *  B,
Gan_SquMatrix *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, both transposed, and write result into $ C = A^{\top} B^{\top} $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix* gan_matT_rmultT_sym_s (  const Gan_Matrix *  A,
const Gan_Matrix *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, both transposed, and return the result as a new matrix $ A^{\top} B^{\top} $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix_f* gan_matTf_rmult_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply the transpose of a matrix by another matrix.

Multiply the transpose of matrix A by matrix B and write result into $ C = A^{\top} B $ , which is returned.

Gan_Matrix_f* gan_matTf_rmult_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply the transpose of a matrix by another matrix.

Multiply the transpose of matrix A by matrix B and return the result as a new matrix $ A^{\top} B $ .

Gan_SquMatrix_f* gan_matTf_rmult_sym_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_SquMatrix_f *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, transposing A, and write result into $ C = A^{\top} B $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix_f* gan_matTf_rmult_sym_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, transposing A, and return the result as a new matrix $ A^{\top} B $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix_f* gan_matTf_rmultT_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply the transpose of a matrix by the transpose of another matrix.

Multiply the transpose of matrix A by the transpose of matrix B and write result into $ C = A^{\top} B^{\top} $ , which is returned.

Gan_Matrix_f* gan_matTf_rmultT_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply the transpose of a matrix by the transpose of another matrix.

Multiply the transpose of matrix A by the transpose of matrix B and return the result as a new matrix $ A^{\top} B^{\top} $ .

Gan_SquMatrix_f* gan_matTf_rmultT_sym_q (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B,
Gan_SquMatrix_f *  C
) 
 

Macro: Multiply two matrices and write result into a symmetric matrix.

Multiply two matrices A, B, both transposed, and write result into $ C = A^{\top} B^{\top} $ , which is returned. C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_SquMatrix_f* gan_matTf_rmultT_sym_s (  const Gan_Matrix_f *  A,
const Gan_Matrix_f *  B
) 
 

Macro: Multiply two matrices and return the result as a new symmetric matrix.

Multiply two matrices A, B, both transposed, and return the result as a new matrix $ A^{\top} B^{\top} $ . C is square and is assumed to be symmetric. No checking of this assumption is done.

Gan_Matrix* gan_squmat_lmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by square matrix.

Returns:
Result matrix B.
Multiply generic matrix B by square matrix A, overwriting B with the result $ B \leftarrow B A $ .

Gan_Matrix* gan_squmat_lmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply generic matrix by square matrix, and write result into a third.

Returns:
Result matrix C.
Multiply the generic matrix B by the square matrix A, by write result into generic matrix $ C = B A $ .

Gan_Matrix* gan_squmat_lmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by square matrix A and return the result as a new matrix $ B A $ .

Gan_Matrix* gan_squmat_lmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of generic matrix by square matrix.

Returns:
Result matrix C.
Multiply transpose of generic matrix B by square matrix A and write result into $ C = B^{\top} A $ .

Gan_Matrix* gan_squmat_lmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of generic matrix by square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by square matrix A and return the result as a new matrix $ B^{\top} A $ .

Gan_Matrix* gan_squmat_rmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply square matrix by generic matrix.

Returns:
Result matrix B.
Multiply square matrix A by generic matrix B, overwriting B with the result: $ B \leftarrow A B $ .

Gan_Matrix* gan_squmat_rmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply square matrix by generic matrix, and write result into a third.

Returns:
Result matrix C.
Multiply the square matrix A by the generic matrix B, and write result into generic matrix $ C = A B $ .

Gan_Matrix* gan_squmat_rmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply square matrix A by generic matrix B and return the result as a new matrix $ A B $ .

Gan_Matrix* gan_squmat_rmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply square matrix A by the transpose of generic matrix B and write result into $ C = A B^{\top} $ .

Gan_Matrix* gan_squmat_rmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A B^{\top} $ .

Gan_SquMatrix* gan_squmat_srmultT_squ_i (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result matrix A.
Right-multiply square matrix A by its own transpose, filling in A with the result $ A \leftarrow A A^{\top} $ .

Gan_SquMatrix* gan_squmat_srmultT_squ_q (  Gan_SquMatrix *  A,
Gan_SquMatrix *  B
) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result matrix B.
Right-multiply square matrix A by its own transpose, writing the result into square matrix $ B = A A^{\top} $ .

Gan_SquMatrix* gan_squmat_srmultT_squ_s (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result as a new matrix.
Right-multiply square matrix A by its own transpose, returning the result $ A A^{\top} $ as a new matrix.

Gan_Matrix_f* gan_squmatf_lmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by square matrix.

Returns:
Result matrix B.
Multiply generic matrix B by square matrix A, overwriting B with the result $ B \leftarrow B A $ .

Gan_Matrix_f* gan_squmatf_lmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply generic matrix by square matrix, and write result into a third.

Returns:
Result matrix C.
Multiply the generic matrix B by the square matrix A, by write result into generic matrix $ C = B A $ .

Gan_Matrix_f* gan_squmatf_lmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by square matrix A and return the result as a new matrix $ B A $ .

Gan_Matrix_f* gan_squmatf_lmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of generic matrix by square matrix.

Returns:
Result matrix C.
Multiply transpose of generic matrix B by square matrix A and write result into $ C = B^{\top} A $ .

Gan_Matrix_f* gan_squmatf_lmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of generic matrix by square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by square matrix A and return the result as a new matrix $ B^{\top} A $ .

Gan_Matrix_f* gan_squmatf_rmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply square matrix by generic matrix.

Returns:
Result matrix B.
Multiply square matrix A by generic matrix B, overwriting B with the result: $ B \leftarrow A B $ .

Gan_Matrix_f* gan_squmatf_rmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply square matrix by generic matrix, and write result into a third.

Returns:
Result matrix C.
Multiply the square matrix A by the generic matrix B, and write result into generic matrix $ C = A B $ .

Gan_Matrix_f* gan_squmatf_rmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply square matrix A by generic matrix B and return the result as a new matrix $ A B $ .

Gan_Matrix_f* gan_squmatf_rmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply square matrix A by the transpose of generic matrix B and write result into $ C = A B^{\top} $ .

Gan_Matrix_f* gan_squmatf_rmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A B^{\top} $ .

Gan_SquMatrix_f* gan_squmatf_srmultT_squ_i (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result matrix A.
Right-multiply square matrix A by its own transpose, filling in A with the result $ A \leftarrow A A^{\top} $ .

Gan_SquMatrix_f* gan_squmatf_srmultT_squ_q (  Gan_SquMatrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result matrix B.
Right-multiply square matrix A by its own transpose, writing the result into square matrix $ B = A A^{\top} $ .

Gan_SquMatrix_f* gan_squmatf_srmultT_squ_s (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply square matrix by its own transpose.

Returns:
Result as a new matrix.
Right-multiply square matrix A by its own transpose, returning the result $ A A^{\top} $ as a new matrix.

Gan_Matrix* gan_squmatI_lmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result matrix B.
Multiply generic matrix B by the inverse of square matrix A, overwriting B with the result $ B A^{-1} $ .

Gan_Matrix* gan_squmatI_lmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the inverse of square matrix A and write result into generic matrix $ C = B A $ .

Gan_Matrix* gan_squmatI_lmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by the inverse of square matrix A and return the result as a new matrix $ B A^{-1} $ .

Gan_Matrix* gan_squmatI_lmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of generic matrix by inverse of square matrix.

Returns:
Result matrix C.
Multiply transpose of generic matrix B by the inverse of square matrix A, and write result into $ C = B^{\top} A^{-1} $ .

Gan_Matrix* gan_squmatI_lmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of generic matrix by inverse of square matrix.

Returns:
Result as a new matrix.
Multiply transpose of generic matrix B by the inverse of square matrix A, and return the result as a new matrix $ B^{\top} A^{-1} $ .

Gan_Matrix* gan_squmatI_rmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply inverse of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{-1} B $ .

Gan_Matrix* gan_squmatI_rmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the inverse of square matrix A by the generic matrix B, and write result into generic matrix $ C = A B $ .

Gan_Matrix* gan_squmatI_rmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply inverse of square matrix A by generic matrix B and return the result as a new matrix $ A^{-1} B $ .

Gan_Matrix* gan_squmatI_rmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply inverse of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply inverse of square matrix A by the transpose of generic matrix B and write result into $ C = A^{-1} B^{\top} $ .

Gan_Matrix* gan_squmatI_rmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply inverse of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{-1} B^{\top} $ .

Gan_SquMatrix* gan_squmatI_srmultIT_squ_i (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result matrix A.
Right-multiply inverse of square matrix A by its inverse transpose, overwriting A with the result $ A \leftarrow A^{\top} A $ .

Gan_SquMatrix* gan_squmatI_srmultIT_squ_q (  Gan_SquMatrix *  A,
Gan_SquMatrix *  B
) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result matrix B.
Right-multiply inverse of square matrix A by its inverse transpose, writing the result into square matrix $ B = A^{-1} A^{-{\top}} $ .

Gan_SquMatrix* gan_squmatI_srmultIT_squ_s (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result as a new matrix.
Right-multiply inverse of square matrix A by its inverse transpose, returning the result $ A^{-1} A^{-{\top}} $ as a new square matrix.

Gan_Matrix_f* gan_squmatIf_lmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result matrix B.
Multiply generic matrix B by the inverse of square matrix A, overwriting B with the result $ B A^{-1} $ .

Gan_Matrix_f* gan_squmatIf_lmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the inverse of square matrix A and write result into generic matrix $ C = B A $ .

Gan_Matrix_f* gan_squmatIf_lmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by inverse of square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by the inverse of square matrix A and return the result as a new matrix $ B A^{-1} $ .

Gan_Matrix_f* gan_squmatIf_lmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of generic matrix by inverse of square matrix.

Returns:
Result matrix C.
Multiply transpose of generic matrix B by the inverse of square matrix A, and write result into $ C = B^{\top} A^{-1} $ .

Gan_Matrix_f* gan_squmatIf_lmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of generic matrix by inverse of square matrix.

Returns:
Result as a new matrix.
Multiply transpose of generic matrix B by the inverse of square matrix A, and return the result as a new matrix $ B^{\top} A^{-1} $ .

Gan_Matrix_f* gan_squmatIf_rmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply inverse of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{-1} B $ .

Gan_Matrix_f* gan_squmatIf_rmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the inverse of square matrix A by the generic matrix B, and write result into generic matrix $ C = A B $ .

Gan_Matrix_f* gan_squmatIf_rmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply inverse of square matrix A by generic matrix B and return the result as a new matrix $ A^{-1} B $ .

Gan_Matrix_f* gan_squmatIf_rmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply inverse of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply inverse of square matrix A by the transpose of generic matrix B and write result into $ C = A^{-1} B^{\top} $ .

Gan_Matrix_f* gan_squmatIf_rmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply inverse of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{-1} B^{\top} $ .

Gan_SquMatrix_f* gan_squmatIf_srmultIT_squ_i (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result matrix A.
Right-multiply inverse of square matrix A by its inverse transpose, overwriting A with the result $ A \leftarrow A^{\top} A $ .

Gan_SquMatrix_f* gan_squmatIf_srmultIT_squ_q (  Gan_SquMatrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result matrix B.
Right-multiply inverse of square matrix A by its inverse transpose, writing the result into square matrix $ B = A^{-1} A^{-{\top}} $ .

Gan_SquMatrix_f* gan_squmatIf_srmultIT_squ_s (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply inverse of square matrix by its inverse transpose.

Returns:
Result as a new matrix.
Right-multiply inverse of square matrix A by its inverse transpose, returning the result $ A^{-1} A^{-{\top}} $ as a new square matrix.

Gan_Matrix* gan_squmatIT_lmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result matrix B.
Multiply inverse transpose of square matrix A by generic matrix B, overwriting B with the result $ A^{-{\top}} B $ .

Gan_Matrix* gan_squmatIT_lmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the inverse transpose of square matrix A, and write result into $ C = B A^{-{\top}} $ .

Gan_Matrix* gan_squmatIT_lmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{-{\top}} B $ .

Gan_Matrix* gan_squmatIT_lmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.

Returns:
Result matrix C.
Multiply the transpose of generic matrix B by the inverse transpose of square matrix A, and write result into $ C = B^{\top} A^{-{\top}} $ .

Gan_Matrix* gan_squmatIT_lmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by the inverse transpose of square matrix A, and return the result as a new matrix $ B^{\top} A^{-{\top}} $ .

Gan_Matrix* gan_squmatIT_rmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply inverse transpose of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{-{\top}} B $ .

Gan_Matrix* gan_squmatIT_rmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the inverse transpose of square matrix A by generic matrix B and write result into $ C = A^{-{\top}} B $ .

Gan_Matrix* gan_squmatIT_rmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{-{\top}} B $ .

Gan_Matrix* gan_squmatIT_rmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply the inverse transpose of square matrix A by the transpose of generic matrix B and write result into $ C = A^{-{\top}} B^{\top} $ .

Gan_Matrix* gan_squmatIT_rmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{-{\top}} B^{\top} $ .

Gan_SquMatrix* gan_squmatIT_srmultI_squ_i (  Gan_SquMatrix *  A  ) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result matrix A.
Self-multiply inverse transpose by inverse of square matrix A, filling in A with the result $ A \leftarrow A^{-{\top}} A^{-1} $ .

Gan_SquMatrix* gan_squmatIT_srmultI_squ_q (  Gan_SquMatrix *  A,
Gan_SquMatrix *  B
) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result matrix B.
Self-multiply inverse transpose by inverse of square matrix A, writing the result into square matrix $ B = A^{-{\top}} A^{-1} $ .

Gan_SquMatrix* gan_squmatIT_srmultI_squ_s (  Gan_SquMatrix *  A  ) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result as a new matrix.
Self-multiply inverse transpose by inverse of square matrix A, returning the result $ A^{-{\top}} A^{-1} $ as a new square matrix.

Gan_Matrix_f* gan_squmatITf_lmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result matrix B.
Multiply inverse transpose of square matrix A by generic matrix B, overwriting B with the result $ A^{-{\top}} B $ .

Gan_Matrix_f* gan_squmatITf_lmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the inverse transpose of square matrix A, and write result into $ C = B A^{-{\top}} $ .

Gan_Matrix_f* gan_squmatITf_lmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by inverse transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{-{\top}} B $ .

Gan_Matrix_f* gan_squmatITf_lmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.

Returns:
Result matrix C.
Multiply the transpose of generic matrix B by the inverse transpose of square matrix A, and write result into $ C = B^{\top} A^{-{\top}} $ .

Gan_Matrix_f* gan_squmatITf_lmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of generic matrix by inverse transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by the inverse transpose of square matrix A, and return the result as a new matrix $ B^{\top} A^{-{\top}} $ .

Gan_Matrix_f* gan_squmatITf_rmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply inverse transpose of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{-{\top}} B $ .

Gan_Matrix_f* gan_squmatITf_rmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the inverse transpose of square matrix A by generic matrix B and write result into $ C = A^{-{\top}} B $ .

Gan_Matrix_f* gan_squmatITf_rmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse transpose of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{-{\top}} B $ .

Gan_Matrix_f* gan_squmatITf_rmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply the inverse transpose of square matrix A by the transpose of generic matrix B and write result into $ C = A^{-{\top}} B^{\top} $ .

Gan_Matrix_f* gan_squmatITf_rmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply inverse transpose of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply the inverse transpose of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{-{\top}} B^{\top} $ .

Gan_SquMatrix_f* gan_squmatITf_srmultI_squ_i (  Gan_SquMatrix_f *  A  ) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result matrix A.
Self-multiply inverse transpose by inverse of square matrix A, filling in A with the result $ A \leftarrow A^{-{\top}} A^{-1} $ .

Gan_SquMatrix_f* gan_squmatITf_srmultI_squ_q (  Gan_SquMatrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result matrix B.
Self-multiply inverse transpose by inverse of square matrix A, writing the result into square matrix $ B = A^{-{\top}} A^{-1} $ .

Gan_SquMatrix_f* gan_squmatITf_srmultI_squ_s (  Gan_SquMatrix_f *  A  ) 
 

Macro: Self-multiply inverse transpose by inverse of square matrix.

Returns:
Result as a new matrix.
Self-multiply inverse transpose by inverse of square matrix A, returning the result $ A^{-{\top}} A^{-1} $ as a new square matrix.

Gan_Matrix* gan_squmatT_lmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply generic matrix B by the transpose of square matrix A, overwriting B with the result $ B \leftarrow B A^{\top} $ .

Gan_Matrix* gan_squmatT_lmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply generic matrix by the transpose of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the transpose of square matrix A and write result into $ C = B A^{\top} $ .

Gan_Matrix* gan_squmatT_lmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply generic matrix by transpose of square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by the transpose of square matrix A and return the result as a new matrix $ B A^{\top} $ .

Gan_Matrix* gan_squmatT_lmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of generic matrix by transpose of square matrix.

Returns:
Result matrix C.
Multiply the transpose of generic matrix B by the transpose of square matrix A, and write result into $ C = B^{\top} A^{\top} $ .

Gan_Matrix* gan_squmatT_lmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of generic matrix by transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by the transpose of square matrix A, and return the result as a new matrix $ B^{\top} A^{\top} $ .

Gan_Matrix* gan_squmatT_rmult_i (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply transpose of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{\top} B $ .

Gan_Matrix* gan_squmatT_rmult_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the transpose of square matrix A by generic matrix B and write result into $ C = A^{\top} B $ .

Gan_Matrix* gan_squmatT_rmult_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply the transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{\top} B $ .

Gan_Matrix* gan_squmatT_rmultT_q (  const Gan_SquMatrix *  A,
Gan_Matrix *  B,
Gan_Matrix *  C
) 
 

Macro: Multiply transpose of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply the transpose of square matrix A by the transpose of generic matrix B and write result into $ C = A^{\top} B^{\top} $ .

Gan_Matrix* gan_squmatT_rmultT_s (  const Gan_SquMatrix *  A,
Gan_Matrix *  B
) 
 

Macro: Multiply transpose of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply the transpose of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{\top} B^{\top} $ .

Gan_SquMatrix* gan_squmatT_srmult_squ_i (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result matrix A.
Right-multiply transpose of square matrix A by itself, filling in A with the result $ A \leftarrow A^{\top} A $ .

Gan_SquMatrix* gan_squmatT_srmult_squ_q (  Gan_SquMatrix *  A,
Gan_SquMatrix *  B
) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result matrix B.
Right-multiply transpose of square matrix A by itself, writing the result into square matrix $ B = A^{\top} A $ .

Gan_SquMatrix* gan_squmatT_srmult_squ_s (  Gan_SquMatrix *  A  ) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result as a new matrix.
Right-multiply transpose of square matrix A by itself, returning the result $ A^{\top} A $ .

Gan_Matrix_f* gan_squmatTf_lmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply generic matrix B by the transpose of square matrix A, overwriting B with the result $ B \leftarrow B A^{\top} $ .

Gan_Matrix_f* gan_squmatTf_lmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply generic matrix by the transpose of square matrix.

Returns:
Result matrix C.
Multiply generic matrix B by the transpose of square matrix A and write result into $ C = B A^{\top} $ .

Gan_Matrix_f* gan_squmatTf_lmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply generic matrix by transpose of square matrix.

Returns:
Result as a new matrix.
Multiply generic matrix B by the transpose of square matrix A and return the result as a new matrix $ B A^{\top} $ .

Gan_Matrix_f* gan_squmatTf_lmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of generic matrix by transpose of square matrix.

Returns:
Result matrix C.
Multiply the transpose of generic matrix B by the transpose of square matrix A, and write result into $ C = B^{\top} A^{\top} $ .

Gan_Matrix_f* gan_squmatTf_lmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of generic matrix by transpose of square matrix.

Returns:
Result as a new matrix.
Multiply the transpose of generic matrix B by the transpose of square matrix A, and return the result as a new matrix $ B^{\top} A^{\top} $ .

Gan_Matrix_f* gan_squmatTf_rmult_i (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix B.
Multiply transpose of square matrix A by generic matrix B, overwriting B with the result $ B \leftarrow A^{\top} B $ .

Gan_Matrix_f* gan_squmatTf_rmult_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result matrix C.
Multiply the transpose of square matrix A by generic matrix B and write result into $ C = A^{\top} B $ .

Gan_Matrix_f* gan_squmatTf_rmult_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of square matrix by generic matrix.

Returns:
Result as a new matrix.
Multiply the transpose of square matrix A by generic matrix B and return the result as a new matrix $ A^{\top} B $ .

Gan_Matrix_f* gan_squmatTf_rmultT_q (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B,
Gan_Matrix_f *  C
) 
 

Macro: Multiply transpose of square matrix by transpose of generic matrix.

Returns:
Result matrix C.
Multiply the transpose of square matrix A by the transpose of generic matrix B and write result into $ C = A^{\top} B^{\top} $ .

Gan_Matrix_f* gan_squmatTf_rmultT_s (  const Gan_SquMatrix_f *  A,
Gan_Matrix_f *  B
) 
 

Macro: Multiply transpose of square matrix by transpose of generic matrix.

Returns:
Result as a new matrix.
Multiply the transpose of square matrix A by the transpose of generic matrix B and return the result as a new matrix $ A^{\top} B^{\top} $ .

Gan_SquMatrix_f* gan_squmatTf_srmult_squ_i (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result matrix A.
Right-multiply transpose of square matrix A by itself, filling in A with the result $ A \leftarrow A^{\top} A $ .

Gan_SquMatrix_f* gan_squmatTf_srmult_squ_q (  Gan_SquMatrix_f *  A,
Gan_SquMatrix_f *  B
) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result matrix B.
Right-multiply transpose of square matrix A by itself, writing the result into square matrix $ B = A^{\top} A $ .

Gan_SquMatrix_f* gan_squmatTf_srmult_squ_s (  Gan_SquMatrix_f *  A  ) 
 

Macro: Right-multiply transpose of square matrix by itself.

Returns:
Result as a new matrix.
Right-multiply transpose of square matrix A by itself, returning the result $ A^{\top} A $ .


Generated on Sat May 21 23:52:54 2005 by  doxygen 1.4.3