Package lib :: Package frame_order :: Module matrix_ops
[hide private]
[frames] | no frames]

Module matrix_ops

source code

Module for the handling of Frame Order.

Classes [hide private]
  Data
A data container stored in the memo objects for use by the Result_command class.
Functions [hide private]
 
daeg_to_rotational_superoperator(daeg, Rsuper)
Convert the frame order matrix (daeg) to the rotational superoperator.
source code
 
pcs_pivot_motion_full_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)
Calculate the PCS value after a pivoted motion for the isotropic cone model.
source code
float
pcs_pivot_motion_full_quad_int(theta_i, phi_i, sigma_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)
Calculate the PCS value after a pivoted motion for the isotropic cone model.
source code
 
pcs_pivot_motion_torsionless_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)
Calculate the PCS value after a pivoted motion for the isotropic cone model.
source code
float
pcs_pivot_motion_torsionless_quad_int(theta_i, phi_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)
Calculate the PCS value after a pivoted motion for the isotropic cone model.
source code
 
reduce_alignment_tensor(D, A, red_tensor)
Calculate the reduction in the alignment tensor caused by the Frame Order matrix.
source code
 
reduce_alignment_tensor_symmetric(D, A, red_tensor)
Calculate the reduction in the alignment tensor caused by the Frame Order matrix.
source code
 
rotate_daeg(matrix, R_eigen)
Rotate the given frame order matrix.
source code
Variables [hide private]
  __package__ = 'lib.frame_order'

Imports: cos, sin, dot, transpose, norm, transpose_23


Function Details [hide private]

daeg_to_rotational_superoperator(daeg, Rsuper)

source code 

Convert the frame order matrix (daeg) to the rotational superoperator.

Parameters:
  • daeg (numpy 9D, rank-2 array or numpy 3D, rank-4 array) - The second degree frame order matrix, daeg. This must be in the Kronecker product layout.
  • Rsuper (numpy 5D, rank-2 array) - The rotational superoperator structure to be populated.

pcs_pivot_motion_full_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)

source code 

Calculate the PCS value after a pivoted motion for the isotropic cone model.

Parameters:
  • full_in_ref_frame (numpy rank-1 array) - An array of flags specifying if the tensor in the reference frame is the full or reduced tensor.
  • r_pivot_atom (numpy rank-2, 3D array) - The pivot point to atom vector.
  • r_pivot_atom_rev (numpy rank-2, 3D array) - The reversed pivot point to atom vector.
  • r_ln_pivot (numpy rank-2, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • Ri (numpy rank-2, 3D array) - The frame-shifted, pre-calculated rotation matrix for state i.
  • pcs_theta (numpy rank-2 array) - The storage structure for the back-calculated PCS values.
  • pcs_theta_err (numpy rank-2 array) - The storage structure for the back-calculated PCS errors.
  • missing_pcs (numpy rank-2 array) - A structure used to indicate which PCS values are missing.

pcs_pivot_motion_full_quad_int(theta_i, phi_i, sigma_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)

source code 

Calculate the PCS value after a pivoted motion for the isotropic cone model.

Parameters:
  • theta_i (float) - The half cone opening angle (polar angle).
  • phi_i (float) - The cone azimuthal angle.
  • sigma_i (float) - The torsion angle for state i.
  • r_pivot_atom (numpy rank-1, 3D array) - The pivot point to atom vector.
  • r_ln_pivot (numpy rank-1, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • R_eigen (numpy rank-2, 3D array) - The eigenframe rotation matrix.
  • RT_eigen (numpy rank-2, 3D array) - The transpose of the eigenframe rotation matrix (for faster calculations).
  • Ri_prime (numpy rank-2, 3D array) - The empty rotation matrix for the in-frame isotropic cone motion for state i.
Returns: float
The PCS value for the changed position.

pcs_pivot_motion_torsionless_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)

source code 

Calculate the PCS value after a pivoted motion for the isotropic cone model.

Parameters:
  • full_in_ref_frame (numpy rank-1 array) - An array of flags specifying if the tensor in the reference frame is the full or reduced tensor.
  • r_pivot_atom (numpy rank-2, 3D array) - The pivot point to atom vector.
  • r_pivot_atom_rev (numpy rank-2, 3D array) - The reversed pivot point to atom vector.
  • r_ln_pivot (numpy rank-2, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • Ri (numpy rank-2, 3D array) - The frame-shifted, pre-calculated rotation matrix for state i.
  • pcs_theta (numpy rank-2 array) - The storage structure for the back-calculated PCS values.
  • pcs_theta_err (numpy rank-2 array) - The storage structure for the back-calculated PCS errors.
  • missing_pcs (numpy rank-2 array) - A structure used to indicate which PCS values are missing.

pcs_pivot_motion_torsionless_quad_int(theta_i, phi_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)

source code 

Calculate the PCS value after a pivoted motion for the isotropic cone model.

Parameters:
  • theta_i (float) - The half cone opening angle (polar angle).
  • phi_i (float) - The cone azimuthal angle.
  • r_pivot_atom (numpy rank-1, 3D array) - The pivot point to atom vector.
  • r_ln_pivot (numpy rank-1, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • R_eigen (numpy rank-2, 3D array) - The eigenframe rotation matrix.
  • RT_eigen (numpy rank-2, 3D array) - The transpose of the eigenframe rotation matrix (for faster calculations).
  • Ri_prime (numpy rank-2, 3D array) - The empty rotation matrix for the in-frame isotropic cone motion for state i.
Returns: float
The PCS value for the changed position.

reduce_alignment_tensor(D, A, red_tensor)

source code 

Calculate the reduction in the alignment tensor caused by the Frame Order matrix.

This is both the forward rotation notation and Kronecker product arrangement.

Parameters:
  • D (numpy 9D, rank-2 array) - The Frame Order matrix, 2nd degree to be populated.
  • A (numpy 5D, rank-1 array) - The full alignment tensor in {Axx, Ayy, Axy, Axz, Ayz} notation.
  • red_tensor (numpy 5D, rank-1 array) - The structure in {Axx, Ayy, Axy, Axz, Ayz} notation to place the reduced alignment tensor.

reduce_alignment_tensor_symmetric(D, A, red_tensor)

source code 

Calculate the reduction in the alignment tensor caused by the Frame Order matrix.

This is both the forward rotation notation and Kronecker product arrangement. This simplification is due to the symmetry in motion of the pseudo-elliptic and isotropic cones. All element of the frame order matrix where an index appears only once are zero.

Parameters:
  • D (numpy 9D, rank-2 array) - The Frame Order matrix, 2nd degree to be populated.
  • A (numpy 5D, rank-1 array) - The full alignment tensor in {Axx, Ayy, Axy, Axz, Ayz} notation.
  • red_tensor (numpy 5D, rank-1 array) - The structure in {Axx, Ayy, Axy, Axz, Ayz} notation to place the reduced alignment tensor.

rotate_daeg(matrix, R_eigen)

source code 

Rotate the given frame order matrix.

It is assumed that the frame order matrix is in the Kronecker product form.

Parameters:
  • matrix (numpy rank-2 array) - The Frame Order matrix to be populated. All degrees are handled.
  • R_eigen (numpy rank-2 array) - The Kronecker product of the eigenframe rotation matrix with itself.