Normal matrix. More...
#include <MatrixGeneral.h>
Public Types | |
typedef VectorGeneral< Treal, typename Tmatrix::VectorType > | VectorType |
Public Member Functions | |
MatrixGeneral () | |
Default constructor. | |
MatrixGeneral (const MatrixGeneral< Treal, Tmatrix > &matr) | |
Copy constructor. | |
MatrixGeneral (const MatrixSymmetric< Treal, Tmatrix > &symm) | |
Copy from symmetric matrix constructor. | |
MatrixGeneral (const MatrixTriangular< Treal, Tmatrix > &triang) | |
Copy from triangular matrix constructor. | |
void | assignFromFull (std::vector< Treal > const &fullMat) |
void | fullMatrix (std::vector< Treal > &fullMat) const |
void | fullMatrix (std::vector< Treal > &fullMat, std::vector< int > const &rowInversePermutation, std::vector< int > const &colInversePermutation) const |
Save matrix as full matrix. | |
void | assign_from_sparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values, SizesAndBlocks const &newRows, SizesAndBlocks const &newCols) |
Assign from sparse matrix given by three arrays. | |
void | assign_from_sparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values, std::vector< int > const &rowPermutation, std::vector< int > const &colPermutation) |
Same as above, except taking two additional arguments specifying the permutation of rows and columns. | |
void | assign_from_sparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values, SizesAndBlocks const &newRows, SizesAndBlocks const &newCols, std::vector< int > const &rowPermutation, std::vector< int > const &colPermutation) |
Same as above, except not assuming that sizes and blocks are set. | |
void | get_values (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > &values) const |
Get values given by row and column index lists. | |
void | get_values (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > &values, std::vector< int > const &rowPermutation, std::vector< int > const &colPermutation) const |
Same as above, except taking two additional arguments specifying the permutation of rows and columns. | |
void | get_all_values (std::vector< int > &rowind, std::vector< int > &colind, std::vector< Treal > &values) const |
Get all values and corresponding row and column index lists, in matrix. | |
void | get_all_values (std::vector< int > &rowind, std::vector< int > &colind, std::vector< Treal > &values, std::vector< int > const &rowInversePermutation, std::vector< int > const &colInversePermutation) const |
Same as above, except taking two additional arguments specifying the permutation of rows and columns. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const MatrixGeneral< Treal, Tmatrix > &mat) |
MatrixGeneral< Treal, Tmatrix > & | operator= (const Xtrans< MatrixGeneral< Treal, Tmatrix > > &mt) |
MatrixGeneral< Treal, Tmatrix > & | operator= (const MatrixSymmetric< Treal, Tmatrix > &symm) |
MatrixGeneral< Treal, Tmatrix > & | operator= (const MatrixTriangular< Treal, Tmatrix > &triang) |
MatrixGeneral< Treal, Tmatrix > & | operator= (int const k) |
Treal | frob () const |
Treal | eucl (Treal const requestedAccuracy, int maxIter=-1) const |
void | thresh (Treal const threshold, normType const norm) |
void | frob_thresh (Treal threshold) |
Treal | eucl_thresh (Treal const threshold) |
void | gershgorin (Treal &lmin, Treal &lmax) |
size_t | nnz () const |
size_t | nvalues () const |
void | write_to_buffer (void *buffer, const int n_bytes) const |
void | read_from_buffer (void *buffer, const int n_bytes) |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
C = alpha * op(A) * op(B). | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XY< MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &mm) |
C = op(A) * op(B). | |
MatrixGeneral< Treal, Tmatrix > & | operator+= (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
C += alpha * op(A) * op(B). | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZpUV< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > &smmpsm) |
C = alpha * op(A) * op(B) + beta * C. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (XpY< MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > const &mpm) |
C = A + B. | |
MatrixGeneral< Treal, Tmatrix > & | operator+= (MatrixGeneral< Treal, Tmatrix > const &A) |
B += A. | |
MatrixGeneral< Treal, Tmatrix > & | operator-= (MatrixGeneral< Treal, Tmatrix > const &A) |
MatrixGeneral< Treal, Tmatrix > & | operator+= (XY< Treal, MatrixGeneral< Treal, Tmatrix > > const &sm) |
B += alpha * A. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
C = alpha * A * B : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XY< MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &mm) |
C = A * B : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator+= (const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
C += alpha * A * B : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZpUV< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > &smmpsm) |
C = alpha * A * B + beta * C : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &smm) |
C = alpha * B * A : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XY< MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &mm) |
C = B * A : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator+= (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &smm) |
C += alpha * B * A : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZpUV< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > &smmpsm) |
C = alpha * B * A + beta * C : A is symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &smm) |
C = alpha * A * B : A and B are symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XY< MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &mm) |
C = A * B : A and B are symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator+= (const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > &smm) |
C += alpha * A * B : A and B are symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZpUV< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > &smmpsm) |
C = alpha * A * B + beta * C : A and B are symmetric. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixTriangular< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
B = alpha * op(A) * B : A is upper triangular. | |
MatrixGeneral< Treal, Tmatrix > & | operator= (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixTriangular< Treal, Tmatrix > > &smm) |
B = alpha * B * op(A) : A is upper triangular. | |
void | random () |
void | randomZeroStructure (Treal probabilityBeingZero) |
template<typename TRule > | |
void | setElementsByRule (TRule &rule) |
std::string | obj_type_id () const |
Static Public Member Functions | |
static Treal | frob_diff (const MatrixGeneral< Treal, Tmatrix > &A, const MatrixGeneral< Treal, Tmatrix > &B) |
static Treal | trace_ab (const MatrixGeneral< Treal, Tmatrix > &A, const MatrixGeneral< Treal, Tmatrix > &B) |
static Treal | trace_aTb (const MatrixGeneral< Treal, Tmatrix > &A, const MatrixGeneral< Treal, Tmatrix > &B) |
Protected Member Functions | |
void | writeToFileProt (std::ofstream &file) const |
Write object to file. | |
void | readFromFileProt (std::ifstream &file) |
Read object from file. |
Normal matrix.
This class belongs to the matrix API
Treal: Type for real numbers
Tmatrix: The matrix class
Tperm: Permutation used in the matrix class
typedef VectorGeneral<Treal, typename Tmatrix::VectorType> mat::MatrixGeneral< Treal, Tmatrix >::VectorType |
mat::MatrixGeneral< Treal, Tmatrix >::MatrixGeneral | ( | ) | [inline] |
Default constructor.
mat::MatrixGeneral< Treal, Tmatrix >::MatrixGeneral | ( | const MatrixGeneral< Treal, Tmatrix > & | matr | ) | [inline, explicit] |
Copy constructor.
mat::MatrixGeneral< Treal, Tmatrix >::MatrixGeneral | ( | const MatrixSymmetric< Treal, Tmatrix > & | symm | ) | [inline, explicit] |
Copy from symmetric matrix constructor.
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
mat::MatrixGeneral< Treal, Tmatrix >::MatrixGeneral | ( | const MatrixTriangular< Treal, Tmatrix > & | triang | ) | [inline, explicit] |
Copy from triangular matrix constructor.
void mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse | ( | std::vector< int > const & | rowind, | |
std::vector< int > const & | colind, | |||
std::vector< Treal > const & | values, | |||
SizesAndBlocks const & | newRows, | |||
SizesAndBlocks const & | newCols, | |||
std::vector< int > const & | rowPermutation, | |||
std::vector< int > const & | colPermutation | |||
) | [inline] |
Same as above, except not assuming that sizes and blocks are set.
References mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse(), and mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks().
void mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse | ( | std::vector< int > const & | rowind, | |
std::vector< int > const & | colind, | |||
std::vector< Treal > const & | values, | |||
std::vector< int > const & | rowPermutation, | |||
std::vector< int > const & | colPermutation | |||
) | [inline] |
Same as above, except taking two additional arguments specifying the permutation of rows and columns.
Also assuming that sizes and blocks are already known
References mat::MatrixBase< Treal, Tmatrix >::getPermutedIndexes(), and mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
void mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse | ( | std::vector< int > const & | rowind, | |
std::vector< int > const & | colind, | |||
std::vector< Treal > const & | values, | |||
SizesAndBlocks const & | newRows, | |||
SizesAndBlocks const & | newCols | |||
) | [inline] |
Assign from sparse matrix given by three arrays.
The arrays contain row indices, column indices and values. The indices start at zero. nval is the length of the three arrays.
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr, and mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks().
Referenced by mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse(), and mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::assignFromFull | ( | std::vector< Treal > const & | fullMat | ) | [inline] |
Treal mat::MatrixGeneral< Treal, Tmatrix >::eucl | ( | Treal const | requestedAccuracy, | |
int | maxIter = -1 | |||
) | const [inline] |
References cols, mat::MatrixBase< Treal, Tmatrix >::get_nrows(), mat::MatrixBase< Treal, Tmatrix >::getCols(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig(), mat::Interval< Treal >::length(), mat::Interval< Treal >::low(), mat::Interval< Treal >::midPoint(), mat::VectorGeneral< Treal, Tvector >::rand(), and mat::VectorGeneral< Treal, Tvector >::resetSizesAndBlocks().
Referenced by mainFun().
Treal mat::MatrixGeneral< Treal, Tmatrix >::eucl_thresh | ( | Treal const | threshold | ) | [inline] |
References mat::EuclTruncationBase< Tmatrix, Treal >::run().
Referenced by mainFun(), and SCF_general::SCF_general().
Treal mat::MatrixGeneral< Treal, Tmatrix >::frob | ( | ) | const [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by SCF_unrestricted::get_error_measure(), SCF_restricted::get_error_measure(), and mainFun().
static Treal mat::MatrixGeneral< Treal, Tmatrix >::frob_diff | ( | const MatrixGeneral< Treal, Tmatrix > & | A, | |
const MatrixGeneral< Treal, Tmatrix > & | B | |||
) | [inline, static] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
void mat::MatrixGeneral< Treal, Tmatrix >::frob_thresh | ( | Treal | threshold | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun(), and mat::MatrixGeneral< Treal, Tmatrix >::thresh().
void mat::MatrixGeneral< Treal, Tmatrix >::fullMatrix | ( | std::vector< Treal > & | fullMat, | |
std::vector< int > const & | rowInversePermutation, | |||
std::vector< int > const & | colInversePermutation | |||
) | const [inline] |
Save matrix as full matrix.
Whole matrix is written in columnwise order. Both lower and upper triangle. Permutation is used.
References mat::MatrixGeneral< Treal, Tmatrix >::get_all_values(), mat::MatrixBase< Treal, Tmatrix >::get_ncols(), and mat::MatrixBase< Treal, Tmatrix >::get_nrows().
void mat::MatrixGeneral< Treal, Tmatrix >::fullMatrix | ( | std::vector< Treal > & | fullMat | ) | const [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::gershgorin | ( | Treal & | lmin, | |
Treal & | lmax | |||
) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
void mat::MatrixGeneral< Treal, Tmatrix >::get_all_values | ( | std::vector< int > & | rowind, | |
std::vector< int > & | colind, | |||
std::vector< Treal > & | values, | |||
std::vector< int > const & | rowInversePermutation, | |||
std::vector< int > const & | colInversePermutation | |||
) | const [inline] |
Same as above, except taking two additional arguments specifying the permutation of rows and columns.
Note, however, that this permutation is the inverse permutation compared to the permutations provided in the functions "assign_from_sparse", "add_values", and "get_values"
References mat::MatrixBase< Treal, Tmatrix >::getPermutedIndexes(), and mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
void mat::MatrixGeneral< Treal, Tmatrix >::get_all_values | ( | std::vector< int > & | rowind, | |
std::vector< int > & | colind, | |||
std::vector< Treal > & | values | |||
) | const [inline] |
Get all values and corresponding row and column index lists, in matrix.
nval is the length of the three arrays and is preferably computed with nvalues() before hand. Returns the number of values.
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mat::MatrixGeneral< Treal, Tmatrix >::fullMatrix(), and mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::get_values | ( | std::vector< int > const & | rowind, | |
std::vector< int > const & | colind, | |||
std::vector< Treal > & | values, | |||
std::vector< int > const & | rowPermutation, | |||
std::vector< int > const & | colPermutation | |||
) | const [inline] |
Same as above, except taking two additional arguments specifying the permutation of rows and columns.
References mat::MatrixBase< Treal, Tmatrix >::getPermutedIndexes(), and mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
void mat::MatrixGeneral< Treal, Tmatrix >::get_values | ( | std::vector< int > const & | rowind, | |
std::vector< int > const & | colind, | |||
std::vector< Treal > & | values | |||
) | const [inline] |
Get values given by row and column index lists.
Input arrays contain row and column indices. The output array contains values for the given indices. nval is the length of the three arrays.
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
size_t mat::MatrixGeneral< Treal, Tmatrix >::nnz | ( | ) | const [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun().
size_t mat::MatrixGeneral< Treal, Tmatrix >::nvalues | ( | ) | const [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
std::string mat::MatrixGeneral< Treal, Tmatrix >::obj_type_id | ( | ) | const [inline, virtual] |
Reimplemented from mat::MatrixBase< Treal, Tmatrix >.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | smm | ) | [inline] |
C += alpha * A * B : A and B are symmetric.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | smm | ) | [inline] |
C += alpha * B * A : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) | [inline] |
C += alpha * A * B : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | XY< Treal, MatrixGeneral< Treal, Tmatrix > > const & | sm | ) | [inline] |
B += alpha * A.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | MatrixGeneral< Treal, Tmatrix > const & | A | ) | [inline] |
B += A.
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator+= | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) | [inline] |
C += alpha * op(A) * op(B).
References mat::gemm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator-= | ( | MatrixGeneral< Treal, Tmatrix > const & | A | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixTriangular< Treal, Tmatrix > > & | smm | ) | [inline] |
B = alpha * B * op(A) : A is upper triangular.
References mat::trmm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixTriangular< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) | [inline] |
B = alpha * op(A) * B : A is upper triangular.
References mat::trmm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZpUV< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > & | smmpsm | ) | [inline] |
C = alpha * A * B + beta * C : A and B are symmetric.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XY< MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | mm | ) | [inline] |
C = A * B : A and B are symmetric.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | smm | ) | [inline] |
C = alpha * A * B : A and B are symmetric.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZpUV< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > & | smmpsm | ) | [inline] |
C = alpha * B * A + beta * C : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XY< MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | mm | ) | [inline] |
C = B * A : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixSymmetric< Treal, Tmatrix > > & | smm | ) | [inline] |
C = alpha * B * A : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZpUV< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > & | smmpsm | ) | [inline] |
C = alpha * A * B + beta * C : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XY< MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | mm | ) | [inline] |
C = A * B : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixSymmetric< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) | [inline] |
C = alpha * A * B : A is symmetric.
References mat::symm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | XpY< MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > const & | mpm | ) | [inline] |
C = A + B.
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZpUV< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix >, Treal, MatrixGeneral< Treal, Tmatrix > > & | smmpsm | ) | [inline] |
C = alpha * op(A) * op(B) + beta * C.
References mat::gemm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XY< MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | mm | ) | [inline] |
C = op(A) * op(B).
References mat::gemm().
MatrixGeneral< Treal, Tmatrix > & mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) | [inline] |
C = alpha * op(A) * op(B).
References mat::gemm().
MatrixGeneral<Treal, Tmatrix>& mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | int const | k | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
MatrixGeneral<Treal, Tmatrix>& mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const MatrixTriangular< Treal, Tmatrix > & | triang | ) | [inline] |
MatrixGeneral<Treal, Tmatrix>& mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const MatrixSymmetric< Treal, Tmatrix > & | symm | ) | [inline] |
MatrixGeneral<Treal, Tmatrix>& mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const Xtrans< MatrixGeneral< Treal, Tmatrix > > & | mt | ) | [inline] |
References mat::MatrixGeneral< Treal, Tmatrix >::operator=(), and mat::transpose().
MatrixGeneral<Treal, Tmatrix>& mat::MatrixGeneral< Treal, Tmatrix >::operator= | ( | const MatrixGeneral< Treal, Tmatrix > & | mat | ) | [inline] |
Reimplemented from mat::MatrixBase< Treal, Tmatrix >.
Referenced by mat::MatrixGeneral< Treal, Tmatrix >::operator=().
void mat::MatrixGeneral< Treal, Tmatrix >::random | ( | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::randomZeroStructure | ( | Treal | probabilityBeingZero | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::read_from_buffer | ( | void * | buffer, | |
const int | n_bytes | |||
) | [inline] |
void mat::MatrixGeneral< Treal, Tmatrix >::readFromFileProt | ( | std::ifstream & | ) | [inline, protected, virtual] |
Read object from file.
Defined in derived class.
Implements mat::FileWritable.
References mat::matrix_matr, and mat::MatrixBase< Treal, Tmatrix >::readFromFileBase().
void mat::MatrixGeneral< Treal, Tmatrix >::setElementsByRule | ( | TRule & | rule | ) | [inline] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mainFun().
void mat::MatrixGeneral< Treal, Tmatrix >::thresh | ( | Treal const | threshold, | |
normType const | norm | |||
) | [inline] |
References mat::MatrixGeneral< Treal, Tmatrix >::frob_thresh(), and mat::frobNorm.
static Treal mat::MatrixGeneral< Treal, Tmatrix >::trace_ab | ( | const MatrixGeneral< Treal, Tmatrix > & | A, | |
const MatrixGeneral< Treal, Tmatrix > & | B | |||
) | [inline, static] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mat::trace().
static Treal mat::MatrixGeneral< Treal, Tmatrix >::trace_aTb | ( | const MatrixGeneral< Treal, Tmatrix > & | A, | |
const MatrixGeneral< Treal, Tmatrix > & | B | |||
) | [inline, static] |
References mat::MatrixBase< Treal, Tmatrix >::matrixPtr.
Referenced by mat::trace().
void mat::MatrixGeneral< Treal, Tmatrix >::write_to_buffer | ( | void * | buffer, | |
const int | n_bytes | |||
) | const [inline] |
void mat::MatrixGeneral< Treal, Tmatrix >::writeToFileProt | ( | std::ofstream & | ) | const [inline, protected, virtual] |
Write object to file.
Defined in derived class.
Implements mat::FileWritable.
References mat::matrix_matr, and mat::MatrixBase< Treal, Tmatrix >::writeToFileBase().