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

Public Member Functions

 Matrix_Periodic_Banded (int n, int kl, int ku, 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
 
- Public Member Functions inherited from Matrix_Corner_Block
 Matrix_Corner_Block (int n, int k, std::unique_ptr< Matrix > q)
 
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

virtual void calculate_delta_to_factorize () override
 
virtual DSpan1D solve_lambda_section (DSpan1D v, DView1D u) const override
 
virtual DSpan1D solve_lambda_section_transpose (DSpan1D u, DView1D v) const override
 
- Protected Member Functions inherited from Matrix_Corner_Block
 Matrix_Corner_Block (int n, int k, std::unique_ptr< Matrix > q, int lambda_size1, int lambda_size2)
 
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 kl
 
int const ku
 
- Protected Attributes inherited from Matrix_Corner_Block
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_Periodic_Banded::get_element ( int  i,
int  j 
) const
overridevirtual

Reimplemented from Matrix_Corner_Block.

◆ set_element()

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

Reimplemented from Matrix_Corner_Block.

◆ calculate_delta_to_factorize()

virtual void Matrix_Periodic_Banded::calculate_delta_to_factorize ( )
overrideprotectedvirtual

Reimplemented from Matrix_Corner_Block.

◆ solve_lambda_section()

virtual DSpan1D Matrix_Periodic_Banded::solve_lambda_section ( DSpan1D  v,
DView1D  u 
) const
overrideprotectedvirtual

Reimplemented from Matrix_Corner_Block.

◆ solve_lambda_section_transpose()

virtual DSpan1D Matrix_Periodic_Banded::solve_lambda_section_transpose ( DSpan1D  u,
DView1D  v 
) const
overrideprotectedvirtual

Reimplemented from Matrix_Corner_Block.


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