Massively Parallel Trotter-Suzuki Solver  1.6.2
ExponentialState Class Reference

This class defines a quantum state with exponential like wave function. More...

#include <trottersuzuki.h>

Inheritance diagram for ExponentialState:

Public Member Functions

ExponentialState (Lattice1D *grid, int n_x=1, double norm=1, double phase=0, double *p_real=0, double *p_imag=0)

ExponentialState (Lattice2D *grid, int n_x=1, int n_y=1, double norm=1, double phase=0, double *p_real=0, double *p_imag=0)

Public Member Functions inherited from State
State (Lattice *grid, int angular_momentum=0, double *p_real=0, double *p_imag=0)

State (const State &obj)
Copy constructor: copy the state object. More...

~State ()
Destructor.

void init_state (complex< double >(*ini_state)(double x))
Write the wave function from a C++ function to p_real and p_imag matrices in 1D. More...

void init_state (complex< double >(*ini_state)(double x, double y))
Write the wave function from a C++ function to p_real and p_imag matrices in 2D. More...

Load the wave function from a file to p_real and p_imag matrices.

void imprint (complex< double >(*function)(double x))
Multiply the wave function of the state by the function provided in 1D. More...

void imprint (complex< double >(*function)(double x, double y))
Multiply the wave function of the state by the function provided in 2D. More...

double * get_particle_density (double *density=0)
Return a matrix storing the squared norm of the wave function. More...

double * get_phase (double *phase=0)
Return a matrix storing the phase of the wave function. More...

double get_expected_value (string _operator)
Return the expected value of the operator, given as argument.

double get_squared_norm (void)
Return the squared norm of the quantum state.

double get_mean_x (void)
Return the expected value of the X operator.

double get_mean_xx (void)
Return the expected value of the X^2 operator.

double get_mean_y (void)
Return the expected value of the Y operator.

double get_mean_yy (void)
Return the expected value of the Y^2 operator.

double get_mean_px (void)
Return the expected value of the P_x operator.

double get_mean_pxpx (void)
Return the expected value of the P_x^2 operator.

double get_mean_py (void)
Return the expected value of the P_y operator.

double get_mean_pypy (void)
Return the expected value of the P_y^2 operator.

double get_mean_angular_momentum (void)
Return the expected value of the L_z operator.

void write_to_file (string fileprefix)
Write to a file the wave function. More...

void write_particle_density (string fileprefix)
Write to a file the squared norm of the wave function. More...

void write_phase (string fileprefix)
Write to a file the phase of the wave function. More...

Private Member Functions

complex< double > exp_state (double x, double y)
Exponential wave function.

Private Attributes

int n_x

int n_y
First and second quantum number.

double norm

double phase
Norm and phase of the state.

Public Attributes inherited from State
double * p_real
Real part of the wave function.

double * p_imag
Imaginary part of the wave function.

Lattice * grid
Object that defines the lattice structure.

int angular_momentum
Angular momentum when cylindrical coordinates are used.

bool expected_values_updated
Whether the expected values of the state object are updated with respect to the last evolution.

Protected Member Functions inherited from State
void calculate_expected_values (void)
Calculate squared norm and expected values.

Protected Attributes inherited from State
bool self_init
Whether the p_real and p_imag matrices have been initialized from the State constructor or not.

double mean_X

double mean_XX
Expected values of the X and X^2 operators.

double mean_Y

double mean_YY
Expected values of the Y and Y^2 operators.

double mean_Px

double mean_PxPx
Expected values of the P_x and P_x^2 operators.

double mean_Py

double mean_PyPy
Expected values of the P_y and P_y^2 operators.

double mean_angular_momentum
Expected value of the L_z operator.

double norm2
Squared norm of the state.

Detailed Description

This class defines a quantum state with exponential like wave function.

This class is a child of State class.

Constructor & Destructor Documentation

 ExponentialState::ExponentialState ( Lattice1D * grid, int n_x = 1, double norm = 1, double phase = 0, double * p_real = 0, double * p_imag = 0 )

Construct the quantum state with exponential like wave function.

Parameters
 [in] grid Lattice object. [in] n_x First quantum number. [in] norm Squared norm of the quantum state. [in] phase Relative phase of the wave function. [in] p_real Pointer to the real part of the wave function. [in] p_imag Pointer to the imaginary part of the wave function.
 ExponentialState::ExponentialState ( Lattice2D * grid, int n_x = 1, int n_y = 1, double norm = 1, double phase = 0, double * p_real = 0, double * p_imag = 0 )

Construct the quantum state with exponential like wave function.

Parameters
 [in] grid Lattice object. [in] n_x First quantum number. [in] n_y Second quantum number. [in] norm Squared norm of the quantum state. [in] phase Relative phase of the wave function. [in] p_real Pointer to the real part of the wave function. [in] p_imag Pointer to the imaginary part of the wave function.

The documentation for this class was generated from the following files:
• /home/pwittek/trotter-suzuki-mpi/src/trottersuzuki.h
• /home/pwittek/trotter-suzuki-mpi/src/model.cpp