JpowerIntegrals¶
This is an introduction to the JpowerIntegrals class. We write a small overarching summary of the class where we define the algorithm/equation/structure reasoning for having this class or where it fits with the rest of the code.
-
class JpowerIntegrals¶
A class needed for construction Schrodinger time evolution operator.
A two dimensional array consisting of integrals \( J_m \) as follows. Our main operator has the following expansion
\[ \left[ \sigma_l^{\mathfrak n} \right]_{pj} (a) = \sum_{k = 0}^{\infty} C_{jp}^{2k} \widetilde J_{2k + j + p}(l, a) , \]where \( a = t \mathfrak N^2 = t 4^{\mathfrak n} \) and\[ \widetilde J_m = \frac { I_m e^{ i \frac {\pi}4 (m - 1) } } { 2 \pi ( m + 2 )! } = \frac { e^{ i \frac {\pi}4 (m - 1) } } { 2 \pi ( m + 2 )! } \int_{\mathbb R} \exp \left( \rho l \exp \left( i \frac \pi 4 \right) - a \rho^2 \right) \rho^m d \rho \]satisfying the following relation\[ \widetilde J_{m+1} = \frac { il } { 2a (m + 3) } \widetilde J_m + \frac {im}{2a(m + 2)(m + 3)} \widetilde J_{m-1} = \frac { i } { 2a (m + 3) } \left( l \widetilde J_m + \frac {m}{(m + 2)} \widetilde J_{m-1} \right) , \quad m = 0, 1, 2, \ldots, \]with \( \widetilde J_{-1} = 0 \) and\[ \label{power_integral_0} \widetilde J_0 = \frac{ e^{ -i \frac{\pi}4 } }{ 4 \sqrt{ \pi a } } \exp \left( \frac{il^2}{4a} \right) . \]Public Functions
-
JpowerIntegrals(double a, int scaling, int M, double threshold = 1.0e-15)¶
creates an array of power integrals
The array is orginised as a vector ordered as \(l = 0, 1, 2, \ldots, 2^n - 1, 1 - 2^n, 2 - 2^n, \ldots, -2, -1 \).
- Parameters:
a – : parameter a
scaling – : scaling level
M – : maximum amount of integrals for each l
threshold – : lower limit for neglecting the integrals
-
std::vector<std::complex<double>> &operator[](int index)¶
in progress
- Parameters:
index – - in progress
- Returns:
in progress
Private Functions
-
void crop(std::vector<std::complex<double>> &J, double threshold)¶
Removes negligible elements in J until it reaches a considerable value.
-
JpowerIntegrals(double a, int scaling, int M, double threshold = 1.0e-15)¶