TBCI Numerical high perf. C++ Library 2.8.0
Matrix< T > Class Template Reference

#include <matrix.h>

Inheritance diagram for Matrix< T >:
Collaboration diagram for Matrix< T >:

Public Types

typedef T value_type
typedef T element_type
typedef T aligned_value_type TALIGN(MIN_ALIGN2)
Public Types inherited from TMatrix< T >
typedef T value_type
typedef T element_type
typedef T aligned_value_type TALIGN(MIN_ALIGN2)

Public Member Functions

 Matrix (const unsigned d=0)
 Matrix (const unsigned r, const unsigned c)
 Matrix (const T &v, const unsigned r, const unsigned c)
 Matrix (const Vector< T > &v, const enum rowcolvec r=colvec)
 Matrix (const Matrix< T > &m)
 copy, does a real copy, as TM(M) is invoked (not TM(TM))
 Matrix (const TMatrix< T > &tm) HOT
 alias
 Matrix (const TSMatrix< T > &ts)
 ~Matrix ()
template<typename U>
 Matrix (const Matrix< U > &m)
template<typename U>
 Matrix (const TMatrix< U > &tm)
tbci_traits< T >::const_refval_type operator() (const unsigned int, const unsigned int) const HOT
 ro element access
Toperator() (const unsigned int, const unsigned int) HOT
 rw element access
TVector< Toperator() (const unsigned int) const
 get row
Matrix< T > & operator= (const Matrix< T > &m)
 Assignment, non-resizing.
Matrix< T > & operator= (const TMatrix< T > &tm)
Matrix< T > & operator= (TSMatrix< T > ts)
Matrix< T > & operator= (const T &v)
Matrix< T > & resize (const unsigned r, const unsigned c)
Matrix< T > & resize (const unsigned d)
Matrix< T > & resize (const T &v, const unsigned r, const unsigned c)
Matrix< T > & resize (const Matrix< T > &m)
Matrix< T > & fill (const T &v=(T) 0)
Matrix< T > & fill (const Vector< T > &v)
Matrix< T > & setunit (const T &f=(T) 1)
Matrix< T > & clear ()
Matrix< T > & operator+= (const Matrix< T > &a)
Matrix< T > & operator-= (const Matrix< T > &a)
Matrix< T > & operator+= (TMatrix< T > a)
Matrix< T > & operator-= (TMatrix< T > a)
Matrix< T > & operator+= (TSMatrix< T > a)
Matrix< T > & operator-= (TSMatrix< T > a)
Matrix< T > & operator+= (const T &a)
Matrix< T > & operator-= (const T &a)
Matrix< T > & operator*= (const T &a)
Matrix< T > & operator/= (const T &a)
TMatrix< Toperator- () const
TMatrix< Toperator+ (const Matrix< T > &) const
TMatrix< Toperator- (const Matrix< T > &) const
TMatrix< Toperator* (const Matrix< T > &) const
TMatrix< T > & operator+ (TMatrix< T > &) const
TMatrix< T > & operator- (TMatrix< T > &) const
TMatrix< Toperator* (TMatrix< T > &) const
TMatrix< Toperator+ (TSMatrix< T > &) const
TMatrix< Toperator- (TSMatrix< T > &) const
TMatrix< Toperator* (TSMatrix< T > &) const
TMatrix< Toperator+ (const T &) const
TMatrix< Toperator- (const T &) const
TSMatrix< Toperator* (const T &) const
TSMatrix< Toperator/ (const T &) const
TVector< Toperator* (const Vector< T > &) const HOT
TVector< Toperator* (TVector< T >) const HOT
 Now for the Matrix-Vector multiplications.
TVector< Toperator* (const TSVector< T > &tsv) const HOT
TVector< TtransMult (const Vector< T > &) const HOT
bool operator== (const Matrix< T > &m) const
bool operator!= (const Matrix< T > &m) const
bool operator== (TMatrix< T > tm) const
bool operator!= (TMatrix< T > tm) const
bool operator== (TSMatrix< T >) const
bool operator!= (TSMatrix< T > ts) const
Matrix< T > & mult_rows (const Vector< T > &)
 Elementwise ops.
Matrix< T > & div_rows (const Vector< T > &)
Matrix< T > & mult_row (const T &, const unsigned)
Matrix< T > & div_row (const T &, const unsigned)
double fabssqr () const
double fabs () const
Public Member Functions inherited from TMatrix< T >
Tgetvec () const
Tgetendvec () const
 TMatrix (const unsigned=0)
 c'tor for square Matrix
 TMatrix (const unsigned, const unsigned)
 c'tor for Matrix, specifying rows and columns
 TMatrix (const T &, const unsigned, const unsigned)
 c'tor for Matrix, specifying and initialization value and rows and columns
 TMatrix (const Vector< T > &, const enum rowcolvec=colvec)
 c'tor to construct 1-column (or 1-row) Matrix from Vector
 TMatrix (const TMatrix< T > &) HOT
 aliasing copies (TBCI)
 TMatrix (TSMatrix< T >)
 TMatrix (const Matrix< T > &) HOT
 full copying
void real_destroy ()
 real destructor
void mark_destroy () const
 mark destructible
 ~TMatrix ()
template<typename U>
 TMatrix (const Matrix< U > &m)
template<typename U>
 TMatrix (const TMatrix< U > &tm)
TMatrix< T > & operator= (const Matrix< T > &) HOT
 assignment, non-resizing
TMatrix< T > & operator= (const TMatrix< T > &) HOT
TMatrix< T > & operator= (TSMatrix< T >)
TMatrix< T > & operator= (const T &)
TMatrix< T > & alias (const TMatrix< T > &m)
TMatrix< T > & operator+= (TMatrix< T >)
 arithmetics ...
TMatrix< T > & operator+= (const Matrix< T > &)
TMatrix< T > & operator+= (const T &)
TMatrix< T > & operator+= (TSMatrix< T >)
TMatrix< T > & operator-= (TMatrix< T >)
TMatrix< T > & operator-= (const Matrix< T > &)
TMatrix< T > & operator-= (const T &)
TMatrix< T > & operator-= (TSMatrix< T >)
TSMatrix< Toperator*= (const T &)
TSMatrix< Toperator/= (const T &)
TMatrix< T > & operator- ()
TMatrix< T > & operator+ (TMatrix< T >)
TMatrix< T > & operator+ (TSMatrix< T >)
TMatrix< T > & operator+ (const Matrix< T > &)
TMatrix< T > & operator+ (const T &)
TMatrix< T > & operator- (TMatrix< T >)
TMatrix< T > & operator- (TSMatrix< T >)
TMatrix< T > & operator- (const Matrix< T > &)
TMatrix< T > & operator- (const T &)
TSMatrix< Toperator* (const T &)
TSMatrix< Toperator/ (const T &)
TMatrix< Toperator* (const Matrix< T > &)
TMatrix< Toperator* (TMatrix< T >)
TMatrix< Toperator* (TSMatrix< T >)
TVector< Toperator* (const Vector< T > &v)
TVector< Toperator* (TVector< T > &tv)
TVector< Toperator* (const TSVector< T > &tsv)
TMatrix< T > & swap (TMatrix< T > &)
TMatrix< Ttransposed_copy () const
 Inefficient! Use transMult if possible.
TMatrix< T > & transpose ()
T operator() (const unsigned int, const unsigned int) const HOT
 Element access (desctructive for TMatrix!).
Mat_Brack< Toperator[] (const unsigned int i) const
Tsetval (const T &val, const unsigned int r, const unsigned int c)
Tsetval (const unsigned r, const unsigned c)
tbci_traits< T >::const_refval_type get (const unsigned r, const unsigned c) const
 get, set and getcref are used internally and not for public consumption
Tset (const T &val, const unsigned r, const unsigned c)
const Tgetcref (const unsigned r, const unsigned c) const
const Tgetrowptr (const unsigned r) const
 Helpers for matvecmul.
Tgetrowptr (const unsigned r)
bool operator== (const Matrix< T > &m)
 Comparison.
bool operator!= (const Matrix< T > &m)
bool operator== (TMatrix< T > tm)
bool operator!= (TMatrix< T > tm)
bool operator== (TSMatrix< T >)
bool operator!= (TSMatrix< T > ts)
unsigned int columns () const
 number of columns
unsigned int rows () const
 number of rows
unsigned long size () const
 number of elements
TVector< Toperator() (const unsigned int) const
 Row vector.
TVector< Tget_row (const unsigned int) const
 Row vector.
TVector< Tget_col (const unsigned int) const
 Column vector.
void set_row (const Vector< T > &, const unsigned int)
 Fill complete row.
void set_col (const Vector< T > &, const unsigned int)
 Fill complete column.
void set_row_partial (const Vector< T > &, const unsigned int, const unsigned int)
 Fill partial row.
void set_col_partial (const Vector< T > &, const unsigned int, const unsigned int)
 Fill partial column.
TMatrix< T > & resize (const unsigned int, const unsigned int)
 Resize Matrix, specifying rows and columns.
TMatrix< T > & resize (const unsigned int d)
 Resize Matrix to square shape.
TMatrix< T > & resize (const T &, const unsigned int, const unsigned int)
 Resize Matrix and fill with value.
TMatrix< T > & resize (const TMatrix< T > &)
 Resizing assignment.
TMatrix< T > & cheapdownsizerow (const unsigned)
 Resize number of rows without actually freeing memory (efficiency).
TMatrix< T > & fill (const T &=(T) 0)
 Fill matrix.
TMatrix< T > & clear ()
 Clear matrix (fill with 0).
TMatrix< T > & fill (const Vector< T > &)
 Fill complete matrix by vector elements (m00, m01, ... m0C, m10, ...).
TMatrix< T > & setunit (const T &=(T) 1)
 Set to unit matrix (optionally scaled).
TMatrix< T > & row_expand (const unsigned int r)
 Set new numbers of rows to matrix (expansion only).
TMatrix< T > & row_expand (const TMatrix< T > &m)
 Append matrix below existing one.
T trace () const
 Trace.
double fabssqr () const
 Sum over all squared elements.
double fabs () const
Public Member Functions inherited from Matrix_Sig< T >
 Matrix_Sig ()
 ~Matrix_Sig ()
tbci_traits< T >::const_refval_type operator() (const unsigned, const unsigned) const
 ro access
Toperator() (const unsigned, const unsigned)
 rw access
Matrix_Sig< T > & fill (const T &)
Matrix_Sig< T > & setunit (const T &=(T) 1)
Matrix_Sig< T > & clear ()
TVector< Toperator* (const Vector_Sig< T > &) const
TVector< TtransMult (const Vector_Sig< T > &) const
unsigned int rows () const
unsigned int columns () const

Static Public Member Functions

static const char * mat_info ()
Static Public Member Functions inherited from TMatrix< T >
static const char * mat_info ()
Static Public Member Functions inherited from Matrix_Sig< T >
static const char * mat_info ()

Friends

class TSMatrix< T >
BVector< T > &FRIEND_TBCI2__ bvfillm FGD (BVector< T > &, const Matrix< T > &m)
STD__ ostream & operator<<FGDT (STD__ ostream &, const Matrix< T > &)
STD__ istream & operator>>FGDT (STD__ istream &, Matrix< T > &)
NOINST char FRIEND_TBCI2__ gaussj FGD (Matrix< T > &, Matrix< T > &)

Additional Inherited Members

Protected Types inherited from TMatrix< T >
typedef T mat_t
typedef TTptr
Protected Member Functions inherited from TMatrix< T >
int set_ptrs ()
Protected Attributes inherited from TMatrix< T >
unsigned long dim
unsigned int row
unsigned int col:31
unsigned int freeable:1
T ** mat
 C storage layout: mat[row][col].
Tvec
Tendvec

Detailed Description

template<typename T>
class Matrix< T >

Real, user referable, Matrix Does implement high performance arithmetics, together with TMatrix and TSMatrix. All objects that the user creates should be of class Matrix; the temporary objects are emitted by the compiler as suitable.

The implementation is NOT optimized for sparse matrices; please have a look at BdMatrix and CSCMatrix if you want to do computations with sparse matrices.

Definition at line 1574 of file matrix.h.

Member Typedef Documentation

◆ element_type

template<typename T>
typedef T Matrix< T >::element_type

Definition at line 1582 of file matrix.h.

◆ TALIGN

template<typename T>
typedef T aligned_value_type Matrix< T >::TALIGN(MIN_ALIGN2)

Definition at line 1583 of file matrix.h.

◆ value_type

template<typename T>
typedef T Matrix< T >::value_type

Definition at line 1581 of file matrix.h.

Constructor & Destructor Documentation

◆ Matrix() [1/9]

◆ Matrix() [2/9]

template<typename T>
Matrix< T >::Matrix ( const unsigned r,
const unsigned c )
inline

Definition at line 1590 of file matrix.h.

References c, T, and TMatrix< T >::TMatrix.

◆ Matrix() [3/9]

template<typename T>
Matrix< T >::Matrix ( const T & v,
const unsigned r,
const unsigned c )
inline

Definition at line 1593 of file matrix.h.

References c, T, and TMatrix< T >::TMatrix.

◆ Matrix() [4/9]

template<typename T>
Matrix< T >::Matrix ( const Vector< T > & v,
const enum rowcolvec r = colvec )
inline

Definition at line 1596 of file matrix.h.

References colvec, T, and TMatrix< T >::TMatrix.

◆ Matrix() [5/9]

template<typename T>
Matrix< T >::Matrix ( const Matrix< T > & m)
inline

copy, does a real copy, as TM(M) is invoked (not TM(TM))

Definition at line 1601 of file matrix.h.

References Matrix(), T, and TMatrix< T >::TMatrix.

◆ Matrix() [6/9]

template<typename T>
Matrix< T >::Matrix ( const TMatrix< T > & tm)
inline

alias

Definition at line 1605 of file matrix.h.

References HOT, and TMatrix< T >::TMatrix.

◆ Matrix() [7/9]

template<typename T>
Matrix< T >::Matrix ( const TSMatrix< T > & ts)
inline

Definition at line 1608 of file matrix.h.

References T, TMatrix< T >::TMatrix, and ts.

◆ ~Matrix()

template<typename T>
Matrix< T >::~Matrix ( )
inline

Definition at line 1612 of file matrix.h.

References TMatrix< T >::freeable.

◆ Matrix() [8/9]

template<typename T>
template<typename U>
Matrix< T >::Matrix ( const Matrix< U > & m)
inlineexplicit

Definition at line 1619 of file matrix.h.

References Matrix(), T, and TMatrix< T >::TMatrix.

◆ Matrix() [9/9]

template<typename T>
template<typename U>
Matrix< T >::Matrix ( const TMatrix< U > & tm)
inlineexplicit

Definition at line 1623 of file matrix.h.

References T, and TMatrix< T >::TMatrix.

Member Function Documentation

◆ clear()

template<typename T>
Matrix< T > & Matrix< T >::clear ( )
inline

Definition at line 1661 of file matrix.h.

References TMatrix< T >::clear(), and Matrix().

◆ div_row()

template<typename T>
Matrix< T > & Matrix< T >::div_row ( const T & d,
const unsigned r )

Definition at line 2296 of file matrix.h.

References BCHK, c, div_row(), index, Matrix(), mult_row(), and T.

Referenced by div_row().

◆ div_rows()

template<typename T>
Matrix< T > & Matrix< T >::div_rows ( const Vector< T > & v)

Definition at line 2274 of file matrix.h.

References BCHK, c, fac, Matrix(), TMatrix< T >::rows(), TVector< T >::size(), and T.

◆ fabs()

template<typename T>
double Matrix< T >::fabs ( ) const
inline

Definition at line 1752 of file matrix.h.

References fabssqr(), GLBL__, MATH__, and sqrt().

◆ fabssqr()

template<typename T>
double Matrix< T >::fabssqr ( ) const

Definition at line 2102 of file matrix.h.

References do_exactsum(), and res.

Referenced by fabs(), fabssqr(), and TMatrix< T >::fabssqr().

◆ fill() [1/2]

template<typename T>
Matrix< T > & Matrix< T >::fill ( const T & v = (T) 0)
inline

Definition at line 1655 of file matrix.h.

References TMatrix< T >::fill(), Matrix(), and T.

◆ fill() [2/2]

template<typename T>
Matrix< T > & Matrix< T >::fill ( const Vector< T > & v)
inline

Definition at line 1657 of file matrix.h.

References TMatrix< T >::fill(), and Matrix().

◆ mat_info()

template<typename T>
const char * Matrix< T >::mat_info ( )
inlinestatic

Definition at line 1615 of file matrix.h.

◆ mult_row()

template<typename T>
Matrix< T > & Matrix< T >::mult_row ( const T & f,
const unsigned r )

Definition at line 2287 of file matrix.h.

References BCHK, c, index, Matrix(), mult_row(), and T.

Referenced by div_row(), and mult_row().

◆ mult_rows()

template<typename T>
Matrix< T > & Matrix< T >::mult_rows ( const Vector< T > & v)

Elementwise ops.

Definition at line 2261 of file matrix.h.

References BCHK, c, fac, Matrix(), TMatrix< T >::rows(), TVector< T >::size(), and T.

◆ operator!=() [1/3]

template<typename T>
bool Matrix< T >::operator!= ( const Matrix< T > & m) const
inline

Definition at line 1722 of file matrix.h.

References Matrix().

◆ operator!=() [2/3]

template<typename T>
bool Matrix< T >::operator!= ( TMatrix< T > tm) const
inline

Definition at line 1727 of file matrix.h.

References TMatrix< T >::TMatrix.

◆ operator!=() [3/3]

template<typename T>
bool Matrix< T >::operator!= ( TSMatrix< T > ts) const
inline

Definition at line 1731 of file matrix.h.

References ts.

◆ operator()() [1/3]

template<typename T>
TVector< T > Matrix< T >::operator() ( const unsigned int i) const
inline

get row

Definition at line 1791 of file matrix.h.

References BCHK, i, index, TMatrix< T >::row, T, TBCICOPY, and BVector< T >::vec.

◆ operator()() [2/3]

template<typename T>
tbci_traits< T >::const_refval_type Matrix< T >::operator() ( const unsigned int i,
const unsigned int j ) const
inline

ro element access

Definition at line 1775 of file matrix.h.

References TMatrix< T >::col, EXPCHK, i, index, and TMatrix< T >::row.

◆ operator()() [3/3]

template<typename T>
T & Matrix< T >::operator() ( const unsigned int i,
const unsigned int j )
inline

rw element access

Definition at line 1783 of file matrix.h.

References TMatrix< T >::col, EXPCHK, i, index, TMatrix< T >::row, and T.

◆ operator*() [1/7]

template<typename T>
TMatrix< T > Matrix< T >::operator* ( const Matrix< T > & b) const

◆ operator*() [2/7]

template<typename T>
TSMatrix< T > Matrix< T >::operator* ( const T & a) const
inline

Definition at line 1879 of file matrix.h.

References a, and T.

◆ operator*() [3/7]

template<typename T>
TVector< T > Matrix< T >::operator* ( const TSVector< T > & tsv) const

Definition at line 2238 of file matrix.h.

References BCHK, do_mat_tsv_mult(), Matrix(), and TSVector< T >::size().

◆ operator*() [4/7]

template<typename T>
TVector< T > Matrix< T >::operator* ( const Vector< T > & v) const

◆ operator*() [5/7]

template<typename T>
TMatrix< T > Matrix< T >::operator* ( TMatrix< T > & a) const
inline

Definition at line 2034 of file matrix.h.

References a, c, and TMatrix< T >::TMatrix.

◆ operator*() [6/7]

template<typename T>
TMatrix< T > Matrix< T >::operator* ( TSMatrix< T > & a) const

Definition at line 2016 of file matrix.h.

References a, ALIGN, BCHK, c, i, Matrix(), MIN_ALIGN2, REGISTER, T, and TMatrix< T >::TMatrix.

◆ operator*() [7/7]

template<typename T>
TVector< T > Matrix< T >::operator* ( TVector< T > c) const
inline

Now for the Matrix-Vector multiplications.

These are time critical, because we use them in iterative solvers. Let's spend some braincells to optimize these, KG 8/98 – 11/98

Definition at line 2124 of file matrix.h.

References c.

◆ operator*=()

template<typename T>
Matrix< T > & Matrix< T >::operator*= ( const T & a)
inline

Definition at line 1849 of file matrix.h.

References a, Matrix(), STD_SMP_TEMPLATE2C, and T.

◆ operator+() [1/4]

template<typename T>
TMatrix< T > Matrix< T >::operator+ ( const Matrix< T > & a) const
inline

◆ operator+() [2/4]

template<typename T>
TMatrix< T > Matrix< T >::operator+ ( const T & a) const
inline

Definition at line 1864 of file matrix.h.

References a, STD_SMP_TEMPLATE3VC, T, TMatrix< T >::TMatrix, and TMatrix< T >::vec.

◆ operator+() [3/4]

template<typename T>
TMatrix< T > & Matrix< T >::operator+ ( TMatrix< T > & a) const
inline

Definition at line 1907 of file matrix.h.

References a, BCHK, TMatrix< T >::size(), STD_SMP_TEMPLATE2V, and TMatrix< T >::TMatrix.

◆ operator+() [4/4]

template<typename T>
TMatrix< T > Matrix< T >::operator+ ( TSMatrix< T > & ts) const
inline

◆ operator+=() [1/4]

template<typename T>
Matrix< T > & Matrix< T >::operator+= ( const Matrix< T > & a)
inline

Definition at line 1671 of file matrix.h.

References a, Matrix(), and TMatrix< T >::operator+=().

◆ operator+=() [2/4]

template<typename T>
Matrix< T > & Matrix< T >::operator+= ( const T & a)
inline

Definition at line 1683 of file matrix.h.

References a, Matrix(), TMatrix< T >::operator+=(), and T.

◆ operator+=() [3/4]

template<typename T>
Matrix< T > & Matrix< T >::operator+= ( TMatrix< T > a)
inline

Definition at line 1675 of file matrix.h.

References a, Matrix(), TMatrix< T >::operator+=(), and TMatrix< T >::TMatrix.

◆ operator+=() [4/4]

template<typename T>
Matrix< T > & Matrix< T >::operator+= ( TSMatrix< T > a)
inline

Definition at line 1679 of file matrix.h.

References a, Matrix(), and TMatrix< T >::operator+=().

◆ operator-() [1/5]

template<typename T>
TMatrix< T > Matrix< T >::operator- ( ) const
inline

Definition at line 1694 of file matrix.h.

References TMatrix< T >::TMatrix.

◆ operator-() [2/5]

template<typename T>
TMatrix< T > Matrix< T >::operator- ( const Matrix< T > & a) const
inline

◆ operator-() [3/5]

template<typename T>
TMatrix< T > Matrix< T >::operator- ( const T & a) const
inline

Definition at line 1871 of file matrix.h.

References a, STD_SMP_TEMPLATE3VC, T, TMatrix< T >::TMatrix, and TMatrix< T >::vec.

◆ operator-() [4/5]

template<typename T>
TMatrix< T > & Matrix< T >::operator- ( TMatrix< T > & a) const
inline

Definition at line 1914 of file matrix.h.

References a, BCHK, TMatrix< T >::size(), STD_SMP_TEMPLATE2V, and TMatrix< T >::TMatrix.

◆ operator-() [5/5]

template<typename T>
TMatrix< T > Matrix< T >::operator- ( TSMatrix< T > & ts) const
inline

◆ operator-=() [1/4]

template<typename T>
Matrix< T > & Matrix< T >::operator-= ( const Matrix< T > & a)
inline

Definition at line 1673 of file matrix.h.

References a, Matrix(), and TMatrix< T >::operator-=().

◆ operator-=() [2/4]

template<typename T>
Matrix< T > & Matrix< T >::operator-= ( const T & a)
inline

Definition at line 1685 of file matrix.h.

References a, Matrix(), TMatrix< T >::operator-=(), and T.

◆ operator-=() [3/4]

template<typename T>
Matrix< T > & Matrix< T >::operator-= ( TMatrix< T > a)
inline

Definition at line 1677 of file matrix.h.

References a, Matrix(), TMatrix< T >::operator-=(), and TMatrix< T >::TMatrix.

◆ operator-=() [4/4]

template<typename T>
Matrix< T > & Matrix< T >::operator-= ( TSMatrix< T > a)
inline

Definition at line 1681 of file matrix.h.

References a, Matrix(), and TMatrix< T >::operator-=().

◆ operator/()

template<typename T>
TSMatrix< T > Matrix< T >::operator/ ( const T & a) const
inline

Definition at line 1883 of file matrix.h.

References a, BCHK, and T.

◆ operator/=()

template<typename T>
Matrix< T > & Matrix< T >::operator/= ( const T & a)
inline

Definition at line 1855 of file matrix.h.

References a, Matrix(), STD_SMP_TEMPLATE2C, and T.

◆ operator=() [1/4]

template<typename T>
Matrix< T > & Matrix< T >::operator= ( const Matrix< T > & m)
inline

Assignment, non-resizing.

Definition at line 1638 of file matrix.h.

References Matrix(), and TMatrix< T >::operator=().

◆ operator=() [2/4]

template<typename T>
Matrix< T > & Matrix< T >::operator= ( const T & v)
inline

Definition at line 1644 of file matrix.h.

References Matrix(), TMatrix< T >::operator=(), and T.

◆ operator=() [3/4]

template<typename T>
Matrix< T > & Matrix< T >::operator= ( const TMatrix< T > & tm)
inline

Definition at line 1640 of file matrix.h.

References Matrix(), TMatrix< T >::operator=(), and TMatrix< T >::TMatrix.

◆ operator=() [4/4]

template<typename T>
Matrix< T > & Matrix< T >::operator= ( TSMatrix< T > ts)
inline

Definition at line 1642 of file matrix.h.

References Matrix(), TMatrix< T >::TMatrix, and ts.

◆ operator==() [1/3]

template<typename T>
bool Matrix< T >::operator== ( const Matrix< T > & m) const

Definition at line 2064 of file matrix.h.

References TMatrix< T >::col, LIKELY, Matrix(), TMatrix< T >::row, T, TBCICOMP, and TMatrix< T >::vec.

◆ operator==() [2/3]

template<typename T>
bool Matrix< T >::operator== ( TMatrix< T > tm) const
inline

Definition at line 1725 of file matrix.h.

References Matrix(), and TMatrix< T >::TMatrix.

◆ operator==() [3/3]

template<typename T>
bool Matrix< T >::operator== ( TSMatrix< T > ts) const

Definition at line 2077 of file matrix.h.

References TMatrix< T >::endvec, LIKELY, REGISTER, T, TBCICOMP, ts, and UNLIKELY.

◆ resize() [1/4]

template<typename T>
Matrix< T > & Matrix< T >::resize ( const Matrix< T > & m)
inline

Definition at line 1653 of file matrix.h.

References Matrix(), and TMatrix< T >::resize().

◆ resize() [2/4]

template<typename T>
Matrix< T > & Matrix< T >::resize ( const T & v,
const unsigned r,
const unsigned c )
inline

Definition at line 1651 of file matrix.h.

References c, Matrix(), TMatrix< T >::resize(), and T.

◆ resize() [3/4]

template<typename T>
Matrix< T > & Matrix< T >::resize ( const unsigned d)
inline

Definition at line 1649 of file matrix.h.

References Matrix(), and resize().

◆ resize() [4/4]

template<typename T>
Matrix< T > & Matrix< T >::resize ( const unsigned r,
const unsigned c )
inline

Definition at line 1647 of file matrix.h.

References c, Matrix(), and TMatrix< T >::resize().

Referenced by resize().

◆ setunit()

template<typename T>
Matrix< T > & Matrix< T >::setunit ( const T & f = (T) 1)
inline

Definition at line 1659 of file matrix.h.

References Matrix(), TMatrix< T >::setunit(), and T.

◆ transMult()

template<typename T>
TVector< T > Matrix< T >::transMult ( const Vector< T > & v) const

◆ FGD [1/2]

template<typename T>
BVector< T > &FRIEND_TBCI2__ bvfillm FGD ( BVector< T > & ,
const Matrix< T > & m )
friend

References bvfillm(), FRIEND_TBCI2__, and Matrix().

◆ FGD [2/2]

template<typename T>
NOINST char FRIEND_TBCI2__ gaussj FGD ( Matrix< T > & ,
Matrix< T > &  )
friend

References FRIEND_TBCI2__, gaussj(), Matrix(), and NOINST.

◆ operator<<FGDT

template<typename T>
STD__ ostream & operator<<FGDT ( STD__ ostream & ,
const Matrix< T > &  )
friend

References Matrix(), and STD__.

◆ operator>>FGDT

template<typename T>
STD__ istream & operator>>FGDT ( STD__ istream & ,
Matrix< T > &  )
friend

References Matrix(), and STD__.

◆ TSMatrix< T >

template<typename T>
friend class TSMatrix< T >
friend

Definition at line 1227 of file matrix.h.


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