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

Unbounded sparse vector holding floating point values of type float. More...

+ Inheritance diagram for CDPL.Math.SparseFVector:

Public Member Functions

None __init__ ()
 Constructs an empty sparse vector (size zero, no stored entries).
 
None __init__ (SparseFVector v)
 Move-constructs from v (v is left in a valid empty state). More...
 
None __init__ (int n)
 Constructs a sparse vector of size n with no stored entries (every position reads as the default value). More...
 
None __init__ (ConstFVectorExpression e)
 Initializes the SparseFVector instance. More...
 
None __init__ (ConstDVectorExpression e)
 Initializes the SparseFVector instance. More...
 
None __init__ (ConstLVectorExpression e)
 Initializes the SparseFVector instance. More...
 
None __init__ (ConstULVectorExpression e)
 Initializes the SparseFVector instance. More...
 
None __init__ (object a)
 Initializes the SparseFVector instance. More...
 
None resize (int n)
 Resizes the logical element count to n, dropping any stored entries at indices beyond n. More...
 
None clear ()
 Removes all explicitly stored entries (the logical size remains unchanged).
 
int getNumElements ()
 Returns the number of explicitly stored (non-default) entries. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
SparseFVector assign (ConstFVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
SparseFVector assign (ConstDVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
SparseFVector assign (ConstLVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
SparseFVector assign (ConstULVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
SparseFVector assign (SparseFVector v)
 Move-assigns the contents of v to this sparse vector. More...
 
None assign (object a)
 Replaces the current state of self with a copy of the state of the object instance a. More...
 
bool isEmpty ()
 Tells whether the vector's logical size is zero. More...
 
int getSize ()
 Returns the logical element count. More...
 
float getElement (int i)
 
object toArray ()
 
None swap (SparseFVector v)
 Swaps the contents of this sparse vector with those of v. More...
 
None setElement (int i, float v)
 
bool __eq__ (SparseFVector v)
 Returns the result of the comparison operation self == v. More...
 
bool __eq__ (ConstFVectorExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (SparseFVector v)
 Returns the result of the comparison operation self != v. More...
 
bool __ne__ (ConstFVectorExpression e)
 Returns the result of the comparison operation self != e. More...
 
float __call__ (int i)
 Returns a reference to the element at index i. More...
 
float __getitem__ (int i)
 
int __len__ ()
 
str __str__ ()
 Returns a string representation of the SparseFVector instance. More...
 
SparseFVector __pos__ ()
 
ConstFVectorExpression __neg__ ()
 
ConstFVectorExpression __add__ (ConstFVectorExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstFVectorExpression __sub__ (ConstFVectorExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstFVectorExpression __mul__ (float t)
 Returns the result of the multiplication operation self * t. More...
 
ConstFVectorExpression __mul__ (ConstFMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstFVectorExpression __div__ (float t)
 Returns the result of the division operation self // t. More...
 
ConstFVectorExpression __truediv__ (float t)
 Returns the result of the true division operation self / t. More...
 
ConstFVectorExpression __rmul__ (float t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (int i, float v)
 
SparseFVector __iadd__ (SparseFVector v)
 Performs the in-place addition operation self += v. More...
 
SparseFVector __iadd__ (ConstFVectorExpression e)
 Performs the in-place addition operation self += e. More...
 
SparseFVector __isub__ (SparseFVector v)
 Performs the in-place subtraction operation self -= v. More...
 
SparseFVector __isub__ (ConstFVectorExpression e)
 Performs the in-place subtraction operation self -= e. More...
 
SparseFVector __imul__ (float t)
 Performs the in-place multiplication operation self *= t. More...
 
SparseFVector __idiv__ (float t)
 Performs the in-place division operation self /= t. More...
 
SparseFVector __itruediv__ (float t)
 

Properties

 objectID = property(getObjectID)
 
 size = property(getSize)
 
 numElements = property(getNumElements)
 

Detailed Description

Unbounded sparse vector holding floating point values of type float.

Constructor & Destructor Documentation

◆ __init__() [1/7]

None CDPL.Math.SparseFVector.__init__ ( SparseFVector  v)

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

Parameters
vThe sparse vector to move from.

◆ __init__() [2/7]

None CDPL.Math.SparseFVector.__init__ ( int  n)

Constructs a sparse vector of size n with no stored entries (every position reads as the default value).

Parameters
nThe logical element count.

◆ __init__() [3/7]

None CDPL.Math.SparseFVector.__init__ ( ConstFVectorExpression  e)

Initializes the SparseFVector instance.

Parameters
e

◆ __init__() [4/7]

None CDPL.Math.SparseFVector.__init__ ( ConstDVectorExpression  e)

Initializes the SparseFVector instance.

Parameters
e

◆ __init__() [5/7]

None CDPL.Math.SparseFVector.__init__ ( ConstLVectorExpression  e)

Initializes the SparseFVector instance.

Parameters
e

◆ __init__() [6/7]

None CDPL.Math.SparseFVector.__init__ ( ConstULVectorExpression  e)

Initializes the SparseFVector instance.

Parameters
e

◆ __init__() [7/7]

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

Initializes the SparseFVector instance.

Parameters
a

Member Function Documentation

◆ resize()

None CDPL.Math.SparseFVector.resize ( int  n)

Resizes the logical element count to n, dropping any stored entries at indices beyond n.

Parameters
nThe new logical element count.

◆ getNumElements()

int CDPL.Math.SparseFVector.getNumElements ( )

Returns the number of explicitly stored (non-default) entries.

Returns
The number of stored entries.

◆ getObjectID()

int CDPL.Math.SparseFVector.getObjectID ( )

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

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

SparseFVector CDPL.Math.SparseFVector.assign ( ConstFVectorExpression  e)

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [2/6]

SparseFVector CDPL.Math.SparseFVector.assign ( ConstDVectorExpression  e)

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [3/6]

SparseFVector CDPL.Math.SparseFVector.assign ( ConstLVectorExpression  e)

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [4/6]

SparseFVector CDPL.Math.SparseFVector.assign ( ConstULVectorExpression  e)

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [5/6]

SparseFVector CDPL.Math.SparseFVector.assign ( SparseFVector  v)

Move-assigns the contents of v to this sparse vector.

Parameters
vThe source sparse vector (left in a valid but unspecified state).
Returns
self

◆ assign() [6/6]

None CDPL.Math.SparseFVector.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

◆ isEmpty()

bool CDPL.Math.SparseFVector.isEmpty ( )

Tells whether the vector's logical size is zero.

Returns
True if the logical size is zero, and False otherwise.

◆ getSize()

int CDPL.Math.SparseFVector.getSize ( )

Returns the logical element count.

Returns
The number of elements.

◆ getElement()

float CDPL.Math.SparseFVector.getElement ( int  i)
Parameters
i
Returns

◆ toArray()

object CDPL.Math.SparseFVector.toArray ( )
Returns

◆ swap()

None CDPL.Math.SparseFVector.swap ( SparseFVector  v)

Swaps the contents of this sparse vector with those of v.

Parameters
vThe sparse vector to swap with.

◆ setElement()

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

◆ __eq__() [1/2]

bool CDPL.Math.SparseFVector.__eq__ ( SparseFVector  v)

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

Parameters
vThe SparseFVector instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.SparseFVector.__eq__ ( ConstFVectorExpression  e)

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

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

◆ __ne__() [1/2]

bool CDPL.Math.SparseFVector.__ne__ ( SparseFVector  v)

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

Parameters
vThe SparseFVector instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.SparseFVector.__ne__ ( ConstFVectorExpression  e)

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

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

◆ __call__()

float CDPL.Math.SparseFVector.__call__ ( int  i)

Returns a reference to the element at index i.

Parameters
iThe zero-based element index.
Returns
A reference to the stored value, or to the zero element if no entry exists at i.
Exceptions
Base.IndexErrorif i is out of range.

◆ __getitem__()

float CDPL.Math.SparseFVector.__getitem__ ( int  i)
Parameters
i
Returns

◆ __len__()

int CDPL.Math.SparseFVector.__len__ ( )
Returns

◆ __str__()

str CDPL.Math.SparseFVector.__str__ ( )

Returns a string representation of the SparseFVector instance.

Returns
The generated string representation.

◆ __pos__()

SparseFVector CDPL.Math.SparseFVector.__pos__ ( )
Returns

◆ __neg__()

ConstFVectorExpression CDPL.Math.SparseFVector.__neg__ ( )
Returns

◆ __add__()

ConstFVectorExpression CDPL.Math.SparseFVector.__add__ ( ConstFVectorExpression  e)

Returns the result of the addition operation self + e.

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

◆ __sub__()

ConstFVectorExpression CDPL.Math.SparseFVector.__sub__ ( ConstFVectorExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/2]

ConstFVectorExpression CDPL.Math.SparseFVector.__mul__ ( float  t)

Returns the result of the multiplication operation self * t.

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

◆ __mul__() [2/2]

ConstFVectorExpression CDPL.Math.SparseFVector.__mul__ ( ConstFMatrixExpression  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__()

ConstFVectorExpression CDPL.Math.SparseFVector.__div__ ( float  t)

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

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

◆ __truediv__()

ConstFVectorExpression CDPL.Math.SparseFVector.__truediv__ ( float  t)

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

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

◆ __rmul__()

ConstFVectorExpression CDPL.Math.SparseFVector.__rmul__ ( float  t)

Returns the result of the multiplication operation t * self.

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

◆ __setitem__()

None CDPL.Math.SparseFVector.__setitem__ ( int  i,
float  v 
)
Parameters
i
v

◆ __iadd__() [1/2]

SparseFVector CDPL.Math.SparseFVector.__iadd__ ( SparseFVector  v)

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

Parameters
vSpecifies the second addend.
Returns
The updated SparseFVector instance self.

◆ __iadd__() [2/2]

SparseFVector CDPL.Math.SparseFVector.__iadd__ ( ConstFVectorExpression  e)

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

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

◆ __isub__() [1/2]

SparseFVector CDPL.Math.SparseFVector.__isub__ ( SparseFVector  v)

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

Parameters
vSpecifies the subtrahend.
Returns
The updated SparseFVector instance self.

◆ __isub__() [2/2]

SparseFVector CDPL.Math.SparseFVector.__isub__ ( ConstFVectorExpression  e)

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

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

◆ __imul__()

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

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

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

◆ __idiv__()

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

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

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

◆ __itruediv__()

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