HOLDER_PAC
 All Classes Functions Modules
Functions
Dense Matrix Constructors

Thse constructors build an HODLR matrix from a preallocated dense matrix. More...

Functions

 HODLR_Matrix::HODLR_Matrix (Eigen::MatrixXd &inputMatrix, int inputSizeThreshold=30, std::string LR_Method="partialPiv_ACA")
 This constructor initializes the class with a dense matrix and an optional leaf size threshold. More...
 
 HODLR_Matrix::HODLR_Matrix (Eigen::MatrixXd &inputMatrix, int inputSizeThreshold, user_IndexTree &input_IndexTree)
 This constructor initializes the class with a dense matrix and a user specified indexing scheme which will be used to create the HODLR index tree. This constructor initializes the class with a dense matrix. More...
 
 HODLR_Matrix::HODLR_Matrix (Eigen::MatrixXd &inputMatrix, Eigen::SparseMatrix< double > &inputGraph, int inputSizeThreshold=30)
 This constructor initializes the class with a dense matrix and an interaction graph (sparse matrix). The grpah is going to be used primarily as the interaction graph in the BDLR scheme. More...
 
 HODLR_Matrix::HODLR_Matrix (Eigen::MatrixXd &inputMatrix, Eigen::SparseMatrix< double > &inputGraph, int inputSizeThreshold, user_IndexTree &input_IndexTree)
 This constructor initializes the class with a dense matrix and an interaction graph (sparse matrix) and a user defined indexing schemes. The grpah is going to be used primarily as the interaction graph in the BDLR scheme. The user defined indexing scheme will be used to create the HODLR index tree. More...
 

Detailed Description

Thse constructors build an HODLR matrix from a preallocated dense matrix.

Note
Currently, the dense matrix is being passed by a non const reference variable. So if you want your original matrix, copy it elsewhere befor passing it to the constructor.
Only use the partial pivoting ACA ("partialPiv_ACA"), full pivoting ACA ("fullPiv_ACA"), singualr value Decomposition ("SVD"), pseudo skeleton with Chebyshev point selection ("PS_Cheby") or BDLR ("PS_Boundary") as the low-rank approximation schemes for dense matrices.

Function Documentation

HODLR_Matrix::HODLR_Matrix ( Eigen::MatrixXd &  inputMatrix,
int  inputSizeThreshold = 30,
std::string  LR_Method = "partialPiv_ACA" 
)

This constructor initializes the class with a dense matrix and an optional leaf size threshold.

Parameters
[in]inputMatrix: Preallocated dense matrix as Eigen::MatrixXd matrix class.
[in]inputSizeThreshold: Leaf size threhold. If no value is provided, it will set the leaf size to the default value of 30.
[in]LR_Method: Low-rank approximation scheme to be used in calculating the off-diagonal low-rank approximations. If no value is provided, it will set the LR_Method parameter to "partialPiv_ACA".
HODLR_Matrix::HODLR_Matrix ( Eigen::MatrixXd &  inputMatrix,
int  inputSizeThreshold,
user_IndexTree input_IndexTree 
)

This constructor initializes the class with a dense matrix and a user specified indexing scheme which will be used to create the HODLR index tree. This constructor initializes the class with a dense matrix.

Parameters
[in]inputMatrix: Preallocated dense matrix as Eigen::MatrixXd matrix class.
[in]inputSizeThreshold: Leaf size threhold.
[in]input_IndexTree: User defined splitting scheme stored as a user_IndexTree class.
HODLR_Matrix::HODLR_Matrix ( Eigen::MatrixXd &  inputMatrix,
Eigen::SparseMatrix< double > &  inputGraph,
int  inputSizeThreshold = 30 
)

This constructor initializes the class with a dense matrix and an interaction graph (sparse matrix). The grpah is going to be used primarily as the interaction graph in the BDLR scheme.

Parameters
[in]inputMatrix: Preallocated dense matrix as Eigen::MatrixXd matrix class.
[in]inputGraph: Preallocated sparse matrix. This sparse matrix will be used as the interaction graph in the BDLR low-rank approximation scheme.
[in]inputSizeThreshold: Leaf size threhold. If no value is provided, it will set the leaf size to the default value of 30.
HODLR_Matrix::HODLR_Matrix ( Eigen::MatrixXd &  inputMatrix,
Eigen::SparseMatrix< double > &  inputGraph,
int  inputSizeThreshold,
user_IndexTree input_IndexTree 
)

This constructor initializes the class with a dense matrix and an interaction graph (sparse matrix) and a user defined indexing schemes. The grpah is going to be used primarily as the interaction graph in the BDLR scheme. The user defined indexing scheme will be used to create the HODLR index tree.

Parameters
[in]inputMatrix: Preallocated dense matrix as Eigen::MatrixXd matrix class.
[in]inputGraph: Preallocated sparse matrix. This sparse matrix will be used as the interaction graph in the BDLR low-rank approximation scheme.
[in]inputSizeThreshold: Leaf size threhold.
[in]input_IndexTree: User defined splitting scheme stored as a user_IndexTree class.