Gyselalib++
 
Loading...
Searching...
No Matches
Matrix_Corner_Block Class Reference
Inheritance diagram for Matrix_Corner_Block:
Matrix Matrix_Center_Block Matrix_Periodic_Banded

Public Member Functions

 Matrix_Corner_Block (int n, int k, std::unique_ptr< Matrix > q)
 
virtual double get_element (int i, int j) const override
 
virtual void set_element (int i, int j, double a_ij) override
 
virtual void factorize () override
 
virtual DSpan1D solve_inplace (DSpan1D bx) const override
 
virtual DSpan1D solve_transpose_inplace (DSpan1D bx) const override
 
virtual DSpan2D solve_multiple_inplace (DSpan2D bx) const override
 
- Public Member Functions inherited from Matrix
 Matrix (int mat_size)
 
int get_size () const
 

Protected Member Functions

 Matrix_Corner_Block (int n, int k, std::unique_ptr< Matrix > q, int lambda_size1, int lambda_size2)
 
virtual void calculate_delta_to_factorize ()
 
virtual DSpan1D solve_lambda_section (DSpan1D v, DView1D u) const
 
virtual DSpan1D solve_lambda_section_transpose (DSpan1D u, DView1D v) const
 
virtual DSpan1D solve_gamma_section (DSpan1D const u, DView1D const v) const
 
virtual DSpan1D solve_gamma_section_transpose (DSpan1D const v, DView1D const u) const
 

Protected Attributes

int const k
 
int const nb
 
std::unique_ptr< double[]> Abm_1_gamma_ptr
 
std::unique_ptr< double[]> lambda_ptr
 
std::unique_ptr< Matrixq_block
 
Matrix_Dense delta
 
DSpan2D Abm_1_gamma
 
DSpan2D lambda
 
- Protected Attributes inherited from Matrix
int const n
 

Additional Inherited Members

- Static Public Member Functions inherited from Matrix
static std::unique_ptr< Matrixmake_new_banded (int n, int kl, int ku, bool pds)
 
static std::unique_ptr< Matrixmake_new_periodic_banded (int n, int kl, int ku, bool pds)
 
static std::unique_ptr< Matrixmake_new_block_with_banded_region (int n, int kl, int ku, bool pds, int block1_size, int block2_size=0)
 

Member Function Documentation

◆ get_element()

virtual double Matrix_Corner_Block::get_element ( int  i,
int  j 
) const
overridevirtual

Implements Matrix.

◆ set_element()

virtual void Matrix_Corner_Block::set_element ( int  i,
int  j,
double  a_ij 
)
overridevirtual

Implements Matrix.

◆ factorize()

virtual void Matrix_Corner_Block::factorize ( )
overridevirtual

Reimplemented from Matrix.

◆ solve_inplace()

virtual DSpan1D Matrix_Corner_Block::solve_inplace ( DSpan1D  bx) const
overridevirtual

Reimplemented from Matrix.

◆ solve_transpose_inplace()

virtual DSpan1D Matrix_Corner_Block::solve_transpose_inplace ( DSpan1D  bx) const
overridevirtual

Reimplemented from Matrix.

◆ solve_multiple_inplace()

virtual DSpan2D Matrix_Corner_Block::solve_multiple_inplace ( DSpan2D  bx) const
overridevirtual

Reimplemented from Matrix.


The documentation for this class was generated from the following file: