 |
Belle II Software
release-05-02-19
|
Go to the documentation of this file.
31 #ifndef BORDEREDBANDMATRIX_H_
32 #define BORDEREDBANDMATRIX_H_
40 #include "TMatrixDSym.h"
83 void resize(
unsigned int nSize,
unsigned int nBorder = 1,
84 unsigned int nBand = 5);
88 const std::vector<unsigned int>* anIndex,
89 const std::vector<double>* aVector);
90 TMatrixDSym
getBlockMatrix(
const std::vector<unsigned int> anIndex)
const;
VSymMatrix theBorder
Border part.
unsigned int numSize
Matrix size.
BorderedBandMatrix()
Create bordered band matrix.
Simple Vector based on std::vector<double>
VVector solveBand(const VVector &aRightHandSide) const
Solve for band part.
Namespace for the general broken lines package.
(Symmetric) Bordered Band Matrix.
VMatrix bandOfAVAT(const VMatrix &anArray, const VSymMatrix &aSymArray) const
Calculate band part of: 'anArray * aSymArray * anArray.T'.
VMatrix theBand
Band part.
void printMatrix() const
Print bordered band matrix.
Simple Matrix based on std::vector<double>
unsigned int numBorder
Border size.
void addBlockMatrix(double aWeight, const std::vector< unsigned int > *anIndex, const std::vector< double > *aVector)
Add symmetric block matrix.
void solveAndInvertBorderedBand(const VVector &aRightHandSide, VVector &aSolution)
Solve linear equation system, partially calculate inverse.
void decomposeBand()
(root free) Cholesky decomposition of band part: C=LDL^T
unsigned int numCol
Band matrix size.
void resize(unsigned int nSize, unsigned int nBorder=1, unsigned int nBand=5)
Resize bordered band matrix.
TMatrixDSym getBlockMatrix(const std::vector< unsigned int > anIndex) const
Retrieve symmetric block matrix.
Simple symmetric Matrix based on std::vector<double>
unsigned int numBand
Band width.
VMatrix invertBand()
Invert band part.
VMatrix theMixed
Mixed part.