The WaveBlocks Project
@author: R. Bourquin @copyright: Copyright (C) 2010, 2011, 2012 R. Bourquin @license: Modified BSD License
This class represents a scalar potential . The potential is given as an
analytical
matrix expression. Some symbolic calculations with
the potential are supported. For example calculation of eigenvalues and
exponentials and numerical evaluation. Further, there are methods for
splitting the potential into a Taylor expansion and for basis transformations
between canonical and eigenbasis.
Calculate the eigenvalue of the potential
.
In the scalar case this is just the matrix entry
.
Note
This function is idempotent and the eigenvalues are memoized for later reuse.
Calculate the eigenvector of the potential
.
In the scalar case this is just the value
.
Note
This function is idempotent and the eigenvectors are memoized for later reuse.
Calculate the matrix exponential . In this case
the matrix is of size
thus the exponential simplifies to the scalar exponential function.
Parameters: | factor – A prefactor ![]() |
---|
Note
This function is idempotent.
Calculate the hessian matrix for component of the potential.
For potentials which depend only one variable
, this equals the second derivative.
Calculate the jacobian matrix for the component of the potential.
For potentials which depend only one variable
, this equals the first derivative.
Calculate the local quadratic approximation of the potential’s eigenvalue
.
Parameters: | diagonal_component – Dummy parameter that has no effect here. |
---|
Note
This function is idempotent.
Calculate the non-quadratic remainder of the quadratic
approximation
of the potential’s eigenvalue
.
This function is used for the homogeneous case and takes into account
the leading component
.
Parameters: | diagonal_component – Dummy parameter that has no effect here. |
---|
Note
This function is idempotent.
Evaluate the potential matrix elementwise at some given grid nodes .
Parameters: |
|
---|---|
Returns: | A list with the single entry evaluated at the nodes. |
Evaluate the eigenvalue at some grid nodes
.
Parameters: |
|
---|---|
Returns: | A list with the single eigenvalue evaluated at the nodes. |
Evaluate the eigenvector at some grid nodes
.
Parameters: | nodes – The grid nodes ![]() |
---|---|
Returns: | A list with the eigenvector evaluated at the given nodes. |
Evaluate the exponential of the potential matrix at some grid nodes
.
Parameters: | nodes – The grid nodes ![]() |
---|---|
Returns: | The numerical approximation of the matrix exponential at the given grid nodes. |
Evaluate the potential’s hessian at some grid nodes .
Parameters: |
|
---|---|
Returns: | The value of the potential’s hessian at the given nodes. |
Evaluate the potential’s jacobian at some grid nodes .
Parameters: |
|
---|---|
Returns: | The value of the potential’s jacobian at the given nodes. |
Numerically evaluate the local quadratic approximation of
the potential’s eigenvalue
at the given grid nodes
.
This function is used for the homogeneous case.
Parameters: | nodes – The grid nodes ![]() |
---|---|
Returns: | An array containing the values of ![]() ![]() |
Numerically evaluate the non-quadratic remainder of the quadratic
approximation
of the potential’s eigenvalue
at the given nodes
.
This function is used for the homogeneous and the inhomogeneous case and
just evaluates the remainder
.
Parameters: |
|
---|---|
Returns: | A list with a single entry consisting of an array containing the values of |
Returns: | The number ![]() |
---|
The matrix of the potential .
Project a given vector from the potential’s eigenbasis to the canonical basis.
Parameters: |
|
---|---|
Returns: | This method does nothing and returns the values. |
Project a given vector from the canonical basis to the eigenbasis of the potential.
Parameters: |
|
---|---|
Returns: | This method does nothing and returns the values. |
The variable that represents position space.