Scythe-1.0.3
template<matrix_order RO, matrix_style RS, typename T , matrix_order PO1, matrix_style PS1, matrix_order PO2, matrix_style PS2, matrix_order PO3, matrix_style PS3>
Matrix<T,RO,RS> scythe::gaxpy ( const Matrix< T, PO1, PS1 > &  A,
const Matrix< T, PO2, PS2 > &  B,
const Matrix< T, PO3, PS3 > &  C 
)

Fast caclulation of $AB + C$.

This function calculates $AB + C$ efficiently, traversing the matrices in storage order where possible, and avoiding the use of extra temporary matrix objects.

Matrices conform when A, B, and C are chosen with dimensions $((m \times n), (1 \times 1), (m \times n))$, $((1 \times 1), (n \times k), (n \times k))$, or $((m \times n), (n \times k), (m \times k))$.

Scythe will use LAPACK/BLAS routines to compute $AB+C$ with column-major matrices of double-precision floating point numbers if LAPACK/BLAS is available and you compile your program with the SCYTHE_LAPACK flag enabled.

Parameters:
AA $1 \times 1$ or $m \times n$ Matrix.
BA $1 \times 1$ or $n \times k$ Matrix.
CA $m \times n$ or $n \times k$ or $m \times k$ Matrix.
Exceptions:
scythe_conformation_error(Level 0)
scythe_alloc_error(Level 1)

References scythe::Matrix_base< ORDER, STYLE >::cols(), scythe::Matrix_base< ORDER, STYLE >::isScalar(), scythe::Matrix_base< ORDER, STYLE >::rows(), and SCYTHE_THROW.