Public Member Functions | List of all members
SymmetricSquareMatrix< Type > Class Template Reference

A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix. More...

Inheritance diagram for SymmetricSquareMatrix< Type >:
Inheritance graph
[legend]
Collaboration diagram for SymmetricSquareMatrix< Type >:
Collaboration graph
[legend]

Public Member Functions

 SymmetricSquareMatrix ()=default
 
 SymmetricSquareMatrix (const SymmetricSquareMatrix &)=default
 
SymmetricSquareMatrixoperator= (const SymmetricSquareMatrix &)=default
 
 SymmetricSquareMatrix (const label n)
 
 SymmetricSquareMatrix (const label n, const Foam::zero)
 
 SymmetricSquareMatrix (const label n, const Type &val)
 
template<class AnyType >
 SymmetricSquareMatrix (const label n, const Identity< AnyType >)
 
 SymmetricSquareMatrix (Istream &is)
 
autoPtr< SymmetricSquareMatrix< Type > > clone () const
 
void operator= (const Foam::zero)
 
void operator= (const Type &val)
 
template<class AnyType >
void operator= (const Identity< AnyType >)
 
- Public Member Functions inherited from Matrix< SymmetricSquareMatrix< Type >, Type >
Foam::tmp< Foam::Field< Type > > AmulImpl (const ListType &x) const
 
Foam::tmp< Foam::Field< Type > > TmulImpl (const ListType &x) const
 
 Matrix () noexcept
 
 Matrix (const label m, const label n)
 
 Matrix (const label m, const label n, const Foam::zero)
 
 Matrix (const label m, const label n, const Type &val)
 
 Matrix (const labelPair &dims)
 
 Matrix (const labelPair &dims, const Foam::zero)
 
 Matrix (const labelPair &dims, const Type &val)
 
 Matrix (const Matrix< Form, Type > &mat)
 
 Matrix (Matrix< Form, Type > &&mat)
 
 Matrix (const Matrix< Form2, Type > &mat)
 
 Matrix (const ConstMatrixBlock< MatrixType > &Mb)
 
 Matrix (const MatrixBlock< MatrixType > &Mb)
 
 Matrix (Istream &is)
 
autoPtr< mTypeclone () const
 
 ~Matrix ()
 
label m () const noexcept
 
label n () const noexcept
 
label size () const
 
labelPair sizes () const
 
bool empty () const noexcept
 
const Type * cdata () const noexcept
 
Type * data () noexcept
 
const char * cdata_bytes () const noexcept
 
char * data_bytes () noexcept
 
std::streamsize size_bytes () const noexcept
 
std::streamsize byteSize () const
 
const Type * rowData (const label irow) const
 
Type * rowData (const label irow)
 
const Type & at (const label idx) const
 
Type & at (const label idx)
 
ConstMatrixBlock< mTypesubColumn (const label colIndex, const label rowIndex=0, label len=-1) const
 
MatrixBlock< mTypesubColumn (const label colIndex, const label rowIndex=0, label len=-1)
 
ConstMatrixBlock< mTypesubRow (const label rowIndex, const label colIndex=0, label len=-1) const
 
MatrixBlock< mTypesubRow (const label rowIndex, const label colIndex=0, label len=-1)
 
ConstMatrixBlock< mTypesubMatrix (const label rowIndex, const label colIndex, label szRows=-1, label szCols=-1) const
 
MatrixBlock< mTypesubMatrix (const label rowIndex, const label colIndex, label szRows=-1, label szCols=-1)
 
ConstMatrixBlock< mTypeblock (const label rowIndex, const label colIndex) const
 
MatrixBlock< mTypeblock (const label rowIndex, const label colIndex)
 
ConstMatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart) const
 
MatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart)
 
Foam::ConstMatrixBlock< Foam::Matrix< Form, Type > > block (const label rowIndex, const label colIndex) const
 
Foam::MatrixBlock< Foam::Matrix< Form, Type > > block (const label rowIndex, const label colIndex)
 
void checki (const label irow) const
 
void checkj (const label jcol) const
 
void checkSize () const
 
bool uniform () const
 
void clear ()
 
List< Type > release ()
 
void swap (Matrix< Form, Type > &mat)
 
void transfer (Matrix< Form, Type > &mat)
 
void resize (const label m, const label n)
 
void resize_nocopy (const label mrow, const label ncol)
 
void setSize (const label m, const label n)
 
void shallowResize (const label m, const label n)
 
void round (const scalar tol=SMALL)
 
Form T () const
 
tmp< Field< Type > > Amul (const UList< Type > &x) const
 
tmp< Field< Type > > Amul (const IndirectListBase< Type, Addr > &x) const
 
Foam::tmp< Foam::Field< Type > > Amul (const IndirectListBase< Type, Addr > &x) const
 
tmp< Field< Type > > Tmul (const UList< Type > &x) const
 
tmp< Field< Type > > Tmul (const IndirectListBase< Type, Addr > &x) const
 
Foam::tmp< Foam::Field< Type > > Tmul (const IndirectListBase< Type, Addr > &x) const
 
List< Type > diag () const
 
void diag (const UList< Type > &list)
 
Type trace () const
 
scalar columnNorm (const label colIndex, const bool noSqrt=false) const
 
scalar norm (const bool noSqrt=false) const
 
const Type * operator[] (const label irow) const
 
Type * operator[] (const label irow)
 
const Type & operator() (const label irow, const label jcol) const
 
Type & operator() (const label irow, const label jcol)
 
void operator= (const Matrix< Form, Type > &mat)
 
void operator= (Matrix< Form, Type > &&mat)
 
void operator= (const ConstMatrixBlock< MatrixType > &Mb)
 
void operator= (const MatrixBlock< MatrixType > &Mb)
 
void operator= (const Foam::zero)
 
void operator= (const Type &val)
 
void operator+= (const Matrix< Form, Type > &other)
 
void operator+= (const Type &s)
 
void operator-= (const Matrix< Form, Type > &other)
 
void operator-= (const Type &s)
 
void operator*= (const Type &s)
 
void operator/= (const Type &s)
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
bool readMatrix (Istream &is)
 
OstreamwriteMatrix (Ostream &os, const label shortLen=0) const
 
label mRows () const noexcept
 
label nRows () const noexcept
 
label nCols () const noexcept
 
const Type * v () const
 
Type * v ()
 
ConstMatrixBlock< mTypecol (const label m, const label mStart, const label nStart) const
 
MatrixBlock< mTypecol (const label m, const label mStart, const label nStart)
 
void col (const label m, const label rowStart) const=delete
 
void col (const label m, const label rowStart)=delete
 

Additional Inherited Members

- Public Types inherited from Matrix< SymmetricSquareMatrix< Type >, Type >
typedef Matrix< Form, Type > mType
 
typedef Type cmptType
 
typedef Type * iterator
 
- Static Public Member Functions inherited from Matrix< SymmetricSquareMatrix< Type >, Type >
static const Matrix< Form, Type > & null ()
 
- Public Attributes inherited from Matrix< SymmetricSquareMatrix< Type >, Type >
const typedef Type * const_iterator
 

Detailed Description

template<class Type>
class Foam::SymmetricSquareMatrix< Type >

A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix.

See also
Test-SymmetricSquareMatrix.C
Source files

Definition at line 53 of file SymmetricSquareMatrix.H.

Constructor & Destructor Documentation

◆ SymmetricSquareMatrix() [1/7]

SymmetricSquareMatrix ( )
default

◆ SymmetricSquareMatrix() [2/7]

SymmetricSquareMatrix ( const SymmetricSquareMatrix< Type > &  )
default

◆ SymmetricSquareMatrix() [3/7]

SymmetricSquareMatrix ( const label  n)
inlineexplicit

Definition at line 34 of file SymmetricSquareMatrixI.H.

◆ SymmetricSquareMatrix() [4/7]

SymmetricSquareMatrix ( const label  n,
const Foam::zero   
)
inline

Definition at line 42 of file SymmetricSquareMatrixI.H.

◆ SymmetricSquareMatrix() [5/7]

SymmetricSquareMatrix ( const label  n,
const Type &  val 
)
inline

Definition at line 53 of file SymmetricSquareMatrixI.H.

◆ SymmetricSquareMatrix() [6/7]

SymmetricSquareMatrix ( const label  n,
const Identity< AnyType >   
)
inline

Definition at line 65 of file SymmetricSquareMatrixI.H.

References n.

◆ SymmetricSquareMatrix() [7/7]

SymmetricSquareMatrix ( Istream is)
inlineexplicit

Member Function Documentation

◆ operator=() [1/4]

SymmetricSquareMatrix& operator= ( const SymmetricSquareMatrix< Type > &  )
default

◆ clone()

Foam::autoPtr< Foam::SymmetricSquareMatrix< Type > > clone
inline

Definition at line 90 of file SymmetricSquareMatrixI.H.

References Foam::New().

Here is the call graph for this function:

◆ operator=() [2/4]

void operator= ( const Foam::zero  )
inline

Definition at line 99 of file SymmetricSquareMatrixI.H.

References Foam::Zero.

◆ operator=() [3/4]

void operator= ( const Type &  val)
inline

Definition at line 106 of file SymmetricSquareMatrixI.H.

◆ operator=() [4/4]

void operator= ( const Identity< AnyType >  )

Definition at line 111 of file SymmetricSquareMatrix.C.

References n, and Foam::Zero.


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