LinearCombinationOfHAWPs¶
About the LinearCombinationOfHAWPs
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.
LinearCombinationOfHAWPs
(dimension, number_components, eps, number_packets=0)[source]¶ This class represents linear combinations of compatible Hagedorn wavepackets.
-
__init__
(dimension, number_components, eps, number_packets=0)[source]¶ Initialize a new linear combination of Hagedorn wavepackets. This object represents
. All
wavepackets
have the same number
components and are defined in the
dimensional space.
Parameters: - dimension – The space dimension
the packets have.
- ncomponents – The number
of components the packets have.
Returns: An instance of
LinearCombinationOfHAWPs
.- dimension – The space dimension
-
add_wavepacket
(packet, coefficient=1.0)[source]¶ Add a new wavepacket to the linear combination.
Parameters: - packet (A
HagedornWavepacket
instance.) – The new Hagedorn wavepacketto add.
- coefficient – The corresponding coefficient
, default is 1.0.
- packet (A
-
add_wavepackets
(packetlist, coefficients=None)[source]¶ Add a list of new wavepackets to the linear combination.
Parameters: - packetlist (A list of
HagedornWavepacket
instances.) – A list of new Hagedorn wavepackets.
- coefficients – The corresponding coefficient vector
, default is a vector of all 1.0.
- packetlist (A list of
-
clone
()¶ Raise: NotImplementedError
Abstract interface.
-
evaluate_at
(grid, packetindex=None, prefactor=False)[source]¶ Evaluate the linear copmbination
of Hagedorn wavepackets
at the given nodes
.
Parameters: - grid (A class having a
get_nodes(...)
method.) – The gridcontaining the nodes
.
- packetindex – The index
of a single packet
to evaluate. (Defaults to
None
for evaluating all wavepackets.) - prefactor (Boolean, default is
False
.) – Whether to include a factor of.
Returns: A list of arrays or a single array containing the values of the
at the nodes
.
- grid (A class having a
-
evaluate_basis_at
(grid, prefactor=False)[source]¶ Evaluate all the individual Hagedorn wavepackets
of
at the given nodes
.
Parameters: - grid (A class having a
get_nodes(...)
method.) – The gridcontaining the nodes
.
- prefactor (Boolean, default is
False
.) – Whether to include a factor of.
Returns: A two-dimensional ndarray
of shape
where the entry
is the value of
.
- grid (A class having a
-
get_basis_shapes
(packetindex=None)[source]¶ Retrieve the basis shapes
for each packet
.
Parameters: component (int) – The component whose basis shape we request. (Default is
None
which means to return the basis shapes for all components.Returns: The basis shape for an individual component or a list with all shapes.
-
get_basis_shapes_hashes
(packetindex=None)[source]¶ Retrieve the hashes of all basis shapes
for each packet
.
Parameters: component (int) – The component whose basis shape we request. (Default is
None
which means to return the basis shapes for all components.Returns: The basis shape for an individual component or a list with all shapes.
-
get_basis_sizes
(packetindex=None)[source]¶ Retrieve the basis sizes
for each packet
.
Parameters: component (int) – The component whose basis shape we request. (Default is
None
which 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
(packetindex)[source]¶ Get the coefficient
of the wavepacket
.
Parameters: packetindex – The index of the coefficient to retrieve.
Returns: The coefficient .
-
get_coefficients
()[source]¶ Get the vector with all coefficients
of all wavepackets
.
Returns: The vector of all coefficients
. The vector is of shape
.
Type: An ndarray
-
get_description
()[source]¶ Return a description of this linear combination object. A description is a
dict
containing all key-value pairs necessary to reconstruct the current instance. A description never contains any data.
-
get_dimension
()¶ Returns: The space dimension of all the wavepackets
.
-
get_eps
()[source]¶ Retrieve the semi-classical scaling parameter
of the wavepacket.
Returns: The value of .
-
get_number_components
()¶ Returns: The number of components all the wavepackets
have.
-
get_number_packets
()¶ Returns: The number of wavepackets in the linear combination
.
-
get_wavepacket
(packetindex)[source]¶ Get the wavepacket
from the linear combination.
Parameters: index – The index of the packet to retrieve.
Returns: The wavepacket .
Type: A HagedornWavepacket
instance.
-
get_wavepacket_coefficient
(packetindex, 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: ValueError
For invalid indicesor
.
- component – The index
-
get_wavepacket_coefficients
(packetindex=None)[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: ValueError
For invalid indicesor
.
- component – The index
-
get_wavepacket_parameters
(packetindex=None, key=('q', 'p', 'Q', 'P', 'S'))[source]¶ Get the Hagedorn parameter set
of the wavepacket
.
Parameters: packetindex – The index of the packet whose parameter set
we want.
Returns: The Hagedorn parameter set in this order.
-
get_wavepackets
()[source]¶ Get all the wavepackets
from the linear combination
.
Warning
This method potentially generates a large number of wavepacket instances.
Returns: A list of HagedornWavepacket
instances.
-
remove_wavepacket
(packetindex)[source]¶ Remove a wavepacket
from the linear combination.
Parameters: packetindex – The index of the packet to remove.
-
set_coefficient
(packetindex, coefficient)[source]¶ Set the coefficient
of the wavepacket
.
Parameters: - packetindex – The index
of the coefficient to retrieve.
- coefficient – The coefficient
.
- packetindex – The index
-
set_coefficients
(coefficients)[source]¶ Update all the coefficients
of
.
Parameters: coefficients (An ndarray
) – The vector.
-
set_wavepacket_coefficient
(packetindex, 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: ValueError
For invalid indicesor
.
- component – The index
-
set_wavepacket_coefficients
(coefficients, basisshapes=None, packetindex=None)[source]¶ Retrieve a single coefficient
of the specified component
of
.
Warning: make sure the coefficients and basis shapes stay in sync!
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: ValueError
For invalid indicesor
.
- component – The index
-
set_wavepacket_parameters
(Pilist, packetindex=None, key=('q', 'p', 'Q', 'P', 'S'))[source]¶ Set the Hagedorn parameters
of the wavepacket
.
Parameters: Pilist – The Hagedorn parameter set in this order.
-
set_wavepackets
(packetlist)¶ Raise: NotImplementedError
Abstract interface.
-
slim_recursion
(grid, packetindex, prefactor=False)[source]¶ Evaluate the Hagedorn wavepacket
at the given nodes
. This routine is a slim version compared to the full basis evaluation. At every moment we store only the data we really need to compute the next step until we hit the highest order basis functions.
Parameters: - grid (A class having a
get_nodes(...)
method.) – The gridcontaining the nodes
.
- component – The index
of a single component
to evaluate.
- prefactor (Boolean, default is
False
.) – Whether to include a factor of.
Returns: A list of arrays or a single array containing the values of the
at the nodes
.
Note that this function does not include the global phase
.
- grid (A class having a
-