The WaveBlocks Project
@author: R. Bourquin @copyright: Copyright (C) 2010, 2011, 2012 R. Bourquin @license: Modified BSD License
This class represents a matrix potential . The potential is given as an analytical expression with a matrix of size bigger than . Some 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. All methods use numerical techniques because symbolical calculations are unfeasible.
Calculate the eigenvalues of the potential . We do the calculations with numerical tools. The multiplicities are taken into account.
Note
Note: the eigenvalues are memoized for later reuse.
Calculate the two eigenvectors of the potential . We do the calculations with numerical tools.
Note
The eigenvectors are memoized for later reuse.
Calculate the matrix exponential . In the case where the matrix is of size bigger than symbolical calculations become unfeasible. We use numerical approximations to determine the matrix exponential.
Parameters: | factor – A prefactor in the exponential. |
---|
Calculate the hessian matrix for each component of the potential. For potentials which depend only one variable , this equals the second derivative.
Calculate the jacobian matrix for each component of the potential. For potentials which depend only one variable , this equals the first derivative.
Calculate the local quadratic approximation matrix of the potential’s eigenvalues in . This function can be used for the homogeneous case and takes into account the leading component . If the parameter is not given, calculate the local quadratic approximation matrix of all the potential’s eigenvalues in . This function is used for the inhomogeneous case.
Parameters: | diagonal_component – Specifies the index of the eigenvalue that gets expanded into a Taylor series . |
---|
Calculate the non-quadratic remainder matrix of the quadratic approximation matrix of the potential’s eigenvalue matrix . This function is used for the homogeneous case and takes into account the leading component .
Parameters: | diagonal_component – Specifies the index of the leading component . |
---|
Evaluate the potential matrix elementwise at some given grid nodes .
Parameters: |
|
---|---|
Returns: | A list with the entries evaluated at the nodes. |
Evaluate the eigenvalues at some grid nodes .
Parameters: |
|
---|---|
Returns: | A sorted list with entries for all the eigenvalues evaluated at the nodes. Or a single value if a component was specified. |
Evaluate the eigenvectors at some grid nodes .
Parameters: | nodes – The grid nodes we want to evaluate the eigenvectors at. |
---|---|
Returns: | A list with the eigenvectors evaluated at the given nodes. |
Evaluate the exponential of the potential matrix at some grid nodes . For matrices of size we do completely numerical exponentation.
Parameters: | nodes – The grid nodes we want to evaluate the exponential at. |
---|---|
Returns: | The numerical approximation of the matrix exponential at the given grid nodes. |
Evaluate the hessian at some grid nodes for each component of the potential.
Parameters: |
|
---|---|
Returns: | Either a list or a single value depending on the optional parameters. |
Evaluate the jacobian at some grid nodes for each component of the potential.
Parameters: |
|
---|---|
Returns: | Either a list or a single value depending on the optional parameters. |
Numerically evaluate the local quadratic approximation matrix of the potential’s eigenvalues in at the given grid nodes .
Parameters: |
|
---|---|
Returns: | A list of arrays or a single array containing the values of at the nodes . |
Numerically evaluate the non-quadratic remainder matrix of the quadratic approximation matrix of the potential’s eigenvalues in at the given nodes . This function is used for the homogeneous and the inhomogeneous case and just evaluates the remainder matrix .
Parameters: |
|
---|---|
Returns: | A list with a single entry consisting of an array containing the values of at the nodes . |
Returns: | The number of components the potential supports. This is also the size of the matrix. |
---|
The matrix of the potential .
Project a given vector from the potential’s eigenbasis to the canonical basis.
Parameters: |
|
---|---|
Returns: | Returned is another list containing the projection of the values into the eigenbasis. |
Project a given vector from the canonical basis to the eigenbasis of the potential.
Parameters: |
|
---|---|
Returns: | Returned is another list containing the projection of the values into the eigenbasis. |
The variable that represents position space.