BLRMatrix.hpp File Reference

Contains the BLRMatrix class. More...

#include <cassert>
#include <memory>
#include <functional>
#include <algorithm>
#include "BLROptions.hpp"
#include "BLRTileBLAS.hpp"
#include "structured/StructuredMatrix.hpp"
Include dependency graph for BLRMatrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  strumpack::BLR::BLRMatrix< scalar_t >
 Class to represent a block low-rank matrix. More...
 

Namespaces

 strumpack
 
 strumpack::BLR
 

Typedefs

template<typename T >
using strumpack::BLR::extract_t = std::function< void(const std::vector< std::size_t > &, const std::vector< std::size_t > &, DenseMatrix< T > &)>
 
using strumpack::BLR::adm_t = DenseMatrix< bool >
 

Functions

template<typename scalar_t >
void strumpack::BLR::LUAR (const std::vector< BLRTile< scalar_t > * > &Ti, const std::vector< BLRTile< scalar_t > * > &Tj, DenseMatrixWrapper< scalar_t > &tij, const BLROptions< scalar_t > &opts, int *B)
 
template<typename scalar_t >
void strumpack::BLR::LUAR_B22 (std::size_t i, std::size_t j, std::size_t kmax, BLRMatrix< scalar_t > &B12, BLRMatrix< scalar_t > &B21, DenseMatrix< scalar_t > &A22, const BLROptions< scalar_t > &opts, int *B)
 
template<typename scalar_t >
void strumpack::BLR::trsm (Side s, UpLo ul, Trans ta, Diag d, scalar_t alpha, const BLRMatrix< scalar_t > &a, DenseMatrix< scalar_t > &b, int task_depth)
 
template<typename scalar_t >
void strumpack::BLR::trsv (UpLo ul, Trans ta, Diag d, const BLRMatrix< scalar_t > &a, DenseMatrix< scalar_t > &b, int task_depth)
 
template<typename scalar_t >
void strumpack::BLR::gemv (Trans ta, scalar_t alpha, const BLRMatrix< scalar_t > &a, const DenseMatrix< scalar_t > &x, scalar_t beta, DenseMatrix< scalar_t > &y, int task_depth)
 
template<typename scalar_t >
void strumpack::BLR::gemm (Trans ta, Trans tb, scalar_t alpha, const BLRMatrix< scalar_t > &a, const BLRMatrix< scalar_t > &b, scalar_t beta, DenseMatrix< scalar_t > &c, int task_depth)
 
template<typename scalar_t >
void strumpack::BLR::gemm (Trans ta, Trans tb, scalar_t alpha, const BLRMatrix< scalar_t > &A, const DenseMatrix< scalar_t > &B, scalar_t beta, DenseMatrix< scalar_t > &C, int task_depth)
 
template<typename scalar_t >
void strumpack::BLR::draw (const BLRMatrix< scalar_t > &B, const std::string &name)
 

Detailed Description

Contains the BLRMatrix class.