gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
fullMatrix< scalar > Class Template Reference

#include <MElement.h>

Public Member Functions

 fullMatrix (scalar *original, int r, int c)
 
 fullMatrix (fullMatrix< scalar > &original, int c_start, int c)
 
 fullMatrix (int r, int c, bool init0=true)
 
 fullMatrix (int r, int c, scalar *data)
 
 fullMatrix (const fullMatrix< scalar > &other)
 
 fullMatrix ()
 
 ~fullMatrix ()
 
int size1 () const
 
int size2 () const
 
scalar get (int r, int c) const
 
const scalar * getDataPtr () const
 
scalar * getDataPtr ()
 
void set (int r, int c, scalar v)
 
scalar norm () const
 
bool resize (int r, int c, bool resetValue=true)
 
void reshape (int nbRows, int nbColumns)
 
void setAsProxy (const fullMatrix< scalar > &original)
 
void setAsProxy (const fullMatrix< scalar > &original, int c_start, int c)
 
void setAsProxy (scalar *data, int r, int c)
 
fullMatrix< scalar > & operator= (const fullMatrix< scalar > &other)
 
void operator+= (const fullMatrix< scalar > &other)
 
scalar operator() (int i, int j) const
 
scalar & operator() (int i, int j)
 
void copy (const fullMatrix< scalar > &a, int i0, int ni, int j0, int nj, int desti0, int destj0)
 
void copy (const fullMatrix< scalar > &a)
 
void copyOneColumn (const fullVector< scalar > &x, const int ind) const
 
void setAll (const scalar &m)
 
void setAll (const fullMatrix< scalar > &m)
 
void scale (const scalar s)
 
void add (const double &a)
 
void add (const fullMatrix< scalar > &m)
 
void add (const fullMatrix< scalar > &m, const scalar &a)
 
void mult (const fullVector< scalar > &x, fullVector< scalar > &y) const
 
void multAddy (const fullVector< scalar > &x, fullVector< scalar > &y) const
 
void mult (const fullMatrix< scalar > &b, fullMatrix< scalar > &c) const
 
void multTByT (const fullMatrix< scalar > &a)
 
void multOnBlock (const fullMatrix< scalar > &b, const int ncol, const int fcol, const int alpha, const int beta, fullVector< scalar > &c) const
 
void multWithATranspose (const fullVector< scalar > &x, scalar alpha, scalar beta, fullVector< scalar > &y) const
 
fullMatrix< scalar > transpose () const
 
void transposeInPlace ()
 
void gemm (const fullMatrix< scalar > &a, const fullMatrix< scalar > &b, scalar alpha=1., scalar beta=1., bool transposeA=false, bool transposeB=false)
 
void axpy (const fullMatrix< scalar > &x, scalar alpha=1.)
 
bool luSolve (const fullVector< scalar > &rhs, fullVector< scalar > &result)
 
bool luFactor (fullVector< int > &ipiv)
 
bool luSubstitute (const fullVector< scalar > &rhs, fullVector< int > &ipiv, fullVector< scalar > &result)
 
bool invert (fullMatrix< scalar > &result) const
 
bool invertInPlace ()
 
scalar determinant () const
 
void swap (scalar *a, int inca, scalar *b, int incb, int n)
 
void eigSort (int n, scalar *wr, scalar *wi, scalar *VL, scalar *VR)
 
bool eig (fullVector< double > &eigenValReal, fullVector< double > &eigenValImag, fullMatrix< scalar > &leftEigenVect, fullMatrix< scalar > &rightEigenVect, bool sortRealPart=false)
 
bool svd (fullMatrix< scalar > &V, fullVector< scalar > &S)
 
void print (const std::string &name="", const std::string &format="") const
 
void binarySave (FILE *f) const
 
void binaryLoad (FILE *f)
 
bool getOwnData () const
 
void setOwnData (bool ownData)
 
void print (const std::string &name, const std::string &format) const
 

Private Attributes

bool _ownData
 
int _r
 
int _c
 
scalar * _data
 

Friends

class fullVector< scalar >
 

Detailed Description

template<class scalar>
class fullMatrix< scalar >

Definition at line 27 of file MElement.h.

Constructor & Destructor Documentation

◆ fullMatrix() [1/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( scalar *  original,
int  r,
int  c 
)
inline

Definition at line 237 of file fullMatrix.h.

◆ fullMatrix() [2/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( fullMatrix< scalar > &  original,
int  c_start,
int  c 
)
inline

Definition at line 244 of file fullMatrix.h.

◆ fullMatrix() [3/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( int  r,
int  c,
bool  init0 = true 
)
inline

Definition at line 251 of file fullMatrix.h.

◆ fullMatrix() [4/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( int  r,
int  c,
scalar *  data 
)
inline

Definition at line 257 of file fullMatrix.h.

◆ fullMatrix() [5/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( const fullMatrix< scalar > &  other)
inline

Definition at line 262 of file fullMatrix.h.

◆ fullMatrix() [6/6]

template<class scalar >
fullMatrix< scalar >::fullMatrix ( )
inline

Definition at line 268 of file fullMatrix.h.

◆ ~fullMatrix()

template<class scalar >
fullMatrix< scalar >::~fullMatrix ( )
inline

Definition at line 269 of file fullMatrix.h.

Member Function Documentation

◆ add() [1/3]

◆ add() [2/3]

template<class scalar >
void fullMatrix< scalar >::add ( const fullMatrix< scalar > &  m)
inline

Definition at line 467 of file fullMatrix.h.

◆ add() [3/3]

template<class scalar >
void fullMatrix< scalar >::add ( const fullMatrix< scalar > &  m,
const scalar &  a 
)
inline

Definition at line 477 of file fullMatrix.h.

◆ axpy()

template<class scalar >
void fullMatrix< scalar >::axpy ( const fullMatrix< scalar > &  x,
scalar  alpha = 1. 
)
inline

Definition at line 595 of file fullMatrix.h.

◆ binaryLoad()

template<class scalar >
void fullMatrix< scalar >::binaryLoad ( FILE *  f)
inline

Definition at line 786 of file fullMatrix.h.

◆ binarySave()

template<class scalar >
void fullMatrix< scalar >::binarySave ( FILE *  f) const
inline

Definition at line 785 of file fullMatrix.h.

◆ copy() [1/2]

template<class scalar >
void fullMatrix< scalar >::copy ( const fullMatrix< scalar > &  a)
inline

Definition at line 401 of file fullMatrix.h.

◆ copy() [2/2]

template<class scalar >
void fullMatrix< scalar >::copy ( const fullMatrix< scalar > &  a,
int  i0,
int  ni,
int  j0,
int  nj,
int  desti0,
int  destj0 
)
inline

◆ copyOneColumn()

template<class scalar >
void fullMatrix< scalar >::copyOneColumn ( const fullVector< scalar > &  x,
const int  ind 
) const
inline

Definition at line 417 of file fullMatrix.h.

◆ determinant()

template<class scalar >
scalar fullMatrix< scalar >::determinant ( ) const
inline

Definition at line 681 of file fullMatrix.h.

Referenced by SMetric3::determinant().

Here is the caller graph for this function:

◆ eig()

template<class scalar >
bool fullMatrix< scalar >::eig ( fullVector< double > &  eigenValReal,
fullVector< double > &  eigenValImag,
fullMatrix< scalar > &  leftEigenVect,
fullMatrix< scalar > &  rightEigenVect,
bool  sortRealPart = false 
)
inline

◆ eigSort()

template<class scalar >
void fullMatrix< scalar >::eigSort ( int  n,
scalar *  wr,
scalar *  wi,
scalar *  VL,
scalar *  VR 
)
inline

Definition at line 703 of file fullMatrix.h.

Referenced by fullMatrix< double >::eig().

Here is the caller graph for this function:

◆ gemm()

template<class scalar >
void fullMatrix< scalar >::gemm ( const fullMatrix< scalar > &  a,
const fullMatrix< scalar > &  b,
scalar  alpha = 1.,
scalar  beta = 1.,
bool  transposeA = false,
bool  transposeB = false 
)
inline

◆ get()

template<class scalar >
scalar fullMatrix< scalar >::get ( int  r,
int  c 
) const
inline

Definition at line 276 of file fullMatrix.h.

◆ getDataPtr() [1/2]

template<class scalar >
scalar* fullMatrix< scalar >::getDataPtr ( )
inline

Definition at line 288 of file fullMatrix.h.

◆ getDataPtr() [2/2]

template<class scalar >
const scalar* fullMatrix< scalar >::getDataPtr ( ) const
inline

Definition at line 287 of file fullMatrix.h.

Referenced by bezierCoeff::bezierCoeff().

Here is the caller graph for this function:

◆ getOwnData()

template<class scalar >
bool fullMatrix< scalar >::getOwnData ( ) const
inline

Definition at line 790 of file fullMatrix.h.

◆ invert()

template<class scalar >
bool fullMatrix< scalar >::invert ( fullMatrix< scalar > &  result) const
inline

Definition at line 641 of file fullMatrix.h.

Referenced by bezierBasis::_construct(), bezierBasis::_constructPyr(), createMatLob2LagP6(), and pyramidalBasis::pyramidalBasis().

Here is the caller graph for this function:

◆ invertInPlace()

template<class scalar >
bool fullMatrix< scalar >::invertInPlace ( )
inline

Definition at line 662 of file fullMatrix.h.

Referenced by gLevelsetPoints::gLevelsetPoints(), SMetric3::invert(), invertAffineTransformation(), and gLevelsetPoints::RbfOp().

Here is the caller graph for this function:

◆ luFactor()

template<class scalar >
bool fullMatrix< scalar >::luFactor ( fullVector< int > &  ipiv)
inline

Definition at line 624 of file fullMatrix.h.

◆ luSolve()

template<class scalar >
bool fullMatrix< scalar >::luSolve ( const fullVector< scalar > &  rhs,
fullVector< scalar > &  result 
)
inline

Definition at line 603 of file fullMatrix.h.

Referenced by computeEquidistantParameters(), computeGLLParametersP6(), meshMetric::computeHessian(), and newton_fd().

Here is the caller graph for this function:

◆ luSubstitute()

template<class scalar >
bool fullMatrix< scalar >::luSubstitute ( const fullVector< scalar > &  rhs,
fullVector< int > &  ipiv,
fullVector< scalar > &  result 
)
inline

Definition at line 632 of file fullMatrix.h.

◆ mult() [1/2]

template<class scalar >
void fullMatrix< scalar >::mult ( const fullMatrix< scalar > &  b,
fullMatrix< scalar > &  c 
) const
inline

Definition at line 516 of file fullMatrix.h.

◆ mult() [2/2]

◆ multAddy()

template<class scalar >
void fullMatrix< scalar >::multAddy ( const fullVector< scalar > &  x,
fullVector< scalar > &  y 
) const
inline

Definition at line 502 of file fullMatrix.h.

◆ multOnBlock()

template<class scalar >
void fullMatrix< scalar >::multOnBlock ( const fullMatrix< scalar > &  b,
const int  ncol,
const int  fcol,
const int  alpha,
const int  beta,
fullVector< scalar > &  c 
) const
inline

Definition at line 536 of file fullMatrix.h.

◆ multTByT()

template<class scalar >
void fullMatrix< scalar >::multTByT ( const fullMatrix< scalar > &  a)
inline

Definition at line 532 of file fullMatrix.h.

◆ multWithATranspose()

template<class scalar >
void fullMatrix< scalar >::multWithATranspose ( const fullVector< scalar > &  x,
scalar  alpha,
scalar  beta,
fullVector< scalar > &  y 
) const
inline

Definition at line 548 of file fullMatrix.h.

◆ norm()

template<class scalar >
scalar fullMatrix< scalar >::norm ( ) const
inline

Definition at line 300 of file fullMatrix.h.

◆ operator()() [1/2]

template<class scalar >
scalar& fullMatrix< scalar >::operator() ( int  i,
int  j 
)
inline

Definition at line 383 of file fullMatrix.h.

◆ operator()() [2/2]

template<class scalar >
scalar fullMatrix< scalar >::operator() ( int  i,
int  j 
) const
inline

Definition at line 372 of file fullMatrix.h.

◆ operator+=()

template<class scalar >
void fullMatrix< scalar >::operator+= ( const fullMatrix< scalar > &  other)
inline

Definition at line 364 of file fullMatrix.h.

◆ operator=()

template<class scalar >
fullMatrix<scalar>& fullMatrix< scalar >::operator= ( const fullMatrix< scalar > &  other)
inline

Definition at line 359 of file fullMatrix.h.

◆ print() [1/2]

void fullMatrix< int >::print ( const std::string &  name,
const std::string &  format 
) const

Definition at line 496 of file fullMatrix.cpp.

◆ print() [2/2]

template<class scalar >
void fullMatrix< scalar >::print ( const std::string &  name = "",
const std::string &  format = "" 
) const

Referenced by incompleteBasis::_computeCoefficientsTriangle().

Here is the caller graph for this function:

◆ reshape()

template<class scalar >
void fullMatrix< scalar >::reshape ( int  nbRows,
int  nbColumns 
)
inline

Definition at line 324 of file fullMatrix.h.

◆ resize()

◆ scale()

◆ set()

template<class scalar >
void fullMatrix< scalar >::set ( int  r,
int  c,
scalar  v 
)
inline

Definition at line 289 of file fullMatrix.h.

Referenced by PView::readMSH().

Here is the caller graph for this function:

◆ setAll() [1/2]

template<class scalar >
void fullMatrix< scalar >::setAll ( const fullMatrix< scalar > &  m)
inline

Definition at line 431 of file fullMatrix.h.

◆ setAll() [2/2]

◆ setAsProxy() [1/3]

template<class scalar >
void fullMatrix< scalar >::setAsProxy ( const fullMatrix< scalar > &  original)
inline

◆ setAsProxy() [2/3]

template<class scalar >
void fullMatrix< scalar >::setAsProxy ( const fullMatrix< scalar > &  original,
int  c_start,
int  c 
)
inline

Definition at line 343 of file fullMatrix.h.

◆ setAsProxy() [3/3]

template<class scalar >
void fullMatrix< scalar >::setAsProxy ( scalar *  data,
int  r,
int  c 
)
inline

Definition at line 351 of file fullMatrix.h.

◆ setOwnData()

template<class scalar >
void fullMatrix< scalar >::setOwnData ( bool  ownData)
inline

Definition at line 791 of file fullMatrix.h.

◆ size1()

template<class scalar >
int fullMatrix< scalar >::size1 ( ) const
inline

Definition at line 274 of file fullMatrix.h.

Referenced by _computeCoeffLengthVectors(), _computeICN(), _computeIGE(), jacobianBasedQuality::_coeffDataICN::_computeLowerBound(), bezierBasisRaiser::_fillRaiserData(), bezierBasisRaiser::_fillRaiserDataPyr(), _getIndicesReversedHex(), _getIndicesReversedPri(), _getIndicesReversedPyr(), _getIndicesReversedTet(), femTerm< scalar >::addToMatrix(), bezierCoeff::bezierCoeff(), computeShapeFunctions(), computeShapeFunctionsPyramid(), CondNumBasis::CondNumBasis(), incompleteBasis::dddf(), polynomialBasis::dddf(), incompleteBasis::ddf(), polynomialBasis::ddf(), incompleteBasis::df(), pyramidalBasis::df(), polynomialBasis::df(), MLineN::discretize(), gLevelsetPoints::evalRbfDer(), polynomialBasis::evaluateMonomials(), incompleteBasis::f(), pyramidalBasis::f(), polynomialBasis::f(), nodalBasis::forwardRenumbering(), nodalBasis::forwardTransformation(), ClosureGen::generateFaceClosureHex(), ClosureGen::generateFaceClosureHexFull(), ClosureGen::generateFaceClosurePyr(), gLevelsetPoints::generateRbfMat(), GMSH_CutPlanePlugin::geometricalFilter(), MElement::getBezierVerticesCoord(), getFaceVerticesOnExtrudedGeo(), getFaceVerticesOnGeo(), MElement::getNodesCoordNonSerendip(), bezierBasis::getNumCoeff(), GradientBasis::getNumSamplingPoints(), incompleteBasis::getNumShapeFunctions(), polynomialBasis::getNumShapeFunctions(), pyramidalBasis::getNumShapeFunctions(), getVolumeVertices(), gLevelsetPoints::gLevelsetPoints(), gmshGenerateMonomialsHexahedron(), gmshGenerateMonomialsPrism(), gmshGenerateMonomialsPyramid(), gmshGenerateMonomialsTetrahedron(), gmshGenerateOrderedPoints(), gmshGeneratePointsPyramid(), gmshGeneratePointsPyramidGeneral(), GradientBasis::GradientBasis(), interpVerticesInExistingFace(), JacobianBasis::JacobianBasis(), MElement::maxDistToStraight(), jacobianBasedQuality::minICNMeasure(), jacobianBasedQuality::minIGEMeasure(), printNodes(), pyramidalBasis::pyramidalBasis(), gLevelsetPoints::RbfOp(), jacobianBasedQuality::sampleIGEMeasure(), PViewFactory::setEntry(), DocRecord::setPoints(), elasticityMixedTerm::setPolynomialBasis(), and gLevelsetPoints::setup_level_set().

◆ size2()

◆ svd()

template<class scalar >
bool fullMatrix< scalar >::svd ( fullMatrix< scalar > &  V,
fullVector< scalar > &  S 
)
inline

Definition at line 761 of file fullMatrix.h.

Referenced by fullMatrix< double >::svd().

Here is the caller graph for this function:

◆ swap()

template<class scalar >
void fullMatrix< scalar >::swap ( scalar *  a,
int  inca,
scalar *  b,
int  incb,
int  n 
)
inline

Definition at line 694 of file fullMatrix.h.

Referenced by fullMatrix< double >::eigSort().

Here is the caller graph for this function:

◆ transpose()

template<class scalar >
fullMatrix<scalar> fullMatrix< scalar >::transpose ( ) const
inline

Definition at line 558 of file fullMatrix.h.

Referenced by Assemble(), SOrientedBoundingBox::buildOBB(), fullMatrix< double >::gemm(), and SMetric3::transform().

Here is the caller graph for this function:

◆ transposeInPlace()

template<class scalar >
void fullMatrix< scalar >::transposeInPlace ( )
inline

Definition at line 565 of file fullMatrix.h.

Referenced by SMetric3::SMetric3().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ fullVector< scalar >

template<class scalar >
friend class fullVector< scalar >
friend

Definition at line 228 of file fullMatrix.h.

Member Data Documentation

◆ _c

◆ _data

◆ _ownData

◆ _r


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