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

Matrix expression proxy that views a strided rectangular slice of an underlying matrix. More...

+ Inheritance diagram for CDPL.Math.FMatrixSlice:

Public Member Functions

None __init__ (FMatrixSlice s)
 Initializes a copy of the FMatrixSlice instance s. More...
 
None __init__ (FMatrixExpression e, Slice s1, Slice s2)
 Initializes the FMatrixSlice instance. More...
 
int getStart1 ()
 Returns the row slice's start index in the wrapped matrix. More...
 
int getStart2 ()
 Returns the column slice's start index in the wrapped matrix. More...
 
int getStride1 ()
 Returns the row slice's stride in the wrapped matrix. More...
 
int getStride2 ()
 Returns the column slice's stride in the wrapped matrix. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
FMatrixSlice assign (ConstFMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary. More...
 
FMatrixSlice assign (ConstDMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary. More...
 
FMatrixSlice assign (ConstLMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary. More...
 
FMatrixSlice assign (ConstULMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary. More...
 
FMatrixSlice assign (FMatrixSlice s)
 Copy-assigns the contents of s to this matrix slice (via a temporary to handle aliasing). 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 in the proxy (size of the row slice). More...
 
int getSize2 ()
 Returns the number of columns in the proxy (size of the column slice). More...
 
bool isEmpty ()
 Tells whether the proxy is empty (either slice has size zero). More...
 
float getElement (int i, int j)
 
object toArray ()
 
None swap (FMatrixSlice s)
 Swaps the contents of this matrix slice with those of s (via element-wise swap of the underlying matrix elements). More...
 
None setElement (int i, int j, float v)
 
FMatrixExpression getData ()
 Returns a reference to the wrapped matrix (via its stored closure). More...
 
float __call__ (int i, int j)
 Returns a reference to the element at proxy index (i, j). More...
 
float __getitem__ (tuple ij)
 
int __len__ ()
 
bool __eq__ (FMatrixSlice s)
 Returns the result of the comparison operation self == s. More...
 
bool __eq__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (FMatrixSlice s)
 Returns the result of the comparison operation self != s. More...
 
bool __ne__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self != e. More...
 
str __str__ ()
 Returns a string representation of the FMatrixSlice instance. More...
 
FMatrixSlice __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)
 
FMatrixSlice __iadd__ (FMatrixSlice s)
 Performs the in-place addition operation self += s. More...
 
FMatrixSlice __iadd__ (ConstFMatrixExpression e)
 Adds the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
FMatrixSlice __isub__ (FMatrixSlice s)
 Performs the in-place subtraction operation self -= s. More...
 
FMatrixSlice __isub__ (ConstFMatrixExpression e)
 Subtracts the elements of the matrix expression e from this matrix slice (via a temporary to handle aliasing). More...
 
FMatrixSlice __imul__ (float t)
 Multiplies every element of this matrix slice by the scalar t. More...
 
FMatrixSlice __idiv__ (float t)
 Divides every element of this matrix slice by the scalar t. More...
 
FMatrixSlice __itruediv__ (float t)
 

Properties

 objectID = property(getObjectID)
 
 size1 = property(getSize1)
 
 size2 = property(getSize2)
 
 data = property(getData)
 
 start1 = property(getStart1)
 
 start2 = property(getStart2)
 
 stride1 = property(getStride1)
 
 stride2 = property(getStride2)
 

Detailed Description

Matrix expression proxy that views a strided rectangular slice of an underlying matrix.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.Math.FMatrixSlice.__init__ ( FMatrixSlice  s)

Initializes a copy of the FMatrixSlice instance s.

Parameters
sThe FMatrixSlice instance to copy.

◆ __init__() [2/2]

None CDPL.Math.FMatrixSlice.__init__ ( FMatrixExpression  e,
Slice  s1,
Slice  s2 
)

Initializes the FMatrixSlice instance.

Parameters
e
s1
s2

Member Function Documentation

◆ getStart1()

int CDPL.Math.FMatrixSlice.getStart1 ( )

Returns the row slice's start index in the wrapped matrix.

Returns
The start row index.

◆ getStart2()

int CDPL.Math.FMatrixSlice.getStart2 ( )

Returns the column slice's start index in the wrapped matrix.

Returns
The start column index.

◆ getStride1()

int CDPL.Math.FMatrixSlice.getStride1 ( )

Returns the row slice's stride in the wrapped matrix.

Returns
The row stride.

◆ getStride2()

int CDPL.Math.FMatrixSlice.getStride2 ( )

Returns the column slice's stride in the wrapped matrix.

Returns
The column stride.

◆ getObjectID()

int CDPL.Math.FMatrixSlice.getObjectID ( )

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

Different Python FMatrixSlice 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 FMatrixSlice 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]

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

Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary.

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [2/6]

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

Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary.

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [3/6]

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

Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary.

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [4/6]

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

Assigns the elements of the matrix expression e to this matrix slice without intermediate temporary.

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [5/6]

FMatrixSlice CDPL.Math.FMatrixSlice.assign ( FMatrixSlice  s)

Copy-assigns the contents of s to this matrix slice (via a temporary to handle aliasing).

Parameters
sThe source matrix slice.
Returns
self

◆ assign() [6/6]

None CDPL.Math.FMatrixSlice.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.FMatrixSlice.getSize1 ( )

Returns the number of rows in the proxy (size of the row slice).

Returns
The number of rows.

◆ getSize2()

int CDPL.Math.FMatrixSlice.getSize2 ( )

Returns the number of columns in the proxy (size of the column slice).

Returns
The number of columns.

◆ isEmpty()

bool CDPL.Math.FMatrixSlice.isEmpty ( )

Tells whether the proxy is empty (either slice has size zero).

Returns
True if either slice has zero size, and False otherwise.

◆ swap()

None CDPL.Math.FMatrixSlice.swap ( FMatrixSlice  s)

Swaps the contents of this matrix slice with those of s (via element-wise swap of the underlying matrix elements).

Parameters
sThe matrix slice to swap with.

◆ getData()

FMatrixExpression CDPL.Math.FMatrixSlice.getData ( )

Returns a reference to the wrapped matrix (via its stored closure).

Returns
A reference to the wrapped matrix closure.

◆ __call__()

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

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

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
Returns
A reference to the underlying element m(s1(i), s2(j)).

◆ __eq__() [1/2]

bool CDPL.Math.FMatrixSlice.__eq__ ( FMatrixSlice  s)

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

Parameters
sThe FMatrixSlice instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.FMatrixSlice.__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.FMatrixSlice.__ne__ ( FMatrixSlice  s)

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

Parameters
sThe FMatrixSlice instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.FMatrixSlice.__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.FMatrixSlice.__str__ ( )

Returns a string representation of the FMatrixSlice instance.

Returns
The generated string representation.

◆ __add__()

ConstFMatrixExpression CDPL.Math.FMatrixSlice.__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.FMatrixSlice.__sub__ ( ConstFMatrixExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/3]

ConstFMatrixExpression CDPL.Math.FMatrixSlice.__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.FMatrixSlice.__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.FMatrixSlice.__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.FMatrixSlice.__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.FMatrixSlice.__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.FMatrixSlice.__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.

◆ __iadd__() [1/2]

FMatrixSlice CDPL.Math.FMatrixSlice.__iadd__ ( FMatrixSlice  s)

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

Parameters
sSpecifies the second addend.
Returns
The updated FMatrixSlice instance self.

◆ __iadd__() [2/2]

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

Adds the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing).

Parameters
eThe source matrix expression.
Returns
self

◆ __isub__() [1/2]

FMatrixSlice CDPL.Math.FMatrixSlice.__isub__ ( FMatrixSlice  s)

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

Parameters
sSpecifies the subtrahend.
Returns
The updated FMatrixSlice instance self.

◆ __isub__() [2/2]

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

Subtracts the elements of the matrix expression e from this matrix slice (via a temporary to handle aliasing).

Parameters
eThe source matrix expression.
Returns
self

◆ __imul__()

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

Multiplies every element of this matrix slice by the scalar t.

Parameters
tThe scalar multiplier.
Returns
self

◆ __idiv__()

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

Divides every element of this matrix slice by the scalar t.

Parameters
tThe scalar divisor.
Returns
self