OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
MultipliedMatrix Class Reference

#include <newmat.h>

Inheritance diagram for MultipliedMatrix:
BaseMatrix AddedMatrix ConcatenatedMatrix KPMatrix SolvedMatrix SPMatrix SubtractedMatrix StackedMatrix

Public Member Functions

 ~MultipliedMatrix ()
 
GeneralMatrixEvaluate (MatrixType mt=MatrixTypeUnSp)
 
MatrixBandWidth BandWidth () const
 
- Public Member Functions inherited from BaseMatrix
AddedMatrix operator+ (const BaseMatrix &) const
 
MultipliedMatrix operator* (const BaseMatrix &) const
 
SubtractedMatrix operator- (const BaseMatrix &) const
 
ConcatenatedMatrix operator| (const BaseMatrix &) const
 
StackedMatrix operator & (const BaseMatrix &) const
 
ShiftedMatrix operator+ (Real) const
 
ScaledMatrix operator* (Real) const
 
ScaledMatrix operator/ (Real) const
 
ShiftedMatrix operator- (Real) const
 
TransposedMatrix t () const
 
NegatedMatrix operator- () const
 
ReversedMatrix Reverse () const
 
InvertedMatrix i () const
 
RowedMatrix AsRow () const
 
ColedMatrix AsColumn () const
 
DiagedMatrix AsDiagonal () const
 
MatedMatrix AsMatrix (int, int) const
 
GetSubMatrix SubMatrix (int, int, int, int) const
 
GetSubMatrix SymSubMatrix (int, int) const
 
GetSubMatrix Row (int) const
 
GetSubMatrix Rows (int, int) const
 
GetSubMatrix Column (int) const
 
GetSubMatrix Columns (int, int) const
 
Real AsScalar () const
 
virtual LogAndSign LogDeterminant () const
 
Real Determinant () const
 
virtual Real SumSquare () const
 
Real NormFrobenius () const
 
virtual Real SumAbsoluteValue () const
 
virtual Real Sum () const
 
virtual Real MaximumAbsoluteValue () const
 
virtual Real MaximumAbsoluteValue1 (int &i) const
 
virtual Real MaximumAbsoluteValue2 (int &i, int &j) const
 
virtual Real MinimumAbsoluteValue () const
 
virtual Real MinimumAbsoluteValue1 (int &i) const
 
virtual Real MinimumAbsoluteValue2 (int &i, int &j) const
 
virtual Real Maximum () const
 
virtual Real Maximum1 (int &i) const
 
virtual Real Maximum2 (int &i, int &j) const
 
virtual Real Minimum () const
 
virtual Real Minimum1 (int &i) const
 
virtual Real Minimum2 (int &i, int &j) const
 
virtual Real Trace () const
 
Real Norm1 () const
 
Real NormInfinity () const
 
virtual void CleanUp ()
 
void IEQND () const
 

Protected Member Functions

 MultipliedMatrix (const BaseMatrix *bm1x, const BaseMatrix *bm2x)
 
int search (const BaseMatrix *) const
 

Protected Attributes

union {
   const BaseMatrix *   bm1
 
   GeneralMatrix *   gm1
 
}; 
 
union {
   const BaseMatrix *   bm2
 
   GeneralMatrix *   gm2
 
}; 
 

Friends

class BaseMatrix
 
class GeneralMatrix
 
class GenericMatrix
 

Detailed Description

Definition at line 1215 of file newmat.h.

Constructor & Destructor Documentation

◆ MultipliedMatrix()

MultipliedMatrix::MultipliedMatrix ( const BaseMatrix bm1x,
const BaseMatrix bm2x 
)
inlineprotected

Definition at line 1223 of file newmat.h.

1224  : bm1(bm1x),bm2(bm2x) {}
const BaseMatrix * bm2
Definition: newmat.h:1222
const BaseMatrix * bm1
Definition: newmat.h:1220

◆ ~MultipliedMatrix()

MultipliedMatrix::~MultipliedMatrix ( )
inline

Definition at line 1230 of file newmat.h.

1230 {}

Member Function Documentation

◆ BandWidth()

MatrixBandWidth MultipliedMatrix::BandWidth ( ) const
virtual

Reimplemented from BaseMatrix.

Reimplemented in SolvedMatrix, ConcatenatedMatrix, KPMatrix, SPMatrix, and AddedMatrix.

Definition at line 482 of file newmat4.cpp.

References BaseMatrix::BandWidth(), gm1, gm2, and REPORT.

483 { REPORT return gm1->BandWidth() * gm2->BandWidth(); }
virtual MatrixBandWidth BandWidth() const
Definition: newmat4.cpp:431
#define REPORT
Definition: newmat4.cpp:19
GeneralMatrix * gm2
Definition: newmat.h:1222
GeneralMatrix * gm1
Definition: newmat.h:1220

◆ Evaluate()

GeneralMatrix * MultipliedMatrix::Evaluate ( MatrixType  mt = MatrixTypeUnSp)
virtual

Implements BaseMatrix.

Reimplemented in SubtractedMatrix, SolvedMatrix, StackedMatrix, ConcatenatedMatrix, KPMatrix, SPMatrix, and AddedMatrix.

Definition at line 99 of file newmat7.cpp.

References REPORT.

Referenced by GenericMatrix::operator*=().

100 {
101  REPORT
102  gm2 = ((BaseMatrix*&)bm2)->Evaluate();
103  gm2 = gm2->Evaluate(gm2->Type().MultRHS()); // no symmetric on RHS
104  gm1=((BaseMatrix*&)bm1)->Evaluate();
105  return GeneralMult(gm1, gm2, this, mt);
106 }
const BaseMatrix * bm2
Definition: newmat.h:1222
GeneralMatrix * Evaluate(MatrixType mt=MatrixTypeUnSp)
Definition: newmat5.cpp:79
#define REPORT
Definition: newmat7.cpp:18
MatrixType MultRHS() const
Definition: newmat1.cpp:95
virtual MatrixType Type() const =0
const BaseMatrix * bm1
Definition: newmat.h:1220
GeneralMatrix * gm2
Definition: newmat.h:1222
GeneralMatrix * gm1
Definition: newmat.h:1220

◆ search()

int MultipliedMatrix::search ( const BaseMatrix s) const
protectedvirtual

Implements BaseMatrix.

Definition at line 401 of file newmat4.cpp.

References bm1, bm2, REPORT, and BaseMatrix::search().

402 { REPORT return bm1->search(s) + bm2->search(s); }
const BaseMatrix * bm2
Definition: newmat.h:1222
virtual int search(const BaseMatrix *) const =0
#define REPORT
Definition: newmat4.cpp:19
const BaseMatrix * bm1
Definition: newmat.h:1220

Friends And Related Function Documentation

◆ BaseMatrix

friend class BaseMatrix
friend

Definition at line 1226 of file newmat.h.

◆ GeneralMatrix

friend class GeneralMatrix
friend

Definition at line 1227 of file newmat.h.

◆ GenericMatrix

friend class GenericMatrix
friend

Definition at line 1228 of file newmat.h.

Member Data Documentation

◆ @36

union { ... }

◆ @38

union { ... }

◆ bm1

const BaseMatrix* MultipliedMatrix::bm1

Definition at line 1220 of file newmat.h.

Referenced by search().

◆ bm2

const BaseMatrix* MultipliedMatrix::bm2

Definition at line 1222 of file newmat.h.

Referenced by search().

◆ gm1

GeneralMatrix* MultipliedMatrix::gm1

◆ gm2

GeneralMatrix* MultipliedMatrix::gm2

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