HagedornWavepacketBase¶
About the HagedornWavepacketBase class¶
The WaveBlocks Project
@author: R. Bourquin @copyright: Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 R. Bourquin @license: Modified BSD License
Inheritance diagram¶
Class documentation¶
-
class
WaveBlocksND.HagedornWavepacketBase(parameters)[source]¶ This class implements the abstract
Wavepacketinterface and contains code common to all types of Hagedorn wavepackets.-
clone()¶ Clone the wavepacket. Return a new copy of the wavepacket and make sure that all references between the two wavepackets get broken.
Raise: NotImplementedErrorAbstract interface.
-
gen_id()¶ Generate an (unique) ID per wavepacket instance.
Note
The
packet idis a string of length 32 because this is exactly the length of an ‘md5’ digest in hex representation.
-
get_basis_shapes(*, component=None)[source]¶ Retrieve the basis shapes
for each component
.Parameters: component (int) – The component
whose basis shape we request. (Default is
Nonewhich means to return the basis shapes for all components.Returns: The basis shape for an individual component or a list with all shapes.
-
get_coefficient(component, index)[source]¶ Retrieve a single coefficient
of the specified component
of
.Parameters: - component – The index
of the component
we want to update. - index (A tuple of
integers.) – The multi-index
of the coefficient
we want to update.
Returns: A single complex number.
Raise: ValueErrorFor invalid indices
or
.- component – The index
-
get_coefficient_vector(*, component=None)[source]¶ Retrieve the coefficients for all components
simultaneously.Warning
This function does not copy the input data! This is for efficiency as this routine is used in the innermost loops.
Parameters: component (int) – The component
whose coefficients we request. (Default is
Nonewhich means to return the coefficients for all components.Returns: The coefficients
of all components
stacked into a single long column vector.
-
get_coefficients(*, component=None)[source]¶ Returns the coefficients
for some component
of
or all the coefficients
of all components.Note: this method copies the data arrays.
Parameters: component (int (Default is Nonemeaning all)) – The index
of the component we want to retrieve.Returns: A single ndarray with the coefficients of the given component or a list containing the ndarrays for each component. Each ndarray is two-dimensional with a shape of
.Raise: ValueErrorFor invalid component indices
.
-
get_dimension()¶ Returns: The space dimension
of the wavepacket
.
-
get_eps()[source]¶ Retrieve the semi-classical scaling parameter
of the wavepacket.Returns: The value of
.
-
get_gradient_operator()[source]¶ Return the
Gradientsubclass suitable for computing gradients of this wavepacket.Returns: A GradientHAWPinstance.
-
get_id()¶ Return the packet ID of this wavepacket instance. The ID may be used for storing packets in associative lists.
Returns: The ID of the current instance.
-
get_innerproduct()[source]¶ Return the
InnerProductsubclass instance used computing inner products and evaluating brakets.Returns: The current InnerProductsubclass instance.
-
get_number_components()¶ Returns: The number
of components the wavepacket
has.
-
norm(component=None, summed=False)[source]¶ Calculate the
norm
of the wavepacket
.Parameters: - component (int or
None.) – The index
of the component
whose norm is calculated.
The default value is Nonewhich means to compute the norms of all
components. - summed (Boolean, default is
False.) – Whether to sum up the norms
of the
individual components
.
Returns: The norm of
or the norm of
or a list with the
norms of all components. Depending on the values of componentandsummed.- component (int or
-
set_basis_shapes(basis_shape, *, component=None)[source]¶ Set the basis shape
of a given component or for all components.Parameters: - basis_shape (A subclass of
BasisShape.) – The basis shape for an individual component or a list with all
shapes. - component (int) – The component
whose basis shape we want to set. (Default is
Nonewhich means to set the basis shapes for all components.
- basis_shape (A subclass of
-
set_coefficient(component, index, value)[source]¶ Set a single coefficient
of the specified component
of
.Parameters: - component – The index
of the component
we want to update. - index (A tuple of
integers.) – The multi-index
of the coefficient
we want to update. - value – The new value of the coefficient
.
Raise: ValueErrorFor invalid indices
or
.- component – The index
-
set_coefficient_vector(vector)[source]¶ Set the coefficients for all components
simultaneously.Warning
This function does not copy the input data! This is for efficiency as this routine is used in the innermost loops.
Parameters: vector (A two-dimensional ndarray of appropriate shape.) – The coefficients of all components as a single long column vector.
-
set_coefficients(values, *, component=None)[source]¶ Update all the coefficients
of
or update
the coefficients
of the components
only.Note: this method copies the data arrays.
Parameters: - values (An ndarray of suitable shape or a list of ndarrays.) – The new values of the coefficients
of
. - component (int (Default is
Nonemeaning all)) – The index
of the component we want to update with new coefficients.
Raise: ValueErrorFor invalid component indices
.- values (An ndarray of suitable shape or a list of ndarrays.) – The new values of the coefficients
-
set_id(anid)¶ Manually set a new ID for the current wavepacket instance.
Parameters: anid (str) – The new ID.
-
set_innerproduct(innerproduct)[source]¶ Set the
InnerProductsubclass instance used for computing inner products and evaluating brakets.Parameters: innerproduct – The new InnerProductsubclass instance.
-