Advanced Multi-Physics (AMP)
On-Line Documentation
DenseSerialMatrixOperations.h
Go to the documentation of this file.
1#ifndef included_DenseSerialMatrixOperations_H_
2#define included_DenseSerialMatrixOperations_H_
3
4#include "AMP/matrices/operations/MatrixOperations.h"
5
6namespace AMP::LinearAlgebra {
7
9{
10
17 void mult( std::shared_ptr<const Vector> x,
18 MatrixData const &A,
19 std::shared_ptr<Vector> y ) override;
20
27 void multTranspose( std::shared_ptr<const Vector> in,
28 MatrixData const &A,
29 std::shared_ptr<Vector> out ) override;
30
36 void scale( AMP::Scalar alpha, MatrixData &A ) override;
37
40 void scale( AMP::Scalar, std::shared_ptr<const Vector>, MatrixData & ) override;
41
44 void scaleInv( AMP::Scalar, std::shared_ptr<const Vector>, MatrixData & ) override;
45
51 void matMatMult( std::shared_ptr<MatrixData> A,
52 std::shared_ptr<MatrixData> B,
53 std::shared_ptr<MatrixData> C ) override;
54
61 void axpy( AMP::Scalar alpha, const MatrixData &X, MatrixData &Y ) override;
62
67 void setScalar( AMP::Scalar alpha, MatrixData &A ) override;
68
73 void zero( MatrixData &A ) override;
74
79 void setDiagonal( std::shared_ptr<const Vector> in, MatrixData &A ) override;
80
85 void extractDiagonal( MatrixData const &A, std::shared_ptr<Vector> buf ) override;
86
89 void getRowSums( MatrixData const &, std::shared_ptr<Vector> ) override;
90
93 void getRowSumsAbsolute( MatrixData const &, std::shared_ptr<Vector>, const bool ) override;
94
98 void setIdentity( MatrixData &A ) override;
99
104 AMP::Scalar LinfNorm( const MatrixData &X ) const override;
105
111 void copy( const MatrixData &x, MatrixData &y ) override;
112};
113
114} // namespace AMP::LinearAlgebra
115
116#endif
#define X(C)
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 setScalar(AMP::Scalar alpha, MatrixData &A) override
Set the non-zeros of the matrix to a scalar.
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 getRowSums(MatrixData const &, std::shared_ptr< Vector >) override
Extract the row sums into a vector.
void axpy(AMP::Scalar alpha, const MatrixData &X, MatrixData &Y) override
Compute the linear combination of two matrices.
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.
AMP::Scalar LinfNorm(const MatrixData &X) const override
Compute the maximum row sum.
void zero(MatrixData &A) override
Set the non-zeros of the matrix to zero.
void mult(std::shared_ptr< const Vector > x, MatrixData const &A, std::shared_ptr< Vector > y) override
Matrix-vector multiplication.
void setDiagonal(std::shared_ptr< const Vector > in, MatrixData &A) override
Set the diagonal to the values in a vector.
void extractDiagonal(MatrixData const &A, std::shared_ptr< Vector > buf) override
Extract the diagonal values into a vector.
void scaleInv(AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override
Scale the matrix by a scalar and inverse of diagonal matrix.
void getRowSumsAbsolute(MatrixData const &, std::shared_ptr< Vector >, const bool) override
Extract the absolute row sums into a vector.
void setIdentity(MatrixData &A) override
Set the matrix to the identity matrix.
void scale(AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override
Scale the matrix by a scalar and diagonal matrix.
Scalar is a class used to store a scalar variable that may be different types/precision.
Definition Scalar.h:21



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page