MatrixPotential

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

Class documentation

class WaveBlocksND.MatrixPotential[source]

This class represents a potential V(x) with x \in \mathbb{R}^D. The potential is given as an analytic expression. Some calculations with the potential are supported. For example calculation of eigenvalues \lambda_i(x) and eigenvectors \nu_i(x) and numerical evaluation on a grid \Gamma.

calculate_eigenvalues()[source]

Calculate the eigenvalue \lambda_0(x) of the potential V(x).

Raise:NotImplementedError This is an abstract base class.
calculate_eigenvectors()[source]

Calculate the eigenvectors \nu_i(x) of the potential V(x).

Raise:NotImplementedError This is an abstract base class.
calculate_exponential(factor=1)[source]

Calculate the matrix exponential \exp(\alpha V).

Parameters:factor – The prefactor \alpha in the exponential.
Raise:NotImplementedError This is an abstract base class.
evaluate_at(grid, entry=None)[source]

Evaluate the potential V(x) elementwise on a grid \Gamma.

Parameters:
  • grid – The grid containing the nodes \gamma_i we want to evaluate the potential at.
  • entry – The indices (i,j) of the component V_{i,j}(x) we want to evaluate or None to evaluate all entries.
Raise:

NotImplementedError This is an abstract base class.

evaluate_eigenvalues_at(grid, entry=None)[source]

Evaluate the eigenvalues \Lambda(x) elementwise on a grid \Gamma.

Parameters:
  • grid – The grid containing the nodes \gamma_i we want to evaluate the eigenvalues at.
  • entry – The index i of the eigenvalue \lambda_i(x) we want to evaluate or None to evaluate all eigenvalues.
Raise:

NotImplementedError This is an abstract base class.

evaluate_eigenvectors_at(grid, entry=None)[source]

Evaluate the eigenvectors \nu_i(x) elementwise on a grid \Gamma.

Parameters:
  • grid – The grid containing the nodes \gamma_i we want to evaluate the eigenvectors at.
  • entry – The index i of the eigenvector \nu_i(x) we want to evaluate or None to evaluate all eigenvectors.
Raise:

NotImplementedError This is an abstract base class.

evaluate_exponential_at(grid)[source]

Evaluate the exponential of the potential matrix V(x) on a grid \Gamma.

Parameters:grid – The grid containing the nodes \gamma_i we want to evaluate the exponential at.
Raise:NotImplementedError This is an abstract base class.
get_dimension()[source]

Return the dimension D of the potential V(x). The dimension is equal to the number of free variables x_i where x := (x_1, x_2, ..., x_D).

get_number_components()[source]

Return the number N of components the potential V(x) supports. This is equivalent to the number of energy levels \lambda_i(x).