|
ivutils
|
wavepacket is w(x)=exp(-a*x^2+b*x+lz) More...
#include <wavepacket.h>

Public Member Functions | |
| cdouble | integral () const |
| Returns the integral of w(x) over 3D space. | |
| cdouble | partial_integrate (const Vector_3 &x, const iVector_3 &integ_flag) const |
| Returns integral of w(x) over 3D space along selected axes. | |
| void | init (const double width=1., const Vector_3 &r=0., const Vector_3 &p=0., const double pw=0.) |
| Initialize normalized packet with physical parameters: r0, p0, width, pw w(x)=(3/2pi width^(3/4)exp[-(3/(4 width^2)-i pw/(2*width) )(x-r)^2+i p (x-r)]. | |
| void | init (const cdouble &a_, const cVector_3 &b_) |
| Initialize normalized packet with complex parameters a and b w(x)=(3/2pi width^(3/4)exp[-(3/(4 width^2)-i pw/(2*width) )(x-r)^2+i p (x-r)]. | |
| WavePacket & | normalize () |
| Adjusts lz so that Integral[w*(std::conj(w))] is 1 after this operation. | |
| cdouble | overlap (const WavePacket &other) const |
| computes 3D overlap of wavepackets Inegral[w*other] | |
| WavePacket | translate (const Vector_3 &dr) const |
| returns translated packet to the position of r'=r+dr | |
| double | get_width () const |
| width | |
| double | get_pwidth () const |
| width momentum | |
| pair< double, double > | get_width_pars () const |
| both width and width momentum | |
| Vector_3 | get_r () const |
| position | |
| Vector_3 | get_p () const |
| momentum | |
| template<template< class A > class operation, class d_it , class dfdx_it , class dfdp_it , class dfdw_it , class dfdpw_it > | |
| void | int2phys_der (d_it dfdi_, dfdx_it dfdx, dfdp_it dfdp, dfdw_it dfdw, dfdpw_it dfdpw, double h_p) const |
| Transforms derivatives of a function whith respect to WP parameters from internal into physical representation, i. | |
| int | compare (const WavePacket &other, double tol=0.) const |
| Compares the wave packet to another on a per component basis. | |
wavepacket is w(x)=exp(-a*x^2+b*x+lz)
|
inline |
Compares the wave packet to another on a per component basis.
| 0 | if all component differences are 0 within tolerance tol (EQUAL), |
| -1 | for LESS |
| 2 | for GREATER |
|
inline |
Transforms derivatives of a function whith respect to WP parameters from internal into physical representation, i.
e.:
from df/d{are,aim,b0re,b0im,b1re,b1im,b2re,b2im} (8 values accessed by input iterator d_it in the given order)
to df/d{x0,x1,x2}, df/d{p0,p1,p2}, df/dw, df/dpw The supplied inputs (val) are modified by op: val=op(val,phys_der). Use operation=eq_second for the supplied inputs to be replaced by new physical derivative values. The inpput and output locations may coinside, an internal buffer is used for transformation.
|
inline |
Returns integral of w(x) over 3D space along selected axes.
Flags integ_flag are used to indicate along which axes the integration should be performed. For example the call with integ_flag = iVector_3(0,1,1) will return integral over y and z at x[0].