OrthogonalDirection

class OrthogonalDirection(*args)

Directions sampling following the orthogonal direction strategy.

Parameters:
dimensionint

The dimension of the standard space.

By default, dimension = 0 but automatically updated by the calling class.

kint

The number of elements in the linear combinations.

By default, k = 1 but automatically updated by the calling class.

Methods

generate()

Generate the directions.

getClassName()

Accessor to the object's name.

getDimension()

Accessor to the dimension.

getName()

Accessor to the object's name.

getUniformUnitVectorRealization(*args)

Accessor to a realization according to the uniform distribution.

hasName()

Test if the object is named.

setDimension(dimension)

Accessor to the dimension.

setName(name)

Accessor to the object's name.

See also

RandomDirection

Notes

The orthogonal direction strategy is parameterized by k \in \{1, \ldots, \inputDim\}, where \inputDim is the dimension of the standard space. We generate some directions in the standard space according to the following steps:

  • one direct orthonormalized basis (\vect{e}_1, \ldots, \vect{e}_\inputDim) uniformly distributed in the set of direct orthonormal bases;

  • we consider all the normalized linear combinations of k vectors chosen within the \inputDim vectors of the basis, where the coefficients of the linear combinations are in \{+1, -1\}.

Thus, this process generates \binom{k}{\inputDim} 2^k directions.

If k = 1, we consider all the axes of the space, i.e. \inputDim directions.

__init__(*args)
generate()

Generate the directions.

Returns:
sampleSample

The \binom{k}{\inputDim} 2^k directions generated according to the strategy.

Notes

The sample is the collection of the \binom{k}{\inputDim} 2^k points on the unit sphere in the standard space associated to the generated directions.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getDimension()

Accessor to the dimension.

Returns:
dimensionint

Dimension of the standard space.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getUniformUnitVectorRealization(*args)

Accessor to a realization according to the uniform distribution.

Parameters:
dimensionint

The dimension of the sphere unity (which is the dimension of the standard space).

Returns:
samplePoint

The realization of a vector on the sphere unity, according to the uniform distribution.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

setDimension(dimension)

Accessor to the dimension.

Parameters:
dimensionint

Dimension of the standard space.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

Examples using the class

Use the Directional Sampling Algorithm

Use the Directional Sampling Algorithm