Go to the source code of this file.
Real-valued general matrices | |
void | Blas_Mat_Mat_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaGenMatDouble &C, bool transpose_A, bool transpose_B=false, double alpha=1.0, double beta=0.0) |
void | Blas_Mat_Mat_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaGenMatDouble &C, double alpha=1.0, double beta=0.0) |
void | Blas_Mat_Trans_Mat_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaGenMatDouble &C, double alpha=1.0, double beta=0.0) |
void | Blas_Mat_Mat_Trans_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaGenMatDouble &C, double alpha=1.0, double beta=0.0) |
void | Blas_Mat_Mat_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaVectorDouble &C) |
void | Blas_Mat_Trans_Mat_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaVectorDouble &C) |
void | Blas_Mat_Mat_Trans_Mult (const LaGenMatDouble &A, const LaGenMatDouble &B, LaVectorDouble &C) |
void | Blas_Scale (double s, LaGenMatDouble &A) |
Complex-valued matrices | |
void | Blas_Mat_Mat_Mult (const LaGenMatComplex &A, const LaGenMatComplex &B, LaGenMatComplex &C, bool hermit_A, bool hermit_B=false, LaComplex alpha=1.0, LaComplex beta=0.0) |
void | Blas_Mat_Mat_Mult (const LaGenMatComplex &A, const LaGenMatComplex &B, LaGenMatComplex &C, LaComplex alpha=1.0, LaComplex beta=0.0) |
void | Blas_Mat_Trans_Mat_Mult (const LaGenMatComplex &A, const LaGenMatComplex &B, LaGenMatComplex &C, LaComplex alpha=1.0, LaComplex beta=0.0) |
void | Blas_Mat_Mat_Trans_Mult (const LaGenMatComplex &A, const LaGenMatComplex &B, LaGenMatComplex &C, LaComplex alpha=1.0, LaComplex beta=0.0) |
void | Blas_Scale (COMPLEX s, LaGenMatComplex &A) |
Symmetric matrices | |
void | Blas_Mat_Mat_Mult (LaSymmMatDouble &A, LaGenMatDouble &B, LaGenMatDouble &C, double alpha=1.0, double beta=1.0, bool b_left_side=true) |
void | Blas_R1_Update (LaSymmMatDouble &C, LaGenMatDouble &A, double alpha=1.0, double beta=1.0, bool right_transposed=true) |
void | Blas_R2_Update (LaSymmMatDouble &C, LaGenMatDouble &A, LaGenMatDouble &B, double alpha=1.0, double beta=1.0, bool right_transposed=true) |
Matrix Norms | |
double | Blas_Norm1 (const LaGenMatDouble &A) |
1-Norm: Maximum column sum | |
double | Blas_Norm_Inf (const LaGenMatDouble &A) |
Infinity-Norm: Maximum row sum. | |
double | Blas_NormF (const LaGenMatDouble &A) |
Frobenius-Norm. | |
double | Blas_Norm1 (const LaGenMatComplex &A) |
1-Norm: Maximum column sum | |
double | Blas_Norm_Inf (const LaGenMatComplex &A) |
Infinity-Norm: Maximum row sum. | |
double | Blas_NormF (const LaGenMatComplex &A) |
Frobenius-Norm. | |
double | Norm_Inf (const LaBandMatDouble &A) |
double | Norm_Inf (const LaSymmMatDouble &S) |
double | Norm_Inf (const LaSpdMatDouble &S) |
double | Norm_Inf (const LaSymmTridiagMatDouble &S) |
double | Norm_Inf (const LaTridiagMatDouble &T) |
void Blas_Mat_Mat_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaGenMatDouble & | C, | |||
bool | transpose_A, | |||
bool | transpose_B = false , |
|||
double | alpha = 1.0 , |
|||
double | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B + beta*C where A and B are used in either non-transposed or transposed form, depending on the function arguments.
Internally this uses dgemm
.
transpose_A | If true, use transposed A, i.e. A' instead of A. If false, use A directly in non-transposed form. | |
transpose_B | If true, use transposed B, i.e. B' instead of B. If false, use B directly in non-transposed form. |
void Blas_Mat_Mat_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaGenMatDouble & | C, | |||
double | alpha = 1.0 , |
|||
double | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B + beta*C
void Blas_Mat_Trans_Mat_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaGenMatDouble & | C, | |||
double | alpha = 1.0 , |
|||
double | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A'*B + beta*C
void Blas_Mat_Mat_Trans_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaGenMatDouble & | C, | |||
double | alpha = 1.0 , |
|||
double | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B' + beta*C
void Blas_Mat_Mat_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaVectorDouble & | C | |||
) |
Perform a matrix-matrix multiplication, returning only the diagonal of the result: C := diag(A * B). FIXME: needs verification.
void Blas_Mat_Trans_Mat_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaVectorDouble & | C | |||
) |
Perform a matrix-matrix multiplication, returning only the diagonal of the result: C := diag(A' * B). FIXME: needs verification.
void Blas_Mat_Mat_Trans_Mult | ( | const LaGenMatDouble & | A, | |
const LaGenMatDouble & | B, | |||
LaVectorDouble & | C | |||
) |
Perform a matrix-matrix multiplication, returning only the diagonal of the result: C := diag(A * B'). FIXME: needs verification.
void Blas_Scale | ( | double | s, | |
LaGenMatDouble & | A | |||
) |
Matrix scaling: A := s * A
(New in lapackpp-2.4.7.)
void Blas_Mat_Mat_Mult | ( | const LaGenMatComplex & | A, | |
const LaGenMatComplex & | B, | |||
LaGenMatComplex & | C, | |||
bool | hermit_A, | |||
bool | hermit_B = false , |
|||
LaComplex | alpha = 1.0 , |
|||
LaComplex | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B + beta*C where A and B are used in either non-hermitian or hermitian form (matrix transpose and complex conjugate), depending on the function arguments.
Internally this uses zgemm
.
hermit_A | If true, use hermitian A, i.e. A* (sometimes denoted conj(A')), the matrix transpose and complex conjugate, instead of A. If false, use A directly in non-hermitian form. | |
hermit_B | If true, use hermitian B, i.e. B* (sometimes denoted conj(B')), the matrix transpose and complex conjugate, instead of B. If false, use B directly in non-hermitian form. |
void Blas_Mat_Mat_Mult | ( | const LaGenMatComplex & | A, | |
const LaGenMatComplex & | B, | |||
LaGenMatComplex & | C, | |||
LaComplex | alpha = 1.0 , |
|||
LaComplex | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B + beta*C
void Blas_Mat_Trans_Mat_Mult | ( | const LaGenMatComplex & | A, | |
const LaGenMatComplex & | B, | |||
LaGenMatComplex & | C, | |||
LaComplex | alpha = 1.0 , |
|||
LaComplex | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A'*B + beta*C
void Blas_Mat_Mat_Trans_Mult | ( | const LaGenMatComplex & | A, | |
const LaGenMatComplex & | B, | |||
LaGenMatComplex & | C, | |||
LaComplex | alpha = 1.0 , |
|||
LaComplex | beta = 0.0 | |||
) |
Perform the matrix-matrix operation C := alpha*A*B' + beta*C
void Blas_Scale | ( | COMPLEX | s, | |
LaGenMatComplex & | A | |||
) |
Matrix scaling: A := s * A
(New in lapackpp-2.4.7.)
void Blas_Mat_Mat_Mult | ( | LaSymmMatDouble & | A, | |
LaGenMatDouble & | B, | |||
LaGenMatDouble & | C, | |||
double | alpha = 1.0 , |
|||
double | beta = 1.0 , |
|||
bool | b_left_side = true | |||
) |
Perform one of the matrix-matrix operations
void Blas_R1_Update | ( | LaSymmMatDouble & | C, | |
LaGenMatDouble & | A, | |||
double | alpha = 1.0 , |
|||
double | beta = 1.0 , |
|||
bool | right_transposed = true | |||
) |
Perform one of the matrix-matrix operations
with A' as transposition of A.
void Blas_R2_Update | ( | LaSymmMatDouble & | C, | |
LaGenMatDouble & | A, | |||
LaGenMatDouble & | B, | |||
double | alpha = 1.0 , |
|||
double | beta = 1.0 , |
|||
bool | right_transposed = true | |||
) |
Perform one of the matrix-matrix operations
with A' and B' as transposition of A and B.
double Blas_Norm1 | ( | const LaGenMatDouble & | A | ) |
1-Norm: Maximum column sum
Returns the 1-Norm of matrix A, which is the maximum absolute column sum: ,
double Blas_Norm_Inf | ( | const LaGenMatDouble & | A | ) |
Infinity-Norm: Maximum row sum.
Returns the Infinity-Norm of matrix A, which is the maximum absolute row sum: ,
double Blas_NormF | ( | const LaGenMatDouble & | A | ) |
Frobenius-Norm.
Returns the Frobenius-Norm of matrix A (also called the Schur- or Euclidean norm): , i.e. the square root of the sum of the absolute squares of its elements.
double Blas_Norm1 | ( | const LaGenMatComplex & | A | ) |
1-Norm: Maximum column sum
Returns the 1-Norm of matrix A, which is the maximum absolute column sum: ,
double Blas_Norm_Inf | ( | const LaGenMatComplex & | A | ) |
Infinity-Norm: Maximum row sum.
Returns the Infinity-Norm of matrix A, which is the maximum absolute row sum: ,
double Blas_NormF | ( | const LaGenMatComplex & | A | ) |
Frobenius-Norm.
Returns the Frobenius-Norm of matrix A (also called the Schur- or Euclidean norm): , i.e. the square root of the sum of the absolute squares of its elements.
double Norm_Inf | ( | const LaBandMatDouble & | A | ) |
double Norm_Inf | ( | const LaSymmMatDouble & | S | ) |
double Norm_Inf | ( | const LaSpdMatDouble & | S | ) |
double Norm_Inf | ( | const LaSymmTridiagMatDouble & | S | ) |
double Norm_Inf | ( | const LaTridiagMatDouble & | T | ) |