Summary description for SparseGridMtx. More...
#include <SparseGridMtxLL.h>
 
  
 | Public Member Functions | |
| void | AlocateMemoryByPattern (IConectMatrix *bskl) | 
| void | BackSubstLT (double *x, long fixed_blocks) | 
| virtual double & | ElementAt (int i, int j) | 
| virtual void | Factorize () | 
| virtual void | Factorize_Incomplete () | 
| void | ForwardSubstL (double *x, long fixed_blocks) | 
| double | GetValue (long bi, long bj, long si, long sj, long &aux_bi_idx, long &aux_bj_idx) | 
| virtual void | LoadMatrixNumbers (SparseMatrixF &sm) | 
| virtual void | LoadZeros () | 
| virtual void | MultiplyByVector (const LargeVectorAttach &x, LargeVectorAttach &y) | 
| virtual void | SchurComplementFactorization (int fixed_blocks) | 
| void | Solve (double *b, double *x) | 
| virtual void | SolveA11 (double *x, long fixed_blocks) | 
| void | SolveLL (double *x, long fixed_blocks=0) | 
| virtual void | SolveLV (const LargeVector &b, LargeVector &x) | 
| SparseGridMtxLL (SparseMatrixF &sm, BYTE block_size, Ordering *block_order, Ordering *node_order, MathTracer *eMT, BOOL load_data=1) | |
| SparseGridMtxLL (SparseMatrixF &sm, BYTE block_size, Ordering *block_order, MathTracer *eMT, BOOL load_data=1) | |
| virtual void | Sub_A11inv_A12 (double *x, long fixed_blocks) | 
| virtual void | Sub_A21_A11inv (double *x, long fixed_blocks) | 
| virtual void | WriteCondensedMatrixA22 (double *a, Ordering *mcn, IntArrayList *lncn) | 
| virtual | ~SparseGridMtxLL () | 
| Public Attributes | |
| double * | Columns_data | 
Summary description for SparseGridMtx.
Definition at line 13 of file SparseGridMtxLL.h.
| SparseGridMtxLL | ( | SparseMatrixF & | sm, | |
| BYTE | block_size, | |||
| Ordering * | block_order, | |||
| MathTracer * | eMT, | |||
| BOOL | load_data = 1 | |||
| ) | 
Definition at line 9 of file SparseGridMtxLL.cpp.
References SparseMatrixF::a, AlocateMemoryByPattern(), SparseGridMtx::BlockArith, Ordering::cm, SparseGridMtx::ComputeBlocks(), eLL_decomposition, LoadMatrixNumbers(), and DenseMatrixArithmetics::prefered_decomposition.
| SparseGridMtxLL | ( | SparseMatrixF & | sm, | |
| BYTE | block_size, | |||
| Ordering * | block_order, | |||
| Ordering * | node_order, | |||
| MathTracer * | eMT, | |||
| BOOL | load_data = 1 | |||
| ) | 
Definition at line 24 of file SparseGridMtxLL.cpp.
References SparseMatrixF::a, AlocateMemoryByPattern(), SparseGridMtx::BlockArith, Ordering::cm, SparseGridMtx::ComputeBlocks(), eLL_decomposition, LoadMatrixNumbers(), and DenseMatrixArithmetics::prefered_decomposition.
| ~SparseGridMtxLL | ( | ) |  [virtual] | 
Definition at line 204 of file SparseGridMtxLL.cpp.
References Columns_data.
| void AlocateMemoryByPattern | ( | IConectMatrix * | bskl | ) | 
Reimplemented from SparseGridMtx.
Definition at line 209 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_storage, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridMtx::columns_data_length, IConectMatrix::DetachIndexesAboveDiagonalInColumn(), SparseGridColumn::Entries, long(), IMatrix::N(), SparseGridMtx::n_blocks, TraceableMatrix::Write(), and TraceableMatrix::Writeln().
Referenced by SparseGridMtxLL().
| void BackSubstLT | ( | double * | x, | |
| long | fixed_blocks | |||
| ) | 
Definition at line 607 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_order, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridMtx::BlockArith, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridColumn::Entries, SparseGridColumn::IndexesUfa, IntArrayList::Items, SparseGridMtx::N(), SparseGridMtx::n_blocks, no, Ordering::order, DenseMatrixArithmetics::SubMultBlockByVector(), and DenseMatrixArithmetics::SubstSolveLT().
Referenced by SolveLL().
| double & ElementAt | ( | int | i, | |
| int | j | |||
| ) |  [virtual] | 
Implements ILargeMatrix.
Definition at line 37 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_order, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridColumn::FindExistingBlockIndex(), IntArrayList::Items, SparseGridMtx::node_order, and Ordering::perm.
| void Factorize | ( | ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 267 of file SparseGridMtxLL.cpp.
References MathTracer::act_block, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridMtx::BlockArith, MathTracer::break_flag, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridMtx::ComputeBlocks(), TraceableMatrix::eMT, SparseGridColumn::Entries, SparseGridColumn::IndexesUfa, IntArrayList::Items, DenseMatrixArithmetics::L_BlockSolve(), DenseMatrixArithmetics::LL_Decomposition(), long(), memset(), SparseGridMtx::n_blocks, DenseMatrixArithmetics::SubATBproduct(), TraceableMatrix::Write(), and DenseMatrixArithmetics::zero_pivots.
| void Factorize_Incomplete | ( | ) |  [virtual] | 
Definition at line 355 of file SparseGridMtxLL.cpp.
References MathTracer::act_block, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridMtx::BlockArith, MathTracer::break_flag, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridMtx::ComputeBlocks(), Array::Copy(), TraceableMatrix::eMT, SparseGridColumn::Entries, SparseGridColumn::IndexesUfa, IntArrayList::Items, DenseMatrixArithmetics::L_BlockSolve(), DenseMatrixArithmetics::LL_Decomposition(), long(), memset(), SparseGridMtx::n_blocks, DenseMatrixArithmetics::SubATBproduct(), TraceableMatrix::Write(), and DenseMatrixArithmetics::zero_pivots.
| void ForwardSubstL | ( | double * | x, | |
| long | fixed_blocks | |||
| ) | 
Definition at line 579 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_order, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridMtx::BlockArith, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridColumn::Entries, SparseGridColumn::IndexesUfa, IntArrayList::Items, SparseGridMtx::N(), SparseGridMtx::n_blocks, no, Ordering::order, DenseMatrixArithmetics::SubMultTBlockByVector(), and DenseMatrixArithmetics::SubstSolveL().
Referenced by SolveLL().
| double GetValue | ( | long | bi, | |
| long | bj, | |||
| long | si, | |||
| long | sj, | |||
| long & | aux_bi_idx, | |||
| long & | aux_bj_idx | |||
| ) |  [inline] | 
Definition at line 34 of file SparseGridMtxLL.h.
References SparseGridMtx::block_storage, SparseGridMtx::Columns, Columns_data, and SparseGridColumn::GetValue().
Referenced by WriteCondensedMatrixA22().
| void LoadMatrixNumbers | ( | SparseMatrixF & | sm | ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 108 of file SparseGridMtxLL.cpp.
References SparseMatrixF::a, SparseMatrixF::Adr(), SparseGridMtx::block_order, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseMatrixF::Ci(), SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridColumn::FindExistingBlockIndex(), IntArrayList::Items, LoadZeros(), long(), SparseMatrixF::neq, SparseGridMtx::node_order, SparseGridMtx::nonzeros, and Ordering::perm.
Referenced by SparseGridMtxLL().
| void LoadZeros | ( | ) |  [virtual] | 
Implements ILargeMatrix.
Definition at line 87 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_order, SparseGridMtx::block_size, SparseGridMtx::block_storage, Columns_data, SparseGridMtx::columns_data_length, IntArrayList::Items, memset(), SparseGridMtx::n_blocks, SparseGridMtx::node_order, SparseGridMtx::noDummyDOFs, and Ordering::perm.
Referenced by LoadMatrixNumbers().
| void MultiplyByVector | ( | const LargeVectorAttach & | x, | |
| LargeVectorAttach & | y | |||
| ) |  [virtual] | 
Reimplemented from SparseGridMtx.
Definition at line 242 of file SparseGridMtxLL.cpp.
| void SchurComplementFactorization | ( | int | fixed_blocks | ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 460 of file SparseGridMtxLL.cpp.
References MathTracer::act_block, SparseGridMtx::block_size, SparseGridMtx::block_storage, SparseGridMtx::BlockArith, MathTracer::break_flag, SparseGridColumn::column_start_idx, SparseGridMtx::Columns, Columns_data, SparseGridMtx::ComputeBlocks(), TraceableMatrix::eMT, SparseGridColumn::Entries, SparseGridColumn::IndexesUfa, IntArrayList::Items, DenseMatrixArithmetics::L_BlockSolve(), DenseMatrixArithmetics::LL_Decomposition(), memset(), SparseGridMtx::n_blocks, DenseMatrixArithmetics::SubATBproduct(), and DenseMatrixArithmetics::zero_pivots.
| void Solve | ( | double * | b, | |
| double * | x | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 564 of file SparseGridMtxLL.cpp.
References Array::Copy(), SparseGridMtx::n, and SolveLL().
| void SolveA11 | ( | double * | x, | |
| long | fixed_blocks | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 642 of file SparseGridMtxLL.cpp.
| void SolveLL | ( | double * | x, | |
| long | fixed_blocks = 0 | |||
| ) | 
Definition at line 636 of file SparseGridMtxLL.cpp.
References BackSubstLT(), and ForwardSubstL().
| void SolveLV | ( | const LargeVector & | b, | |
| LargeVector & | x | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 571 of file SparseGridMtxLL.cpp.
References LargeVectorAttach::DataPtr(), LargeVectorAttach::Initialize(), SparseGridMtx::n, and SolveLL().
| void Sub_A11inv_A12 | ( | double * | x, | |
| long | fixed_blocks | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 654 of file SparseGridMtxLL.cpp.
| void Sub_A21_A11inv | ( | double * | x, | |
| long | fixed_blocks | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 648 of file SparseGridMtxLL.cpp.
| void WriteCondensedMatrixA22 | ( | double * | a, | |
| Ordering * | mcn, | |||
| IntArrayList * | lncn | |||
| ) |  [virtual] | 
Implements SparseGridMtx.
Definition at line 660 of file SparseGridMtxLL.cpp.
References SparseGridMtx::block_order, SparseGridMtx::BlockSize(), IntArrayList::Count, GetValue(), IntArrayList::Items, and Ordering::perm.
| double* Columns_data | 
Definition at line 29 of file SparseGridMtxLL.h.
Referenced by AlocateMemoryByPattern(), BackSubstLT(), ElementAt(), Factorize(), Factorize_Incomplete(), ForwardSubstL(), GetValue(), LoadMatrixNumbers(), LoadZeros(), SchurComplementFactorization(), and ~SparseGridMtxLL().
 1.6.2
 1.6.2