Eigenstate

class siegpy.eigenstates.Eigenstate(grid, values, energy, Siegert_type='U', virial=None)[source]

Bases: siegpy.functions.Function

Class defining an eigenstate. The main change with the Function class is that an Eigenstate instance is associated to an energy, and possibly a Siegert type and a virial value.

Parameters:
  • grid (list or set or numpy array) – Discretization grid.
  • values (list or set or numpy array) – Function evaluated on the grid points.
  • energy (float or complex) – Energy of the eigenstate.
  • Siegert_type (str) – Type of the Eigenstate (default to ‘U’ for unknown).
  • virial (float or complex) – Value of the virial theorem for the eigenstate (optional).

Examples

An Eigenstate instance has several attributes:

>>> wf = Eigenstate([0, 1, 2], [1, 2, 3], 1.0)
>>> wf.grid
array([0, 1, 2])
>>> wf.values
array([1, 2, 3])
>>> wf.energy
1.0
energy
Returns:Energy of the eigenstate.
Return type:float or complex
wavenumber
Returns:Wavenumber of the eigenstate
Return type:complex
virial
Returns:Virial of the eigenstate.
Return type:float or complex
Siegert_type
Returns:The type of the state.
Return type:str or NoneType
scal_prod(other, xlim=None)[source]

Override of the siegpy.functions.Function.scal_prod() method to take into account the c-product for resonant and anti-resonant states.

Parameters:
  • other (Function) – Another function.
  • xlim (tuple(float or int, float or int)) – Range of the x-axis for the integration (optional).
Returns:

Value of the scalar product

Return type:

float