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

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

+ Inheritance diagram for CDPL.Math.ULMatrixSlice:

Public Member Functions

None __init__ (ULMatrixSlice s)
 Contructs a copy of the ULMatrixSlice instance s. More...
 
None __init__ (ULMatrixExpression m, Slice s1, Slice s2)
 Constructs the matrix slice proxy viewing rows in s1 and columns in s2 of m. 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...
 
ULMatrixSlice assign (ConstFMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice assign (ConstDMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice assign (ConstLMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice assign (ConstULMatrixExpression e)
 Assigns the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice assign (ULMatrixSlice s)
 Copy-assigns the contents of s to this matrix slice (via a temporary to handle aliasing). More...
 
None assign (object a)
 Assigns the contents of the numpy.ndarray object a to this matrix slice. 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...
 
int getElement (int i, int j)
 Returns the element at proxy index (i, j). More...
 
object toArray ()
 Converts the ULMatrixSlice instance into a corresponding numpy.ndarray object. More...
 
None swap (ULMatrixSlice 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, int v)
 Sets the value of the element at proxy index (i, j) to v. More...
 
ULMatrixExpression getData ()
 Returns the wrapped matrix. More...
 
int __call__ (int i, int j)
 Returns the element at proxy index (i, j). More...
 
int __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 slice). More...
 
bool __eq__ (ULMatrixSlice s)
 Returns the result of the comparison operation self == s. More...
 
bool __eq__ (ConstULMatrixExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (ULMatrixSlice s)
 Returns the result of the comparison operation self != s. More...
 
bool __ne__ (ConstULMatrixExpression e)
 Returns the result of the comparison operation self != e. More...
 
str __str__ ()
 Returns a string representation of the ULMatrixSlice instance. More...
 
ULMatrixSlice __pos__ ()
 Returns self. More...
 
ConstULMatrixExpression __neg__ ()
 Returns the result of the operation self * -1. More...
 
ConstULMatrixExpression __add__ (ConstULMatrixExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstULMatrixExpression __sub__ (ConstULMatrixExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstULMatrixExpression __mul__ (int t)
 Returns the result of the multiplication operation self * t. More...
 
ConstULMatrixExpression __mul__ (ConstULMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstULVectorExpression __mul__ (ConstULVectorExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstULMatrixExpression __div__ (int t)
 Returns the result of the division operation self // t. More...
 
ConstULMatrixExpression __truediv__ (int t)
 Returns the result of the true division operation self / t. More...
 
ConstULMatrixExpression __rmul__ (int t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (tuple ij, int v)
 Sets the value of the element at proxy index (i, j) to v. More...
 
ULMatrixSlice __iadd__ (ULMatrixSlice s)
 Adds the elements of the matrix slice s to this slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice __iadd__ (ConstULMatrixExpression e)
 Adds the elements of the matrix expression e to this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice __isub__ (ULMatrixSlice s)
 Subtracts the elements of the matrix slice s from this slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice __isub__ (ConstULMatrixExpression e)
 Subtracts the elements of the matrix expression e from this matrix slice (via a temporary to handle aliasing). More...
 
ULMatrixSlice __imul__ (int t)
 Multiplies every element of this matrix slice by the scalar t. More...
 
ULMatrixSlice __idiv__ (int t)
 Divides every element of this matrix slice by the scalar t. More...
 
ULMatrixSlice __itruediv__ (int t)
 Divides every element of this matrix slice by the scalar t. More...
 

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.ULMatrixSlice.__init__ ( ULMatrixSlice  s)

Contructs a copy of the ULMatrixSlice instance s.

Parameters
sThe ULMatrixSlice instance to copy.

◆ __init__() [2/2]

None CDPL.Math.ULMatrixSlice.__init__ ( ULMatrixExpression  m,
Slice  s1,
Slice  s2 
)

Constructs the matrix slice proxy viewing rows in s1 and columns in s2 of m.

Parameters
mThe wrapped matrix.
s1The row slice (start, stride, size).
s2The column slice (start, stride, size).

Member Function Documentation

◆ getStart1()

int CDPL.Math.ULMatrixSlice.getStart1 ( )

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

Returns
The start row index.

◆ getStart2()

int CDPL.Math.ULMatrixSlice.getStart2 ( )

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

Returns
The start column index.

◆ getStride1()

int CDPL.Math.ULMatrixSlice.getStride1 ( )

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

Returns
The row stride.

◆ getStride2()

int CDPL.Math.ULMatrixSlice.getStride2 ( )

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

Returns
The column stride.

◆ getObjectID()

int CDPL.Math.ULMatrixSlice.getObjectID ( )

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

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

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [2/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [3/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [4/6]

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

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

Parameters
eThe source matrix expression.
Returns
self.

◆ assign() [5/6]

ULMatrixSlice CDPL.Math.ULMatrixSlice.assign ( ULMatrixSlice  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.ULMatrixSlice.assign ( object  a)

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

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

◆ getSize1()

int CDPL.Math.ULMatrixSlice.getSize1 ( )

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

Returns
The number of rows.

◆ getSize2()

int CDPL.Math.ULMatrixSlice.getSize2 ( )

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

Returns
The number of columns.

◆ isEmpty()

bool CDPL.Math.ULMatrixSlice.isEmpty ( )

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

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

◆ getElement()

int CDPL.Math.ULMatrixSlice.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(s1(i), s2(j)).

◆ toArray()

object CDPL.Math.ULMatrixSlice.toArray ( )

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

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

◆ swap()

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

◆ setElement()

None CDPL.Math.ULMatrixSlice.setElement ( int  i,
int  j,
int  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()

ULMatrixExpression CDPL.Math.ULMatrixSlice.getData ( )

Returns the wrapped matrix.

Returns
The wrapped matrix.

◆ __call__()

int CDPL.Math.ULMatrixSlice.__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(s1(i), s2(j)).

◆ __getitem__()

int CDPL.Math.ULMatrixSlice.__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(s1(i), s2(j)).

◆ __len__()

int CDPL.Math.ULMatrixSlice.__len__ ( )

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

Returns
The number of rows.

◆ __eq__() [1/2]

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

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

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

◆ __eq__() [2/2]

bool CDPL.Math.ULMatrixSlice.__eq__ ( ConstULMatrixExpression  e)

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

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

◆ __ne__() [1/2]

bool CDPL.Math.ULMatrixSlice.__ne__ ( ULMatrixSlice  s)

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

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

◆ __ne__() [2/2]

bool CDPL.Math.ULMatrixSlice.__ne__ ( ConstULMatrixExpression  e)

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

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

◆ __str__()

str CDPL.Math.ULMatrixSlice.__str__ ( )

Returns a string representation of the ULMatrixSlice instance.

Returns
The generated string representation.

◆ __pos__()

ULMatrixSlice CDPL.Math.ULMatrixSlice.__pos__ ( )

Returns self.

Returns
self.

◆ __neg__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__neg__ ( )

Returns the result of the operation self * -1.

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

◆ __add__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__add__ ( ConstULMatrixExpression  e)

Returns the result of the addition operation self + e.

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

◆ __sub__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__sub__ ( ConstULMatrixExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/3]

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__mul__ ( int  t)

Returns the result of the multiplication operation self * t.

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

◆ __mul__() [2/3]

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__mul__ ( ConstULMatrixExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __mul__() [3/3]

ConstULVectorExpression CDPL.Math.ULMatrixSlice.__mul__ ( ConstULVectorExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __div__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__div__ ( int  t)

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

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

◆ __truediv__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__truediv__ ( int  t)

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

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

◆ __rmul__()

ConstULMatrixExpression CDPL.Math.ULMatrixSlice.__rmul__ ( int  t)

Returns the result of the multiplication operation t * self.

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

◆ __setitem__()

None CDPL.Math.ULMatrixSlice.__setitem__ ( tuple  ij,
int  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]

ULMatrixSlice CDPL.Math.ULMatrixSlice.__iadd__ ( ULMatrixSlice  s)

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

Parameters
sThe source matrix slice.
Returns
self.

◆ __iadd__() [2/2]

ULMatrixSlice CDPL.Math.ULMatrixSlice.__iadd__ ( ConstULMatrixExpression  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]

ULMatrixSlice CDPL.Math.ULMatrixSlice.__isub__ ( ULMatrixSlice  s)

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

Parameters
sThe source matrix slice.
Returns
self.

◆ __isub__() [2/2]

ULMatrixSlice CDPL.Math.ULMatrixSlice.__isub__ ( ConstULMatrixExpression  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__()

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

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

Parameters
tThe scalar multiplier.
Returns
self.

◆ __idiv__()

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

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

Parameters
tThe scalar divisor.
Returns
self.

◆ __itruediv__()

ULMatrixSlice CDPL.Math.ULMatrixSlice.__itruediv__ ( int  t)

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

Parameters
tThe scalar divisor.
Returns
self.