Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

IMatrix Struct Reference

#include <hyp.fem.interfaces.h>

Inheritance diagram for IMatrix::

CMatrix CVector List of all members.

Public Methods

virtual void SetMatrix (IMatrix *B)=0
virtual void Extract (const t_size &MinX, const t_size &MaxX, const t_size &MinY, const t_size &MaxY, IMatrix *B)=0
virtual void IncrValue (const t_size &X, const t_size &Y, const t_real &Scalar)=0
virtual void SetDim (const t_size &Column, const t_size &Row, const t_real &Scalar=0)=0
virtual void SetValue (const t_size &X, const t_size &Y, const t_real &Scalar)=0
virtual t_real GetValue (const t_size &X, const t_size &Y) const=0
virtual void SetMatrix (const t_real &Scalar)=0
virtual t_size GetNbRow () const=0
virtual t_size GetNbColumn () const=0
virtual void Multiply (const t_real &Scalar)=0
virtual void Multiply (const IMatrix *B, IMatrix *C)=0
virtual void Substract (const IMatrix *B)=0
virtual void Invert ()=0
virtual void Add (const IMatrix *B)=0
virtual void Transpose (IMatrix *B)=0
virtual bool IsSymmetrical ()=0
virtual void EraseRow (const t_size &Y)=0
virtual void EraseColumn (const t_size &X)=0
virtual void EraseRowsAndColumns (const t_mask_array &RowMask,const t_mask_array &ColumnMask)=0

Detailed Description

The FEM is based on the algebraic equations and also on matrix computations. The Ephydryne Components provide a single interface to deal with the matrices.

In the following documentation, the matrix A is referencied as the component.

Invariants
Here are the listing of the invariants. The implementation have to follow these invariant.
Key words
See also the following key words:
IID
Here is the Interface Identifier (IID) of the interface:


Member Function Documentation

virtual void IMatrix::Add const IMatrix *   B [pure virtual]
 

Adds the Matrix B to the Matrix A. A+=B.

Parameters:
B   Matrix B

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::EraseColumn const t_size &   X [pure virtual]
 

Erases one of the columns of the Matrix A.

Parameters:
X   Number of the erased column

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::EraseRow const t_size &   Y [pure virtual]
 

Erases one of the rows of the Matrix A.

Parameters:
Y   Number of the erased row

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::EraseRowsAndColumns const t_mask_array &   RowMask,
const t_mask_array &   ColumnMask
[pure virtual]
 

Erases some of the columns and the rows of the Matrix A.

Parameters:
ColumnMask   Mask indicates which column must be erased. If ColumnMask={1,0,0,1}, the Column number 0 and 3 must be erased.
RowMask   Mask indicates which row must be erased

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Extract const t_size &   MinX,
const t_size &   MaxX,
const t_size &   MinY,
const t_size &   MaxY,
IMatrix *   B
[pure virtual]
 

Extracts some elements of the matrix A to the Matrix B. The elements are delimited by a square defined itself by four coordinates. The boundaries of the square are extracted as well.

Parameters:
MinX   Lower column extracted
MaxX   Upper column extracted
MinY   Lower row extracted
MaxY   Upper row extracted
B   Matrix B
Invariant:
MinX<=MaxX and MinY<=MaxY

Reimplemented in CMatrix, and CVector.

virtual t_size IMatrix::GetNbColumn   const [pure virtual]
 

Gets the number of columns of the Matrix A.

Returns:
Number of columns of the matrix

Reimplemented in CMatrix, and CVector.

virtual t_size IMatrix::GetNbRow   const [pure virtual]
 

Gets the number of rows of the Matrix A.

Returns:
Number of rows of the matrix

Reimplemented in CMatrix, and CVector.

virtual t_real IMatrix::GetValue const t_size &   X,
const t_size &   Y
const [pure virtual]
 

Retrieves one of the components of the Matrix A. Scalar=A[X][Y].

Parameters:
X   Column of the component
Y   Row of the component
Returns:
Value of the component of the matrix

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::IncrValue const t_size &   X,
const t_size &   Y,
const t_real &   Scalar
[pure virtual]
 

Increments one of the components of the Matrix A. A[X][Y]+=Scalar.

Parameters:
Column   of the component
Row   of the component
Scalar   Real from which the component of the matrix is increased.

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Invert   [pure virtual]
 

Inverts the Matrix A. A=A-1.

Reimplemented in CMatrix, and CVector.

virtual bool IMatrix::IsSymmetrical void   [pure virtual]
 

Ckecks whether the Matrix A is symetric. A.Transpose(A)==Identity.

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Multiply const IMatrix *   B,
IMatrix *   C
[pure virtual]
 

Multiplies two Matrices and stockes the result in another Matrix. A*B=C.

Parameters:
B   Matrix B
Matrix   C

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Multiply const t_real &   Scalar [pure virtual]
 

Multiplies all the component of the Matrix A by a scalar. A*=Scalar.

Parameters:
Scalar   Real which multiplies all the components of the matrix

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::SetDim const t_size &   Column,
const t_size &   Row,
const t_real &   Scalar = 0
[pure virtual]
 

Sets the dimension of the matrix A.

Parameters:
Column   Number of columns
Row   Number of rows
Scalar   Real which is used to initialize all the components of the matrix after its size has been changed.

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::SetMatrix const t_real &   Scalar [pure virtual]
 

Initializes all the components of the matrix to a same value. A=Scalar.

Parameters:
Scalar   Real which uses to initializes the components of the matrix

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::SetMatrix IMatrix *   B [pure virtual]
 

B=A.

Parameters:
B   Matrix B

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::SetValue const t_size &   X,
const t_size &   Y,
const t_real &   Scalar
[pure virtual]
 

Sets one of the components of the Matrix A. A[X][Y]=Scalar.

Parameters:
X   Column of the component
an Y Row of the component
Parameters:
Scalar   Real from which the component of the matrix is initialized

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Substract const IMatrix *   B [pure virtual]
 

Substracts the Matrix A by the Matrix B. A-=B.

Parameters:
Matrix   B

Reimplemented in CMatrix, and CVector.

virtual void IMatrix::Transpose IMatrix *   B [pure virtual]
 

Transposes the Matrix A and stocke the result in the Matrix B. B=Transpose(A).

Parameters:
B   Matrix B

Reimplemented in CMatrix, and CVector.


The documentation for this struct was generated from the following file:
Top of Page
written by Pierre Rebours © 2000-2001. Terms of Use.