ObservablesMixedHAWP

About the ObservablesMixedHAWP 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

Inheritance diagram of ObservablesMixedHAWP

Class documentation

class WaveBlocksND.ObservablesMixedHAWP(*, innerproduct=None, gradient=None)[source]

This class implements the mixed case observable computation \langle \Psi | \cdot | \Psi^{\prime} \rangle for Hagedorn wavepackets \Psi where the bra \Psi does not equal the ket \Psi^{\prime}.

kinetic_energy(wavepacket, *, component=None, summed=False)[source]

Compute the kinetic energy E_{\text{kin}} := \langle \Psi | T | \Psi \rangle of the different components \Phi_i of the wavepacket \Psi.

Parameters:
  • wavepacket (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi of which we compute the kinetic energy.
  • component (Integer or None.) – The index i of the component \Phi_i whose kinetic energy we compute. If set to None the computation is performed for all N components.
  • summed (Boolean, default is False.) – Whether to sum up the kinetic energies E_i of the individual components \Phi_i.
Returns:

A list of the kinetic energies of the individual components or the overall kinetic energy of the wavepacket. (Depending on the optional arguments.)

Note

This method just expands to a call of the ObservablesMixedHAWP.kinetic_overlap_energy() method. Better use ObservablesHAWP.kinetic_energy().

kinetic_overlap_energy(pacbra, packet, *, component=None, summed=False)[source]

Compute the kinetic energy overlap \langle \Psi | T | \Psi^{\prime} \rangle of the different components \Phi_i and \Phi_i^{\prime} of the wavepackets \Psi and \Psi^{\prime}.

Parameters:
  • pacbra (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi which takes part in the kinetic energy integral.
  • packet (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi^{\prime} which takes part in the kinetic energy integral.
  • component (Integer or None.) – The index i of the components \Phi_i of \Psi and \Phi_i^{\prime} of \Psi^{\prime} which take part in the kinetic energy integral. If set to None the computation is performed for all N components of \Psi and \Psi^{\prime}.
  • summed (Boolean, default is False.) – Whether to sum up the kinetic energies E_i of the individual components \Phi_i and \Phi_i^{\prime}.
Returns:

A list of the kinetic energy overlap integrals of the individual components or the overall kinetic energy overlap of the wavepackets. (Depending on the optional arguments.)

norm(wavepacket, *, component=None, summed=False)[source]

Calculate the L^2 norm \langle \Psi | \Psi \rangle of the wavepacket \Psi.

Parameters:
  • wavepacket (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi of which we compute the norm.
  • component (int or None.) – The index i of the component \Phi_i whose norm is computed. The default value is None which means to compute the norms of all N components.
  • summed (Boolean, default is False.) – Whether to sum up the norms \langle \Phi_i | \Phi_i \rangle of the individual components \Phi_i.
Returns:

The norm of \Psi or the norm of \Phi_i or a list with the N norms of all components. (Depending on the optional arguments.)

Note

This method just redirects to a call to HagedornWavepacketBase.norm().

overlap(pacbra, packet, *, component=None, summed=False)[source]

Calculate the overlap \langle \Psi | \Psi^{\prime} \rangle of the wavepackets \Psi and \Psi^{\prime}.

Parameters:
  • pacbra (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi which takes part in the overlap integral.
  • packet (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi^{\prime} which takes part in the overlap integral.
  • component (Integer or None.) – The index i of the components \Phi_i of \Psi and \Phi_i^{\prime} of \Psi^{\prime} whose overlap is computed. The default value is None which means to compute the overlaps with all N components involved.
  • summed (Boolean, default is False.) – Whether to sum up the overlaps \langle \Phi_i | \Phi_i^{\prime} \rangle of the individual components \Phi_i and \Phi_i^{\prime}.
Returns:

The overlap of \Psi with \Psi^{\prime} or the overlap of \Phi_i with \Phi_i^{\prime} or a list with the N overlaps of all components. (Depending on the optional arguments.)

potential_energy(wavepacket, potential, *, component=None, summed=False)[source]

Compute the potential energy E_{\text{pot}} := \langle \Psi | V(x) | \Psi \rangle of the different components \Phi_i of the wavepacket \Psi.

Parameters:
  • wavepacket (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi of which we compute the potential energy.
  • potential – The potential V(x). (Actually, not the potential object itself but one of its V.evaluate_* methods.)
  • component (Integer or None.) – The index i of the component \Phi_i whose potential energy we compute. If set to None the computation is performed for all N components.
  • summed (Boolean, default is False.) – Whether to sum up the potential energies E_i of the individual components \Phi_i.
Returns:

A list of the potential energies of the individual components or the overall potential energy of the wavepacket. (Depending on the optional arguments.)

Note

This method just expands to a call of the ObservablesMixedHAWP.potential_overlap_energy() method. Better use ObservablesHAWP.potential_energy().

potential_overlap_energy(pacbra, packet, potential, *, component=None, summed=False)[source]

Compute the potential energy overlap \langle \Psi | V(x) | \Psi^{\prime} \rangle of the different components \Phi_i and \Phi_i^{\prime} of the wavepackets \Psi and \Psi^{\prime}.

Parameters:
  • pacbra (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi which takes part in the potential energy integral.
  • packet (A HagedornWavepacketBase subclass instance.) – The wavepacket \Psi^{\prime} which takes part in the potential energy integral.
  • potential – The potential V(x). (Actually, not the potential object itself but one of its V.evaluate_* methods.)
  • component (Integer or None.) – The index i of the components \Phi_i of \Psi and \Phi_i^{\prime} of \Psi^{\prime} which take part in the potential energy integral. If set to None the computation is performed for all N components of \Psi and \Psi^{\prime}.
  • summed (Boolean, default is False.) – Whether to sum up the potential energies E_i of the individual components \Phi_i and \Phi_i^{\prime}.
Returns:

A list of the potential energy overlap integrals of the individual components or the overall potential energy overlap of the wavepackets. (Depending on the optional arguments.)

set_gradient(gradient)[source]

Set the gradient.

Parameters:gradient (A Gradient subclass instance.) – A gradient operator. The gradient is only used for the computation of the kinetic energy \langle \Psi | T | \Psi^{\prime} \rangle.
set_innerproduct(innerproduct)[source]

Set the innerproduct.

Parameters:innerproduct (A InnerProduct subclass instance.) – An inner product for computing the integrals. The inner product is used for the computation of all brakets \langle \Psi | \cdot | \Psi^{\prime} \rangle.

Note

Make sure to use an inhomogeneous inner product here.