Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.Math.FMatrix Class Reference

Unbounded dense matrix holding floating point values of type float. More...

+ Inheritance diagram for CDPL.Math.FMatrix:

Public Member Functions

None __init__ ()
 Constructs an empty matrix (zero rows and zero columns).
 
None __init__ (FMatrix m)
 Move-constructs a matrix from m (m is left in a valid empty state). More...
 
None __init__ (int m, int n)
 Constructs an m × n matrix with default-initialized elements. More...
 
None __init__ (int m, int n, float v)
 Constructs an m × n matrix with every element initialized to v. More...
 
None __init__ (ConstFMatrixExpression e)
 Initializes the FMatrix instance. More...
 
None __init__ (ConstDMatrixExpression e)
 Initializes the FMatrix instance. More...
 
None __init__ (ConstLMatrixExpression e)
 Initializes the FMatrix instance. More...
 
None __init__ (ConstULMatrixExpression e)
 Initializes the FMatrix instance. More...
 
None __init__ (object a)
 Initializes the FMatrix instance. More...
 
None resize (int m, int n, bool preserve=True, float v=0.0)
 Resizes the matrix to \( m \times n \) elements. More...
 
None clear (float v=0.0)
 Sets every element of the matrix to the value v. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
FMatrix assign (ConstFMatrixExpression e)
 Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary). More...
 
FMatrix assign (ConstDMatrixExpression e)
 Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary). More...
 
FMatrix assign (ConstLMatrixExpression e)
 Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary). More...
 
FMatrix assign (ConstULMatrixExpression e)
 Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary). More...
 
FMatrix assign (FMatrix m)
 Move-assigns the contents of m to this matrix. More...
 
None assign (object a)
 Replaces the current state of self with a copy of the state of the object instance a. More...
 
int getSize1 ()
 Returns the number of rows. More...
 
int getSize2 ()
 Returns the number of columns. More...
 
bool isEmpty ()
 Tells whether the matrix is empty. More...
 
float getElement (int i, int j)
 
object toArray ()
 
None swap (FMatrix m)
 Swaps the contents of this matrix with those of m. More...
 
None setElement (int i, int j, float v)
 
float __call__ (int i, int j)
 Returns a reference to the element at (i, j). More...
 
float __getitem__ (tuple ij)
 
int __len__ ()
 
bool __eq__ (FMatrix m)
 Returns the result of the comparison operation self == m. More...
 
bool __eq__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (FMatrix m)
 Returns the result of the comparison operation self != m. More...
 
bool __ne__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self != e. More...
 
str __str__ ()
 Returns a string representation of the FMatrix instance. More...
 
FMatrix __pos__ ()
 
ConstFMatrixExpression __neg__ ()
 
ConstFMatrixExpression __add__ (ConstFMatrixExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstFMatrixExpression __sub__ (ConstFMatrixExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstFMatrixExpression __mul__ (float t)
 Returns the result of the multiplication operation self * t. More...
 
ConstFMatrixExpression __mul__ (ConstFMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstFVectorExpression __mul__ (ConstFVectorExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstFMatrixExpression __div__ (float t)
 Returns the result of the division operation self // t. More...
 
ConstFMatrixExpression __truediv__ (float t)
 Returns the result of the true division operation self / t. More...
 
ConstFMatrixExpression __rmul__ (float t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (tuple ij, float v)
 
FMatrix __iadd__ (FMatrix m)
 Performs the in-place addition operation self += m. More...
 
FMatrix __iadd__ (ConstFMatrixExpression e)
 Performs the in-place addition operation self += e. More...
 
FMatrix __isub__ (FMatrix m)
 Performs the in-place subtraction operation self -= m. More...
 
FMatrix __isub__ (ConstFMatrixExpression e)
 Performs the in-place subtraction operation self -= e. More...
 
FMatrix __imul__ (float t)
 Performs the in-place multiplication operation self *= t. More...
 
FMatrix __idiv__ (float t)
 Performs the in-place division operation self /= t. More...
 
FMatrix __itruediv__ (float t)
 

Properties

 objectID = property(getObjectID)
 
 size1 = property(getSize1)
 
 size2 = property(getSize2)
 

Detailed Description

Unbounded dense matrix holding floating point values of type float.

Constructor & Destructor Documentation

◆ __init__() [1/8]

None CDPL.Math.FMatrix.__init__ ( FMatrix  m)

Move-constructs a matrix from m (m is left in a valid empty state).

Parameters
mThe matrix to move from.

◆ __init__() [2/8]

None CDPL.Math.FMatrix.__init__ ( int  m,
int  n 
)

Constructs an m × n matrix with default-initialized elements.

Parameters
mThe number of rows.
nThe number of columns.

◆ __init__() [3/8]

None CDPL.Math.FMatrix.__init__ ( int  m,
int  n,
float  v 
)

Constructs an m × n matrix with every element initialized to v.

Parameters
mThe number of rows.
nThe number of columns.
vThe element value used to initialize every cell.

◆ __init__() [4/8]

None CDPL.Math.FMatrix.__init__ ( ConstFMatrixExpression  e)

Initializes the FMatrix instance.

Parameters
e

◆ __init__() [5/8]

None CDPL.Math.FMatrix.__init__ ( ConstDMatrixExpression  e)

Initializes the FMatrix instance.

Parameters
e

◆ __init__() [6/8]

None CDPL.Math.FMatrix.__init__ ( ConstLMatrixExpression  e)

Initializes the FMatrix instance.

Parameters
e

◆ __init__() [7/8]

None CDPL.Math.FMatrix.__init__ ( ConstULMatrixExpression  e)

Initializes the FMatrix instance.

Parameters
e

◆ __init__() [8/8]

None CDPL.Math.FMatrix.__init__ ( object  a)

Initializes the FMatrix instance.

Parameters
a

Member Function Documentation

◆ resize()

None CDPL.Math.FMatrix.resize ( int  m,
int  n,
bool   preserve = True,
float   v = 0.0 
)

Resizes the matrix to \( m \times n \) elements.

Parameters
mThe new row count.
nThe new column count.
preserveIf True, existing element values at indices that remain valid are kept. If False, all elements are set to v.
vThe fill value for newly added elements (or for all elements when preserve is False).

◆ clear()

None CDPL.Math.FMatrix.clear ( float   v = 0.0)

Sets every element of the matrix to the value v.

Parameters
vThe fill value.

◆ getObjectID()

int CDPL.Math.FMatrix.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python FMatrix instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two FMatrix instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ assign() [1/6]

FMatrix CDPL.Math.FMatrix.assign ( ConstFMatrixExpression  e)

Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary).

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [2/6]

FMatrix CDPL.Math.FMatrix.assign ( ConstDMatrixExpression  e)

Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary).

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [3/6]

FMatrix CDPL.Math.FMatrix.assign ( ConstLMatrixExpression  e)

Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary).

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [4/6]

FMatrix CDPL.Math.FMatrix.assign ( ConstULMatrixExpression  e)

Resizes this matrix to match the dimensions of e and assigns its elements (without intermediate temporary).

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [5/6]

FMatrix CDPL.Math.FMatrix.assign ( FMatrix  m)

Move-assigns the contents of m to this matrix.

Parameters
mThe source matrix (left in a valid but unspecified state).
Returns
self

◆ assign() [6/6]

None CDPL.Math.FMatrix.assign ( object  a)

Replaces the current state of self with a copy of the state of the object instance a.

Parameters
aThe object instance to copy.
Returns
self

◆ getSize1()

int CDPL.Math.FMatrix.getSize1 ( )

Returns the number of rows.

Returns
The number of rows.

◆ getSize2()

int CDPL.Math.FMatrix.getSize2 ( )

Returns the number of columns.

Returns
The number of columns.

◆ isEmpty()

bool CDPL.Math.FMatrix.isEmpty ( )

Tells whether the matrix is empty.

Returns
True if the underlying storage holds no elements, and False otherwise.

◆ getElement()

float CDPL.Math.FMatrix.getElement ( int  i,
int  j 
)
Parameters
i
j
Returns

◆ toArray()

object CDPL.Math.FMatrix.toArray ( )
Returns

◆ swap()

None CDPL.Math.FMatrix.swap ( FMatrix  m)

Swaps the contents of this matrix with those of m.

Parameters
mThe matrix to swap with.

◆ setElement()

None CDPL.Math.FMatrix.setElement ( int  i,
int  j,
float  v 
)
Parameters
i
j
v

◆ __call__()

float CDPL.Math.FMatrix.__call__ ( int  i,
int  j 
)

Returns a reference to the element at (i, j).

Parameters
iThe zero-based row index.
jThe zero-based column index.
Returns
A reference to the element.
Exceptions
Base.IndexErrorif either index is out of range.

◆ __getitem__()

float CDPL.Math.FMatrix.__getitem__ ( tuple  ij)
Parameters
ij
Returns

◆ __len__()

int CDPL.Math.FMatrix.__len__ ( )
Returns

◆ __eq__() [1/2]

bool CDPL.Math.FMatrix.__eq__ ( FMatrix  m)

Returns the result of the comparison operation self == m.

Parameters
mThe FMatrix instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.FMatrix.__eq__ ( ConstFMatrixExpression  e)

Returns the result of the comparison operation self == e.

Parameters
eThe ConstFMatrixExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [1/2]

bool CDPL.Math.FMatrix.__ne__ ( FMatrix  m)

Returns the result of the comparison operation self != m.

Parameters
mThe FMatrix instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.FMatrix.__ne__ ( ConstFMatrixExpression  e)

Returns the result of the comparison operation self != e.

Parameters
eThe ConstFMatrixExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __str__()

str CDPL.Math.FMatrix.__str__ ( )

Returns a string representation of the FMatrix instance.

Returns
The generated string representation.

◆ __pos__()

FMatrix CDPL.Math.FMatrix.__pos__ ( )
Returns

◆ __neg__()

ConstFMatrixExpression CDPL.Math.FMatrix.__neg__ ( )
Returns

◆ __add__()

ConstFMatrixExpression CDPL.Math.FMatrix.__add__ ( ConstFMatrixExpression  e)

Returns the result of the addition operation self + e.

Parameters
eSpecifies the second addend.
Returns
A ConstFMatrixExpression instance holding the result of the addition.

◆ __sub__()

ConstFMatrixExpression CDPL.Math.FMatrix.__sub__ ( ConstFMatrixExpression  e)

Returns the result of the subtraction operation self - e.

Parameters
eSpecifies the subtrahend.
Returns
A FMatrix instance holding the result of the subtraction.

◆ __mul__() [1/3]

ConstFMatrixExpression CDPL.Math.FMatrix.__mul__ ( float  t)

Returns the result of the multiplication operation self * t.

Parameters
tSpecifies the multiplier.
Returns
A ConstFMatrixExpression instance holding the result of the multiplication.

◆ __mul__() [2/3]

ConstFMatrixExpression CDPL.Math.FMatrix.__mul__ ( ConstFMatrixExpression  e)

Returns the result of the multiplication operation self * e.

Parameters
eSpecifies the multiplier.
Returns
A ConstFMatrixExpression instance holding the result of the multiplication.

◆ __mul__() [3/3]

ConstFVectorExpression CDPL.Math.FMatrix.__mul__ ( ConstFVectorExpression  e)

Returns the result of the multiplication operation self * e.

Parameters
eSpecifies the multiplier.
Returns
A ConstFVectorExpression instance holding the result of the multiplication.

◆ __div__()

ConstFMatrixExpression CDPL.Math.FMatrix.__div__ ( float  t)

Returns the result of the division operation self // t.

Parameters
tSpecifies the divisor.
Returns
A ConstFMatrixExpression instance holding the result of the division.

◆ __truediv__()

ConstFMatrixExpression CDPL.Math.FMatrix.__truediv__ ( float  t)

Returns the result of the true division operation self / t.

Parameters
tSpecifies the divisor.
Returns
A ConstFMatrixExpression instance holding the result of the division.

◆ __rmul__()

ConstFMatrixExpression CDPL.Math.FMatrix.__rmul__ ( float  t)

Returns the result of the multiplication operation t * self.

Parameters
tSpecifies the multiplicand.
Returns
A ConstFMatrixExpression instance holding the result of the multiplication.

◆ __setitem__()

None CDPL.Math.FMatrix.__setitem__ ( tuple  ij,
float  v 
)
Parameters
ij
v

◆ __iadd__() [1/2]

FMatrix CDPL.Math.FMatrix.__iadd__ ( FMatrix  m)

Performs the in-place addition operation self += m.

Parameters
mSpecifies the second addend.
Returns
The updated FMatrix instance self.

◆ __iadd__() [2/2]

FMatrix CDPL.Math.FMatrix.__iadd__ ( ConstFMatrixExpression  e)

Performs the in-place addition operation self += e.

Parameters
eSpecifies the second addend.
Returns
The updated FMatrix instance self.

◆ __isub__() [1/2]

FMatrix CDPL.Math.FMatrix.__isub__ ( FMatrix  m)

Performs the in-place subtraction operation self -= m.

Parameters
mSpecifies the subtrahend.
Returns
The updated FMatrix instance self.

◆ __isub__() [2/2]

FMatrix CDPL.Math.FMatrix.__isub__ ( ConstFMatrixExpression  e)

Performs the in-place subtraction operation self -= e.

Parameters
eSpecifies the subtrahend.
Returns
The updated FMatrix instance self.

◆ __imul__()

FMatrix CDPL.Math.FMatrix.__imul__ ( float  t)

Performs the in-place multiplication operation self *= t.

Parameters
tSpecifies the multiplier.
Returns
The updated FMatrix instance self.

◆ __idiv__()

FMatrix CDPL.Math.FMatrix.__idiv__ ( float  t)

Performs the in-place division operation self /= t.

Parameters
tSpecifies the divisor.
Returns
The updated FMatrix instance self.

◆ __itruediv__()

FMatrix CDPL.Math.FMatrix.__itruediv__ ( float  t)
Parameters
t
Returns