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

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

+ Inheritance diagram for CDPL.Math.LMatrixRange:

Public Member Functions

None __init__ (LMatrixRange r)
 Initializes a copy of the LMatrixRange instance r. More...
 
None __init__ (LMatrixExpression e, Range r1, Range r2)
 Initializes the LMatrixRange instance. 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...
 
LMatrixRange assign (ConstFMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range without intermediate temporary. More...
 
LMatrixRange assign (ConstDMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range without intermediate temporary. More...
 
LMatrixRange assign (ConstLMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range without intermediate temporary. More...
 
LMatrixRange assign (ConstULMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix range without intermediate temporary. More...
 
LMatrixRange assign (LMatrixRange r)
 Copy-assigns the contents of r to this matrix range (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 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...
 
int getElement (int i, int j)
 
object toArray ()
 
None swap (LMatrixRange 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, int v)
 
LMatrixExpression getData ()
 Returns a reference to the wrapped matrix (via its stored closure). More...
 
int __call__ (int i, int j)
 Returns a reference to the element at proxy index (i, j). More...
 
int __getitem__ (tuple ij)
 
int __len__ ()
 
bool __eq__ (LMatrixRange r)
 Returns the result of the comparison operation self == r. More...
 
bool __eq__ (ConstLMatrixExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (LMatrixRange r)
 Returns the result of the comparison operation self != r. More...
 
bool __ne__ (ConstLMatrixExpression e)
 Returns the result of the comparison operation self != e. More...
 
str __str__ ()
 Returns a string representation of the LMatrixRange instance. More...
 
LMatrixRange __pos__ ()
 
ConstLMatrixExpression __neg__ ()
 
ConstLMatrixExpression __add__ (ConstLMatrixExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstLMatrixExpression __sub__ (ConstLMatrixExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstLMatrixExpression __mul__ (int t)
 Returns the result of the multiplication operation self * t. More...
 
ConstLMatrixExpression __mul__ (ConstLMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstLVectorExpression __mul__ (ConstLVectorExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstLMatrixExpression __div__ (int t)
 Returns the result of the division operation self // t. More...
 
ConstLMatrixExpression __truediv__ (int t)
 Returns the result of the true division operation self / t. More...
 
ConstLMatrixExpression __rmul__ (int t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (tuple ij, int v)
 
LMatrixRange __iadd__ (LMatrixRange r)
 Performs the in-place addition operation self += r. More...
 
LMatrixRange __iadd__ (ConstLMatrixExpression e)
 Adds the elements of the matrix expression e to this matrix range (via a temporary to handle aliasing). More...
 
LMatrixRange __isub__ (LMatrixRange r)
 Performs the in-place subtraction operation self -= r. More...
 
LMatrixRange __isub__ (ConstLMatrixExpression e)
 Subtracts the elements of the matrix expression e from this matrix range (via a temporary to handle aliasing). More...
 
LMatrixRange __imul__ (int t)
 Multiplies every element of this matrix range by the scalar t. More...
 
LMatrixRange __idiv__ (int t)
 Divides every element of this matrix range by the scalar t. More...
 
LMatrixRange __itruediv__ (int t)
 

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.LMatrixRange.__init__ ( LMatrixRange  r)

Initializes a copy of the LMatrixRange instance r.

Parameters
rThe LMatrixRange instance to copy.

◆ __init__() [2/2]

None CDPL.Math.LMatrixRange.__init__ ( LMatrixExpression  e,
Range  r1,
Range  r2 
)

Initializes the LMatrixRange instance.

Parameters
e
r1
r2

Member Function Documentation

◆ getStart1()

int CDPL.Math.LMatrixRange.getStart1 ( )

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

Returns
The start row index.

◆ getStart2()

int CDPL.Math.LMatrixRange.getStart2 ( )

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

Returns
The start column index.

◆ getObjectID()

int CDPL.Math.LMatrixRange.getObjectID ( )

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

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

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

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

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [2/6]

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

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

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [3/6]

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

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

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [4/6]

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

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

Parameters
eThe source matrix expression.
Returns
self

◆ assign() [5/6]

LMatrixRange CDPL.Math.LMatrixRange.assign ( LMatrixRange  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.LMatrixRange.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.LMatrixRange.getSize1 ( )

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

Returns
The number of rows.

◆ getSize2()

int CDPL.Math.LMatrixRange.getSize2 ( )

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

Returns
The number of columns.

◆ isEmpty()

bool CDPL.Math.LMatrixRange.isEmpty ( )

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

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

◆ swap()

None CDPL.Math.LMatrixRange.swap ( LMatrixRange  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.

◆ getData()

LMatrixExpression CDPL.Math.LMatrixRange.getData ( )

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

Returns
A reference to the wrapped matrix closure.

◆ __call__()

int CDPL.Math.LMatrixRange.__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(r1(i), r2(j)).

◆ __eq__() [1/2]

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

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

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

◆ __eq__() [2/2]

bool CDPL.Math.LMatrixRange.__eq__ ( ConstLMatrixExpression  e)

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

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

◆ __ne__() [1/2]

bool CDPL.Math.LMatrixRange.__ne__ ( LMatrixRange  r)

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

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

◆ __ne__() [2/2]

bool CDPL.Math.LMatrixRange.__ne__ ( ConstLMatrixExpression  e)

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

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

◆ __str__()

str CDPL.Math.LMatrixRange.__str__ ( )

Returns a string representation of the LMatrixRange instance.

Returns
The generated string representation.

◆ __add__()

ConstLMatrixExpression CDPL.Math.LMatrixRange.__add__ ( ConstLMatrixExpression  e)

Returns the result of the addition operation self + e.

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

◆ __sub__()

ConstLMatrixExpression CDPL.Math.LMatrixRange.__sub__ ( ConstLMatrixExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/3]

ConstLMatrixExpression CDPL.Math.LMatrixRange.__mul__ ( int  t)

Returns the result of the multiplication operation self * t.

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

◆ __mul__() [2/3]

ConstLMatrixExpression CDPL.Math.LMatrixRange.__mul__ ( ConstLMatrixExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __mul__() [3/3]

ConstLVectorExpression CDPL.Math.LMatrixRange.__mul__ ( ConstLVectorExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __div__()

ConstLMatrixExpression CDPL.Math.LMatrixRange.__div__ ( int  t)

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

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

◆ __truediv__()

ConstLMatrixExpression CDPL.Math.LMatrixRange.__truediv__ ( int  t)

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

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

◆ __rmul__()

ConstLMatrixExpression CDPL.Math.LMatrixRange.__rmul__ ( int  t)

Returns the result of the multiplication operation t * self.

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

◆ __iadd__() [1/2]

LMatrixRange CDPL.Math.LMatrixRange.__iadd__ ( LMatrixRange  r)

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

Parameters
rSpecifies the second addend.
Returns
The updated LMatrixRange instance self.

◆ __iadd__() [2/2]

LMatrixRange CDPL.Math.LMatrixRange.__iadd__ ( ConstLMatrixExpression  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]

LMatrixRange CDPL.Math.LMatrixRange.__isub__ ( LMatrixRange  r)

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

Parameters
rSpecifies the subtrahend.
Returns
The updated LMatrixRange instance self.

◆ __isub__() [2/2]

LMatrixRange CDPL.Math.LMatrixRange.__isub__ ( ConstLMatrixExpression  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__()

LMatrixRange CDPL.Math.LMatrixRange.__imul__ ( int  t)

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

Parameters
tThe scalar multiplier.
Returns
self

◆ __idiv__()

LMatrixRange CDPL.Math.LMatrixRange.__idiv__ ( int  t)

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

Parameters
tThe scalar divisor.
Returns
self