SparsityOraclePSHAWP

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

Class documentation

class WaveBlocksND.SparsityOraclePSHAWP(factor=1.5)[source]

This class implements an oracle by looking at a phase space distance.

__init__(factor=1.5)[source]

Initialize an oracle for estimating if a specific overlap integral \langle \Psi_k | \Psi_l \rangle is approximately zero. The oracle works by computing first and second moments \mu and \sigma of the highest order function \phi_i of both wavepackts \Psi_k and \Psi_l for both, position and momentum. Then we compute the estimators:

\|q_k - q_l\| \leq \alpha ( \|\sigma^q_k\| + \|\sigma^q_l\| )

and

\|p_k - p_l\| \leq \alpha ( \|\sigma^p_k\| + \|\sigma^p_l\| )

Parameters:factor – The factor \alpha in the phase space distance. The default value of 1.5 should be reasonable in most cases.
bias(bramink=None, ketmink=None)[source]

Bias the sparsity oracle. The oracle tends to underestimate the wavepacket spread for small basis shapes \mathfrak{K} and therefore small maximal indices k \in \mathfrak{K}. This method allows to set a minimal k for both the bra and ket independently.

Parameters:
  • bramink – Minimal k for \langle \Psi |
  • ketmink – Minimal k for | \Psi \rangle
is_not_zero(pacbra, packet, component=None)[source]

Try to estimate if the overlap integral \langle \Psi_k | \Psi_l \rangle is zero or at least negligible.

Parameters:
  • pacbra – The packet \Psi_k that is used for the ‘bra’ part.
  • packet – The packet \Psi_l that is used for the ‘ket’ part.
  • component – The component of the packet that is considered.
Returns:

True or False whether the inner product is negligible.