This is a preliminary API until 2018.Jun and may be improved based on user feedback. It is currently available in C++ and Python.

classOEHermiteOptions

This is an option class for the OEHermite class. It
allows the user to input the level of Hermite expansion (NPolyMax), the
parameters \(\lambda_x, \lambda_y, \lambda_z\) and whether or not the
latter need to be optimized inside the OEHermite class.

This class has a default constructor and a copy constructor. The default constructor assumes the following parameters NPolyMax = 4, \(\,\lambda_{x,y,z} = 1.0\,\), UseOptimalLambdas = True. The copy constructor as expected copies the option class into the new class.

Returns the value of NPolyMax parameter, which controls the level of
Hermite expansion. In particular the lowest value 0 corresponds to a
very inaccurate expansion, approximating the entire molecule by a
single Gaussian, while the largest currently allowed value is equal
to 30, which corresponds to a list of 5456 Hermite coefficients
\(\,f_{l,m,n}\). In the limit NPolyMax \(\rightarrow \infty\)
we obtain exact equivalence of the Hermite expansion to the Gaussian
representation of the molecule.

This method returns the value of the parameter UseOptimalLambdas.
When this parameter is True, inside the
Setup method, when it is passed a molecule
an optimization of \(\,\lambda_{x,y,z}\,\) parameters will be
performed via maximizing the self-overlap of the molecule at a given
resolution of the Hermite expansion. Please note, that even in the
case when UseOptimalLambdas is set to False, if the value of NPolyMax
is high enough the Hermite expansion will converge to the Gaussian
shape. However in practice at a given low resolution of Hermite
expansion it is essential to use the optimal \(\,\lambda_{x,y,z}\,\)
parameters for faster convergence.

Alternatively when UseOptimalLambdas is False, the current values of the \(\,\lambda_{x,y,z}\,\) parameters will be used inside the Setup method, without optimization.