Module matrix_exponential
source code
Module for the calculation of the matrix exponential, for higher
dimensional data.
numpy int array of rank [NE][NS][NM][NO][ND][5] or
[NS][NM][NO][ND][4].
|
create_index(NE=None,
NS=None,
NM=None,
NO=None,
ND=None)
Method to create the helper index numpy array, to help figuring out
the indices to store in the exchange data matrix. |
source code
|
|
numpy array of rank [NE*NS*NM*NO*ND][Col] or [NS*NM*NO*ND][Col].
|
|
numpy array of rank [NE*NS*NM*NO*ND][Col] or [NS*NM*NO*ND][Col].
|
|
numpy float array of rank [NE][NS][NM][NO][ND][X][X]
|
matrix_exponential(A,
dtype=None)
Calculate the exact matrix exponential using the eigenvalue
decomposition approach, for higher dimensional data. |
source code
|
|
numpy float array of rank [NS][NM][NO][ND][2][2]
|
|
|
__package__ = ' lib.dispersion '
|
Imports:
array,
any,
complex128,
dot,
einsum,
eye,
exp,
iscomplex,
int16,
newaxis,
multiply,
tile,
sqrt,
version,
zeros,
as_strided,
eig,
inv
create_index(NE=None,
NS=None,
NM=None,
NO=None,
ND=None)
| source code
|
Method to create the helper index numpy array, to help figuring out
the indices to store in the exchange data matrix.
- Parameters:
NE (None or int) - The total number of experiment types.
NS (int) - The total number of spins of the spin cluster.
NM (int) - The total number of magnetic field strengths.
NO (int) - The total number of spin-lock offsets.
ND (int) - The total number of dispersion points (either the spin-lock field
strength or the nu_CPMG frequency).
- Returns: numpy int array of rank [NE][NS][NM][NO][ND][5] or
[NS][NM][NO][ND][4].
- The numpy array for containing index indices for storing in the
strided exchange data matrix.
|
data_view_via_striding_array_col(data_array=None)
| source code
|
Method to stride through the data matrix, extracting the outer array
with nr of elements as Column length.
- Parameters:
data (numpy array of rank [NE][NS][NM][NO][ND][Col] or
[NS][NM][NO][ND][Col].) - The numpy data array to stride through.
- Returns: numpy array of rank [NE*NS*NM*NO*ND][Col] or [NS*NM*NO*ND][Col].
- The data view of the full numpy array, returned as a numpy array
with number of small numpy arrays corresponding to
Nr_mat=NE*NS*NM*NO*ND or Nr_mat=NS*NM*NO*ND, where each small
array has size Col.
|
data_view_via_striding_array_row_col(data_array=None)
| source code
|
Method to stride through the data matrix, extracting the outer matrix
with nr of elements as Row X Column length. Row and Col should have same
size.
- Parameters:
data (numpy array of rank [NE][NS][NM][NO][ND][Row][Col] or
[NS][NM][NO][ND][Row][Col].) - The numpy data array to stride through.
- Returns: numpy array of rank [NE*NS*NM*NO*ND][Col] or [NS*NM*NO*ND][Col].
- The data view of the full numpy array, returned as a numpy array
with number of small numpy arrays corresponding to
Nr_mat=NE*NS*NM*NO*ND or Nr_mat=NS*NM*NO*ND, where each small
array has size Col.
|
Calculate the exact matrix exponential using the eigenvalue
decomposition approach, for higher dimensional data. This of dimension
[NE][NS][NM][NO][ND][X][X] or [NS][NM][NO][ND][X][X].
Here X is the Row and Column length, of the outer square matrix.
- Parameters:
A (numpy float array of rank [NE][NS][NM][NO][ND][X][X]) - The square matrix to calculate the matrix exponential of.
dtype (data-type, optional) - If provided, forces the calculation to use the data type
specified.
- Returns: numpy float array of rank [NE][NS][NM][NO][ND][X][X]
- The matrix exponential. This will have the same dimensionality
as the A matrix.
|
matrix_exponential_rank_NS_NM_NO_ND_2_2(A,
dtype=None)
| source code
|
Calculate the exact matrix exponential using the closed form in terms
of the matrix elements., for higher dimensional data. This is of
dimension [NS][NM][NO][ND][2][2].
Here X is the Row and Column length, of the outer square matrix.
- Parameters:
A (numpy float array of rank [NS][NM][NO][ND][2][2]) - The square matrix to calculate the matrix exponential of.
dtype (data-type, optional) - If provided, forces the calculation to use the data type
specified.
- Returns: numpy float array of rank [NS][NM][NO][ND][2][2]
- The matrix exponential. This will have the same dimensionality
as the A matrix.
|