ObservablesHAWP

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

Class documentation

class WaveBlocksND.ObservablesHAWP[source]

This class implements observable computation for Hagedorn wavepackets \Psi.

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 want to 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 with the kinetic energies of the individual components or the overall kinetic energy of the wavepacket. (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.

Note

This method is just a shortcut and calls the HagedornWavepacketBase.norm() method of the given wavepacket.

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 calculated. 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 values of component and summed.

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 want to 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 with the potential energies of the individual components or the overall potential energy of the wavepacket. (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 \rangle.
set_innerproduct(innerproduct)[source]

Set the innerproduct.

Parameters:innerproduct (A InnerProduct subclass instance.) – An innerproduct for computing the integrals. The inner product is only used for the computation of the potential energy \langle \Psi | V(x) | \Psi \rangle but not for the kinetic energy.