#include <AbstractLinAlgPack_MatrixSymDiagSparse.hpp>
Inheritance diagram for AbstractLinAlgPack::MatrixSymDiagSparse:
To be overridden by subclass | |
| virtual const SpVectorSlice | diag () const =0 |
| Give access to the sparse diagonal. | |
Overridden from MatrixBase | |
| size_type | rows () const |
| | |
Overridden from MatrixOp | |
| std::ostream & | output (std::ostream &out) const |
| | |
Overridden from MatrixOpSerial | |
| void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const |
| | |
Overridden from MatrixSymOpSerial | |
| void | Mp_StMtMtM (DMatrixSliceSym *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixOpSerial &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta) const |
| Computes the dense symmetric matrix B += a*op(A')*M*op(A). | |
Overridden from MatrixConvertToSparse | |
| index_type | num_nonzeros (EExtractRegion extract_region, EElementUniqueness element_uniqueness) const |
| | |
| void | coor_extract_nonzeros (EExtractRegion extract_region, EElementUniqueness element_uniqueness, const index_type len_Aval, value_type Aval[], const index_type len_Aij, index_type Arow[], index_type Acol[], const index_type row_offset, const index_type col_offset) const |
| | |
Public Member Functions | |
| void | num_updates_at_once (const size_type &num_updates_at_once) |
| <<std member="" comp="">> members for how many updates to compute at once in the operation M_MtMtM(....). | |
| MatrixSymDiagSparse () | |
| The default value of num_updates_at_once == 0 is set to allow this class to determine the appropriate size internally. | |
Definition at line 40 of file AbstractLinAlgPack_MatrixSymDiagSparse.hpp.
|
|
The default value of num_updates_at_once == 0 is set to allow this class to determine the appropriate size internally.
Definition at line 55 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
|
<<std member="" comp="">> members for how many updates to compute at once in the operation M_MtMtM(....).
Definition at line 49 of file AbstractLinAlgPack_MatrixSymDiagSparse.hpp. |
|
|
Give access to the sparse diagonal.
Implemented in AbstractLinAlgPack::MatrixSymDiagSparseStd. |
|
|
Reimplemented from AbstractLinAlgPack::MatrixBase. Definition at line 61 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
|
Reimplemented from AbstractLinAlgPack::MatrixOpSerial. Definition at line 68 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
||||||||||||||||||||||||
|
Implements AbstractLinAlgPack::MatrixOpSerial. Definition at line 77 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
||||||||||||||||||||||||||||
|
Computes the dense symmetric matrix B += a*op(A')*M*op(A). This matrix is computed using a set of rank-1 updates. Runtime ~ O( (m^2)*nz ) Storage ~ O( num_updates_at_once * m ) Where:
Note that a necessary condition for Also note that this default implementation is only for nonnegative diagonal entries. Reimplemented from AbstractLinAlgPack::MatrixSymOpSerial. Definition at line 103 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
||||||||||||
|
Implements AbstractLinAlgPack::MatrixConvertToSparse. Definition at line 237 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
|
||||||||||||||||||||||||||||||||||||||||
|
Implements AbstractLinAlgPack::MatrixConvertToSparse. Definition at line 245 of file AbstractLinAlgPack_MatrixSymDiagSparse.cpp. |
1.3.9.1