WaveBlocksND
|
Represents an inhomogeneous Hagedorn wavepacket \( \Psi \) with \( N \) components \( \Phi_n \). All components have a different set of Hagedorn parameters \( \Pi \), basis shapes \( \mathfrak{K} \) and coefficients \( c \). More...
#include <hawp_commons.hpp>
Classes | |
class | Component |
Represents a component \( \Phi_n \) of an inhomogeneous wavepacket \( \Psi \). More... | |
Public Member Functions | |
InhomogeneousHaWp (std::size_t n) | |
real_t & | eps () |
Grants access to the semi-classical scaling parameter \( \varepsilon \) of the wavepacket. More... | |
real_t | eps () const |
Retrieves the semi-classical scaling parameter \( \varepsilon \) of the wavepacket. More... | |
std::vector< Component > & | components () |
Grants writeable access to all components \( \{\Phi_n\} \) of this wavepacket. More... | |
std::vector< Component > const & | components () const |
Grants read-only access to all components \( \{\Phi_n\} \) of this wavepacket. More... | |
Component & | component (std::size_t n) |
Grants writeable access to the \( n \)-th component \( \Phi_n \). More... | |
Component const & | component (std::size_t n) const |
Grants read-only access to the \( n \)-th component \( \Phi_n \). More... | |
Component & | operator[] (std::size_t n) |
Grants writeable access to the \( n \)-th component \( \Phi_n \). More... | |
Component const & | operator[] (std::size_t n) const |
Grants read-only access to the \( n \)-th component \( \Phi_n \). More... | |
std::size_t | n_components () const |
Returns the number of components. More... | |
template<int N> | |
CArray< Eigen::Dynamic, N > | evaluate (CMatrix< D, N > const &grid) const |
Evaluate the value of all components at once. More... | |
template<int N> | |
CArray< Eigen::Dynamic, N > | evaluate (RMatrix< D, N > const &rgrid) const |
Evaluates the value of all components at once. More... | |
Private Attributes | |
real_t | eps_ |
std::vector< Component > | components_ |
Represents an inhomogeneous Hagedorn wavepacket \( \Psi \) with \( N \) components \( \Phi_n \). All components have a different set of Hagedorn parameters \( \Pi \), basis shapes \( \mathfrak{K} \) and coefficients \( c \).
The number of components is determined at runtime.
D | wavepacket dimensionality |
MultiIndex |
|
inline |
|
inline |
Grants writeable access to the \( n \)-th component \( \Phi_n \).
n | The index \( n \) of the requested component. |
|
inline |
Grants read-only access to the \( n \)-th component \( \Phi_n \).
n | The index \( n \) of the requested component. |
|
inline |
Grants writeable access to all components \( \{\Phi_n\} \) of this wavepacket.
|
inline |
Grants read-only access to all components \( \{\Phi_n\} \) of this wavepacket.
|
inline |
Grants access to the semi-classical scaling parameter \( \varepsilon \) of the wavepacket.
|
inline |
Retrieves the semi-classical scaling parameter \( \varepsilon \) of the wavepacket.
|
inline |
Evaluate the value of all components at once.
Evaluates \( \Psi(x) = \{\Phi_i(x)\} \), where \( x \) is is a complex quadrature point.
grid | Complex quadrature points. Complex matrix of shape (dimensionality, number of quadrature points) |
N | Number of quadrature points. Don't use Eigen::Dynamic. It works, but performance is bad. |
|
inline |
Evaluates the value of all components at once.
Evaluates \( \Psi(x) = \{\Phi_i(x)\} \), where \( x \) is is a real quadrature point.
rgrid | Real quadrature points. Real matrix of shape (dimensionality, number of quadrature points) |
N | Number of quadrature points. Don't use Eigen::Dynamic. It works, but performance is bad. |
|
inline |
Returns the number of components.
|
inline |
Grants writeable access to the \( n \)-th component \( \Phi_n \).
n | The index \( n \) of the requested component. |
|
inline |
Grants read-only access to the \( n \)-th component \( \Phi_n \).
n | The index \( n \) of the requested component. |
|
private |
|
private |