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

Matrix expression proxy that views a contiguous rectangular subrange of an underlying matrix. More...

+ Inheritance diagram for CDPL.Math.FMatrixRange:

Public Member Functions

None __init__ (FMatrixRange r)
 Contructs a copy of the FMatrixRange instance r. More...
 
None __init__ (FMatrixExpression m, Range r1, Range r2)
 Constructs the matrix range proxy viewing rows in r1 and columns in r2 of m. More...
 
int getStart1 ()
 Returns the row index range's start index in the wrapped matrix. More...
 
int getStart2 ()
 Returns the column index range's start index in the wrapped matrix. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
FMatrixRange assign (ConstFMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange assign (ConstDMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange assign (ConstLMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange assign (ConstULMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange assign (FMatrixRange r)
 Copy-assigns the contents of r to this matrix range (via a temporary to handle aliasing). More...
 
None assign (object a)
 Assigns the contents of the numpy.ndarray object a to this matrix range. More...
 
int getSize1 ()
 Returns the number of rows in the proxy (size of the row range). More...
 
int getSize2 ()
 Returns the number of columns in the proxy (size of the column range). More...
 
bool isEmpty ()
 Tells whether the proxy is empty (either range has size zero). More...
 
float getElement (int i, int j)
 Returns the element at proxy index (i, j). More...
 
object toArray ()
 Converts the FMatrixRange instance into a corresponding numpy.ndarray object. More...
 
None swap (FMatrixRange r)
 Swaps the contents of this matrix range with those of r (via element-wise swap of the underlying matrix elements). More...
 
None setElement (int i, int j, float v)
 Sets the value of the element at proxy index (i, j) to v. More...
 
FMatrixExpression getData ()
 Returns the wrapped matrix. More...
 
float __call__ (int i, int j)
 Returns the element at proxy index (i, j). More...
 
float __getitem__ (tuple ij)
 Returns the element at proxy index (i, j). More...
 
int __len__ ()
 Returns the number of rows in the proxy (size of the row range). More...
 
bool __eq__ (FMatrixRange r)
 Returns the result of the comparison operation self == r. More...
 
bool __eq__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (FMatrixRange r)
 Returns the result of the comparison operation self != r. More...
 
bool __ne__ (ConstFMatrixExpression e)
 Returns the result of the comparison operation self != e. More...
 
str __str__ ()
 Returns a string representation of the FMatrixRange instance. More...
 
FMatrixRange __pos__ ()
 Returns self. More...
 
ConstFMatrixExpression __neg__ ()
 Returns the result of the operation self * -1. More...
 
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)
 Sets the value of the element at proxy index (i, j) to v. More...
 
FMatrixRange __iadd__ (FMatrixRange r)
 Adds the elements of the matrix range r to this range (via a temporary to handle aliasing). More...
 
FMatrixRange __iadd__ (ConstFMatrixExpression e)
 Adds the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange __isub__ (FMatrixRange r)
 Subtracts the elements of the matrix range r from this range (via a temporary to handle aliasing). More...
 
FMatrixRange __isub__ (ConstFMatrixExpression e)
 Subtracts the elements of the matrix expression e from this matrix range (via a temporary to handle aliasing). More...
 
FMatrixRange __imul__ (float t)
 Multiplies every element of this matrix range by the scalar t. More...
 
FMatrixRange __idiv__ (float t)
 Divides every element of this matrix range by the scalar t. More...
 
FMatrixRange __itruediv__ (float t)
 Divides every element of this matrix range by the scalar t. More...
 

Properties

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

Detailed Description

Matrix expression proxy that views a contiguous rectangular subrange of an underlying matrix.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.Math.FMatrixRange.__init__ ( FMatrixRange  r)

Contructs a copy of the FMatrixRange instance r.

Parameters
rThe FMatrixRange instance to copy.

◆ __init__() [2/2]

None CDPL.Math.FMatrixRange.__init__ ( FMatrixExpression  m,
Range  r1,
Range  r2 
)

Constructs the matrix range proxy viewing rows in r1 and columns in r2 of m.

Parameters
mThe wrapped matrix.
r1The row index range.
r2The column index range.

Member Function Documentation

◆ getStart1()

int CDPL.Math.FMatrixRange.getStart1 ( )

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

Returns
The start row index.

◆ getStart2()

int CDPL.Math.FMatrixRange.getStart2 ( )

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

Returns
The start column index.

◆ getObjectID()

int CDPL.Math.FMatrixRange.getObjectID ( )

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

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

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [2/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [3/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [4/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [5/6]

FMatrixRange CDPL.Math.FMatrixRange.assign ( FMatrixRange  r)

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

Parameters
rThe source matrix range.
Returns
self.

◆ assign() [6/6]

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

Assigns the contents of the numpy.ndarray object a to this matrix range.

Parameters
aThe numpy.ndarray object.
See also
[NUMPY]

◆ getSize1()

int CDPL.Math.FMatrixRange.getSize1 ( )

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

Returns
The number of rows.

◆ getSize2()

int CDPL.Math.FMatrixRange.getSize2 ( )

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

Returns
The number of columns.

◆ isEmpty()

bool CDPL.Math.FMatrixRange.isEmpty ( )

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

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

◆ getElement()

float CDPL.Math.FMatrixRange.getElement ( int  i,
int  j 
)

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

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
Returns
The value of the element m(r1(i), r2(j)).

◆ toArray()

object CDPL.Math.FMatrixRange.toArray ( )

Converts the FMatrixRange instance into a corresponding numpy.ndarray object.

Returns
The generated numpy.ndarray object.
See also
[NUMPY]

◆ swap()

None CDPL.Math.FMatrixRange.swap ( FMatrixRange  r)

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

Parameters
rThe matrix range to swap with.

◆ setElement()

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

Sets the value of the element at proxy index (i, j) to v.

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
Exceptions
Base.IndexErrorif any of the indices is out of range.

◆ getData()

FMatrixExpression CDPL.Math.FMatrixRange.getData ( )

Returns the wrapped matrix.

Returns
The wrapped matrix.

◆ __call__()

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

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

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
Returns
The value of the element m(r1(i), r2(j)).

◆ __getitem__()

float CDPL.Math.FMatrixRange.__getitem__ ( tuple  ij)

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

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
Returns
The value of the element m(r1(i), r2(j)).

◆ __len__()

int CDPL.Math.FMatrixRange.__len__ ( )

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

Returns
The number of rows.

◆ __eq__() [1/2]

bool CDPL.Math.FMatrixRange.__eq__ ( FMatrixRange  r)

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

Parameters
rThe FMatrixRange instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

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

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

Parameters
rThe FMatrixRange instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

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

Returns a string representation of the FMatrixRange instance.

Returns
The generated string representation.

◆ __pos__()

FMatrixRange CDPL.Math.FMatrixRange.__pos__ ( )

Returns self.

Returns
self.

◆ __neg__()

ConstFMatrixExpression CDPL.Math.FMatrixRange.__neg__ ( )

Returns the result of the operation self * -1.

Returns
A ConstFMatrixExpression instance holding the result of the element negation.

◆ __add__()

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

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/3]

ConstFMatrixExpression CDPL.Math.FMatrixRange.__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.FMatrixRange.__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.FMatrixRange.__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.FMatrixRange.__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.FMatrixRange.__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.FMatrixRange.__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.FMatrixRange.__setitem__ ( tuple  ij,
float  v 
)

Sets the value of the element at proxy index (i, j) to v.

Parameters
iThe zero-based proxy row index.
jThe zero-based proxy column index.
vThe new value of the element.
Exceptions
Base.IndexErrorif any of the indices is out of range.

◆ __iadd__() [1/2]

FMatrixRange CDPL.Math.FMatrixRange.__iadd__ ( FMatrixRange  r)

Adds the elements of the matrix range r to this range (via a temporary to handle aliasing).

Parameters
rThe source matrix range.
Returns
self.

◆ __iadd__() [2/2]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ __isub__() [1/2]

FMatrixRange CDPL.Math.FMatrixRange.__isub__ ( FMatrixRange  r)

Subtracts the elements of the matrix range r from this range (via a temporary to handle aliasing).

Parameters
rThe source matrix range.
Returns
self.

◆ __isub__() [2/2]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ __imul__()

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

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

Parameters
tThe scalar multiplier.
Returns
self.

◆ __idiv__()

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

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

Parameters
tThe scalar divisor.
Returns
self.

◆ __itruediv__()

FMatrixRange CDPL.Math.FMatrixRange.__itruediv__ ( float  t)

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

Parameters
tThe scalar divisor.
Returns
self.