#include <DenseSerialMatrixOperations.h>

Public Member Functions | |
| virtual void | copyCast (const MatrixData &x, MatrixData &y) |
| Set this matrix with the same non-zero and distributed structure as x and copy the coefficients after up/down casting. | |
| uint64_t | getID () const |
| Get a unique id hash for the vector operation. | |
| virtual void | registerChildObjects (AMP::IO::RestartManager *manager) const |
| Register any child objects. | |
| virtual std::string | type () const |
| Return the type of the matrix operations class. | |
| virtual void | writeRestart (int64_t fid) const |
| Write restart data to file. | |
Protected Attributes | |
| uint64_t | d_hash = 0 |
| unique hash for object | |
Private Member Functions | |
| void | axpy (AMP::Scalar alpha, const MatrixData &X, MatrixData &Y) override |
| Compute the linear combination of two matrices. | |
| void | copy (const MatrixData &x, MatrixData &y) override |
| Set this matrix with the same non-zero and distributed structure as x and copy the coefficients. | |
| void | extractDiagonal (MatrixData const &A, std::shared_ptr< Vector > buf) override |
| Extract the diagonal values into a vector. | |
| void | getRowSums (MatrixData const &, std::shared_ptr< Vector >) override |
| Extract the row sums into a vector. | |
| void | getRowSumsAbsolute (MatrixData const &, std::shared_ptr< Vector >, const bool) override |
| Extract the absolute row sums into a vector. | |
| AMP::Scalar | LinfNorm (const MatrixData &X) const override |
| Compute the maximum row sum. | |
| void | matMatMult (std::shared_ptr< MatrixData > A, std::shared_ptr< MatrixData > B, std::shared_ptr< MatrixData > C) override |
| Compute the product of two matrices. | |
| void | mult (std::shared_ptr< const Vector > x, MatrixData const &A, std::shared_ptr< Vector > y) override |
| Matrix-vector multiplication. | |
| void | multTranspose (std::shared_ptr< const Vector > in, MatrixData const &A, std::shared_ptr< Vector > out) override |
| Matrix transpose-vector multiplication. | |
| void | scale (AMP::Scalar alpha, MatrixData &A) override |
| Scale the matrix by a scalar. | |
| void | scale (AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override |
| Scale the matrix by a scalar and diagonal matrix. | |
| void | scaleInv (AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override |
| Scale the matrix by a scalar and inverse of diagonal matrix. | |
| void | setDiagonal (std::shared_ptr< const Vector > in, MatrixData &A) override |
| Set the diagonal to the values in a vector. | |
| void | setIdentity (MatrixData &A) override |
| Set the matrix to the identity matrix. | |
| void | setScalar (AMP::Scalar alpha, MatrixData &A) override |
| Set the non-zeros of the matrix to a scalar. | |
| void | zero (MatrixData &A) override |
| Set the non-zeros of the matrix to zero. | |
Definition at line 8 of file DenseSerialMatrixOperations.h.
|
overrideprivatevirtual |
Compute the linear combination of two matrices.
| [in] | alpha | scalar |
| [in] | X | matrix |
| [out] | Y | The output matrix |
Compute \(\mathbf{THIS} = \alpha\mathbf{X} + \mathbf{THIS}\)
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Set this matrix with the same non-zero and distributed structure as x and copy the coefficients.
| [in] | x | matrix data to copy from |
| [in] | y | matrix data to copy to |
Implements AMP::LinearAlgebra::MatrixOperations.
|
virtualinherited |
Set this matrix with the same non-zero and distributed structure as x and copy the coefficients after up/down casting.
| [in] | x | matrix data to copy from |
| [in] | y | matrix data to copy to after up/down casting the coefficients |
Reimplemented in AMP::LinearAlgebra::CSRMatrixOperationsDefault< Config >, and AMP::LinearAlgebra::CSRMatrixOperationsDevice< Config >.
|
overrideprivatevirtual |
Extract the diagonal values into a vector.
| [in] | A | The matrix to read from |
| [out] | buf | Buffer to write row sums into |
Implements AMP::LinearAlgebra::MatrixOperations.
|
inherited |
Get a unique id hash for the vector operation.
|
overrideprivatevirtual |
Extract the row sums into a vector.
Reimplemented from AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Extract the absolute row sums into a vector.
Reimplemented from AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Compute the maximum row sum.
| [in] | X | Data for the input matrix |
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Compute the product of two matrices.
| [in] | A | A multiplicand |
| [in] | B | A multiplicand |
| [in] | C | The product \(\mathbf{AB}\). |
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Matrix-vector multiplication.
| [in] | x | The vector to multiply |
| [in] | A | The input matrix A |
| [out] | y | The resulting vectory |
Compute \(\mathbf{Ax} = \mathbf{y}\).
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Matrix transpose-vector multiplication.
| [in] | in | The vector to multiply |
| [in] | A | The input matrix A |
| [out] | out | The resulting vectory |
Compute \(\mathbf{A}^T\mathbf{in} = \mathbf{out}\).
Implements AMP::LinearAlgebra::MatrixOperations.
|
virtualinherited |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
|
overrideprivatevirtual |
Scale the matrix by a scalar.
| [in] | alpha | The value to scale by |
| [in,out] | A | The matrix A |
Compute \(\mathbf{A} = \alpha\mathbf{A}\)
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Scale the matrix by a scalar and diagonal matrix.
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Scale the matrix by a scalar and inverse of diagonal matrix.
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Set the diagonal to the values in a vector.
| [in] | in | The values to set the diagonal to |
| [out] | A | The matrix to set |
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Set the matrix to the identity matrix.
| [out] | A | The matrix to set |
Implements AMP::LinearAlgebra::MatrixOperations.
|
overrideprivatevirtual |
Set the non-zeros of the matrix to a scalar.
| [in] | alpha | The value to set the non-zeros to |
| [out] | A | The input matrix A |
Implements AMP::LinearAlgebra::MatrixOperations.
|
inlinevirtualinherited |
Return the type of the matrix operations class.
Reimplemented in AMP::LinearAlgebra::CSRMatrixOperationsDefault< Config >, and AMP::LinearAlgebra::CSRMatrixOperationsDevice< Config >.
Definition at line 143 of file MatrixOperations.h.
|
virtualinherited |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented in AMP::LinearAlgebra::CSRMatrixOperationsDefault< Config >, and AMP::LinearAlgebra::CSRMatrixOperationsDevice< Config >.
|
overrideprivatevirtual |
Set the non-zeros of the matrix to zero.
May not deallocate space.
| [in] | A | The input matrix A |
Implements AMP::LinearAlgebra::MatrixOperations.
|
protectedinherited |
unique hash for object
Definition at line 169 of file MatrixOperations.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:42. Comments on this page |