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

Memory-efficient immutable unit vector with element values of type float. More...

+ Inheritance diagram for CDPL.Math.FUnitVector:

Public Member Functions

None __init__ ()
 Constructs an empty unit vector (size zero, index zero).
 
None __init__ (FUnitVector v)
 Constructs a copy of the unit vector v. More...
 
None __init__ (int n, int i)
 Constructs a unit vector of size n with the 1 element at index i. More...
 
None resize (int n)
 Resizes the logical element count to n. More...
 
int getIndex ()
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
bool isEmpty ()
 Tells whether the vector has zero logical size. More...
 
int getSize ()
 Returns the logical element count. More...
 
float getElement (int i)
 Returns the element at index i. More...
 
object toArray ()
 Converts the FUnitVector instance into a corresponding numpy.ndarray object. More...
 
FUnitVector assign (FUnitVector v)
 Copy-assigns the size and unit index from v. More...
 
None swap (FUnitVector v)
 Swaps the size and unit index with v. More...
 
bool __eq__ (FUnitVector 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__ (FUnitVector 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 the element at index i. More...
 
float __getitem__ (int i)
 Returns the element at index i. More...
 
int __len__ ()
 Returns the logical element count. More...
 
str __str__ ()
 Returns a string representation of the FUnitVector instance. More...
 
FUnitVector __pos__ ()
 Returns self. More...
 
ConstFVectorExpression __neg__ ()
 Returns the result of the operation self * -1. More...
 
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...
 

Properties

 index = property(getIndex)
 
 objectID = property(getObjectID)
 
 size = property(getSize)
 

Detailed Description

Memory-efficient immutable unit vector with element values of type float.

Constructor & Destructor Documentation

◆ __init__() [1/2]

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

Constructs a copy of the unit vector v.

Parameters
vThe unit vector to copy.

◆ __init__() [2/2]

None CDPL.Math.FUnitVector.__init__ ( int  n,
int  i 
)

Constructs a unit vector of size n with the 1 element at index i.

Parameters
nThe element count.
iThe zero-based index of the non-zero element.

Member Function Documentation

◆ resize()

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

Resizes the logical element count to n.

Parameters
nThe new element count.

◆ getObjectID()

int CDPL.Math.FUnitVector.getObjectID ( )

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

Different Python FUnitVector 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 FUnitVector 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.

◆ isEmpty()

bool CDPL.Math.FUnitVector.isEmpty ( )

Tells whether the vector has zero logical size.

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

◆ getSize()

int CDPL.Math.FUnitVector.getSize ( )

Returns the logical element count.

Returns
The element count.

◆ getElement()

float CDPL.Math.FUnitVector.getElement ( int  i)

Returns the element at index i.

Parameters
iThe zero-based element index.
Returns
A reference to either 1 (if i equals the unit index) or 0.
Exceptions
Base.IndexErrorif i is out of range.

◆ toArray()

object CDPL.Math.FUnitVector.toArray ( )

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

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

◆ assign()

FUnitVector CDPL.Math.FUnitVector.assign ( FUnitVector  v)

Copy-assigns the size and unit index from v.

Parameters
vThe source unit vector.
Returns
self.

◆ swap()

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

Swaps the size and unit index with v.

Parameters
vThe unit vector to swap with.

◆ __eq__() [1/2]

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

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

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

◆ __eq__() [2/2]

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

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

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

◆ __ne__() [2/2]

bool CDPL.Math.FUnitVector.__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.FUnitVector.__call__ ( int  i)

Returns the element at index i.

Parameters
iThe zero-based element index.
Returns
A reference to either 1 (if i equals the unit index) or 0.
Exceptions
Base.IndexErrorif i is out of range.

◆ __getitem__()

float CDPL.Math.FUnitVector.__getitem__ ( int  i)

Returns the element at index i.

Parameters
iThe zero-based element index.
Returns
A reference to either 1 (if i equals the unit index) or 0.
Exceptions
Base.IndexErrorif i is out of range.

◆ __len__()

int CDPL.Math.FUnitVector.__len__ ( )

Returns the logical element count.

Returns
The element count.

◆ __str__()

str CDPL.Math.FUnitVector.__str__ ( )

Returns a string representation of the FUnitVector instance.

Returns
The generated string representation.

◆ __pos__()

FUnitVector CDPL.Math.FUnitVector.__pos__ ( )

Returns self.

Returns
self.

◆ __neg__()

ConstFVectorExpression CDPL.Math.FUnitVector.__neg__ ( )

Returns the result of the operation self * -1.

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

◆ __add__()

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

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/2]

ConstFVectorExpression CDPL.Math.FUnitVector.__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.FUnitVector.__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.FUnitVector.__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.FUnitVector.__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.FUnitVector.__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.