1 #ifndef PARALUTION_HOST_MATRIX_DENSE_HPP_
2 #define PARALUTION_HOST_MATRIX_DENSE_HPP_
4 #include "../base_vector.hpp"
5 #include "../base_matrix.hpp"
6 #include "../matrix_formats.hpp"
10 template <
typename ValueType>
11 class HostMatrixDENSE :
public HostMatrix<ValueType> {
19 virtual void info(
void)
const;
22 virtual void Clear(
void);
24 virtual void SetDataPtrDENSE(ValueType **val,
const int nrow,
const int ncol);
73 #endif // PARALUTION_HOST_MATRIX_DENSE_HPP_
A
Definition: pcg_example.m:10
virtual bool ReplaceRowVector(const int idx, const BaseVector< ValueType > &vec)
Replace a column vector of a matrix.
Definition: host_matrix_dense.cpp:1088
virtual unsigned int get_mat_format(void) const
Return the matrix format id (see matrix_formats.hpp)
Definition: host_matrix_dense.hpp:20
virtual ~HostMatrixDENSE()
Definition: host_matrix_dense.cpp:48
Definition: matrix_formats.hpp:20
virtual void CopyTo(BaseMatrix< ValueType > *mat) const
Copy to another matrix.
Definition: host_matrix_dense.cpp:182
const IndexType idx
Definition: cuda_kernels_coo.hpp:115
virtual bool QRDecompose(void)
QR Decomposition.
Definition: host_matrix_dense.cpp:867
Definition: base_matrix.hpp:14
Definition: base_matrix.hpp:50
virtual void info(void) const
Shows simple info about the object.
Definition: host_matrix_dense.cpp:58
virtual bool LUSolve(const BaseVector< ValueType > &in, BaseVector< ValueType > *out) const
Solve LU out = in; if level-scheduling algorithm is provided then the graph traversing is performed i...
Definition: host_matrix_dense.cpp:1031
Dense Matrix (see DENSE_IND for indexing)
Definition: matrix_formats.hpp:117
const IndexType const IndexType const IndexType const ValueType const ValueType scalar
Definition: cuda_kernels_coo.hpp:91
virtual bool QRSolve(const BaseVector< ValueType > &in, BaseVector< ValueType > *out) const
Solve QR out = in.
Definition: host_matrix_dense.cpp:907
virtual bool LUFactorize(void)
Perform LU factorization.
Definition: host_matrix_dense.cpp:1005
MatrixDENSE< ValueType > mat_
Definition: host_matrix_dense.hpp:54
Definition: base_vector.hpp:10
virtual void LeaveDataPtrDENSE(ValueType **val)
Leave a DENSE matrix to Host pointers.
Definition: host_matrix_dense.cpp:130
Definition: base_matrix.hpp:88
virtual bool ExtractRowVector(const int idx, BaseVector< ValueType > *vec) const
Extract values from a row of a matrix to a vector.
Definition: host_matrix_dense.cpp:1134
virtual void CopyFrom(const BaseMatrix< ValueType > &mat)
Copy from another matrix.
Definition: host_matrix_dense.cpp:148
virtual void AllocateDENSE(const int nrow, const int ncol)
Allocate DENSE Matrix.
Definition: host_matrix_dense.cpp:91
Definition: base_matrix.hpp:20
virtual bool MatMatMult(const BaseMatrix< ValueType > &A, const BaseMatrix< ValueType > &B)
Multiply two matrices, this = A * B.
Definition: host_matrix_dense.cpp:781
Definition: base_matrix.hpp:22
virtual bool Householder(const int idx, ValueType &beta, BaseVector< ValueType > *vec) const
Compute Householder vector.
Definition: host_matrix_dense.cpp:821
Base class for all host/accelerator matrices.
Definition: base_matrix.hpp:92
virtual void ApplyAdd(const BaseVector< ValueType > &in, const ValueType scalar, BaseVector< ValueType > *out) const
Apply and add the matrix to vector, out = out + scalar*this*in;.
Definition: host_matrix_dense.cpp:589
virtual void SetDataPtrDENSE(ValueType **val, const int nrow, const int ncol)
Initialize a DENSE matrix on the Host with externally allocated data.
Definition: host_matrix_dense.cpp:113
Definition: base_matrix.hpp:16
Definition: backend_manager.cpp:43
virtual bool Invert(void)
Invert this.
Definition: host_matrix_dense.cpp:968
virtual bool ReplaceColumnVector(const int idx, const BaseVector< ValueType > &vec)
Replace a column vector of a matrix.
Definition: host_matrix_dense.cpp:1065
virtual void Apply(const BaseVector< ValueType > &in, BaseVector< ValueType > *out) const
Apply the matrix to vector, out = this*in;.
Definition: host_matrix_dense.cpp:392
Definition: base_matrix.hpp:69
HostMatrixDENSE()
Definition: host_matrix_dense.cpp:28
virtual void Clear(void)
Clear (free) the matrix.
Definition: host_matrix_dense.cpp:76
Base class for all host/accelerator vectors.
Definition: base_vector.hpp:26
virtual bool ConvertFrom(const BaseMatrix< ValueType > &mat)
Convert the matrix from another matrix (with different structure)
Definition: host_matrix_dense.cpp:189
Definition: base_matrix.hpp:18
virtual bool ExtractColumnVector(const int idx, BaseVector< ValueType > *vec) const
Extract values from a column of a matrix to a vector.
Definition: host_matrix_dense.cpp:1111