|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::extract_t = std::function< scalar_t(std::size_t i, std::size_t j)> | 
|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::extract_block_t = std::function< void(const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, DenseMatrix< scalar_t > &B)> | 
|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::mult_t = std::function< void(Trans op, const DenseMatrix< scalar_t > &R, DenseMatrix< scalar_t > &S)> | 
|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::extract_dist_block_t = std::function< void(const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, DistributedMatrix< scalar_t > &B)> | 
|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::mult_2d_t = std::function< void(Trans op, const DistributedMatrix< scalar_t > &R, DistributedMatrix< scalar_t > &S)> | 
|  | 
| template<typename scalar_t > | 
| using | strumpack::structured::mult_1d_t = std::function< void(Trans op, const DenseMatrix< scalar_t > &R, DenseMatrix< scalar_t > &S, const std::vector< int > &rdist, const std::vector< int > &cdist)> | 
|  | 
| using | strumpack::structured::admissibility_t = DenseMatrix< bool > | 
|  | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_dense (const DenseMatrix< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_dense (int rows, int cols, const scalar_t *A, int ldA, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_elements (int rows, int cols, const extract_t< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_elements (int rows, int cols, const extract_block_t< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_matrix_free (int rows, int cols, const mult_t< scalar_t > &Amult, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_partially_matrix_free (int rows, int cols, const mult_t< scalar_t > &Amult, const extract_block_t< scalar_t > &Aelem, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_partially_matrix_free (int rows, int cols, const mult_t< scalar_t > &Amult, const extract_t< scalar_t > &Aelem, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_dense (const DistributedMatrix< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_elements (const MPIComm &comm, const BLACSGrid *grid, int rows, int cols, const extract_t< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_from_elements (const MPIComm &comm, const BLACSGrid *grid, int rows, int cols, const extract_dist_block_t< scalar_t > &A, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_matrix_free (const MPIComm &comm, const BLACSGrid *g, int rows, int cols, const mult_2d_t< scalar_t > &Amult, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_matrix_free (const MPIComm &comm, int rows, int cols, const mult_1d_t< scalar_t > &Amult, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
| template<typename scalar_t > | 
| std::unique_ptr< StructuredMatrix< scalar_t > > | strumpack::structured::construct_partially_matrix_free (const BLACSGrid *grid, int rows, int cols, const mult_2d_t< scalar_t > &Amult, const extract_dist_block_t< scalar_t > &Aelem, const StructuredOptions< scalar_t > &opts, const structured::ClusterTree *row_tree=nullptr, const structured::ClusterTree *col_tree=nullptr) | 
|  | 
Contains the structured matrix interfaces.