Usage:
Description:
The member function component provides direct access to the individual irreducible spherical components of the input spatial tensor.component (int l) - When invoked with only a rank index as arguments the function component returns an irreducible spatial tensor equivalent to the irreducible rank l component of the input tensor.
component (int l, int m) - When invoked with a rank index and a component index as arguments the function component returns a complex number which is the irreducible spherical l, m component of the input tensor.
[0, k] and m
[-l, l] where k is the rank of the tensor. If the tensor itself is irreducible only the components with l=k will exist and the function returns zero if asked for components with l<k.
Return Value:
A complex number or an irreducible spatial tensor is returned.Example(s):
#include <gamma.h>
main()
{
space_T SphT, sphT1; // create two new empty spatial tensors.
complex z; // create a new complex number.
SphT = A1(0.0, 0.0, -2); // SphT to rank 1 tensor, length 2 vector along -z axis.
SphT1=SphT.component(0.0, 0.0, -2); // SphT1 irreducible rank 1 tensor 0f SphT (equal).
z = SphT.component(1,-1); // set z to the 1,-1 component of the tensor SphT.
//z = SphT.component(2,0); // access rank 2 comp. of a rank 1 tensor! Fatal error.
}
See Also: None
Usage:
Description:
The member function rotate rotates the spatial tensor coordinate system by Euler angles alpha, beta, and gamma to produce a new spatial tensor.rotate(double alpha, double beta, double gamma) - When rotate is invoked with a these arguments it rotates the coordinate system to which the tensor is referenced to by the Euler angles alpha, beta, and gamma. The angles are input in degrees
rotate(coord &EA) - This use performs identically to 1. except that the three Euler angles alpha, beta, and gamma are contained in a single coordinate EA.
Return Value:
A new spin tensor is returned.Example(s):
#include <gamma.h>
main()
{
spin_system AX(2); // create a two spin system called AX.
space_T SphT(AX); // new spin tensor associated with spin system AX.
SphT = A1(0.0, 0.0, -2); // SphT to rank 1 tensor, length 2 vector along -z axis.
SphT = SphT.rotate(0, 90.0, 0); // rotate coordinate axes of SphT 90 degrees about y.
coord EA(0, 90.0, 0); // define a coordinate point with Euler angles.
SphT = SphT.rotate(EA); // another rotation of SphT 90 degrees about y.
}
See Also: None
Mathematical Basis:
Usage:
Description:
The function T_mult multiplies two tensors (cross product) together to produce a new tensor.T_mult (space_T &SphT1, space_T &SphT2) - Returns a spatial tensor which is the product of the two input spatial tensors. The resulting tensor will have a rank which is the sum of the individual tensor ranks and will be stored in terms of its irreducible spherical components.
T_mult (space_T &SphT1, int l1, space_T &SphT2, int l2) - Returns a spatial tensor which is the product of the rank l1 irreducible component of T1 and the rank l2 irreducible component of T2.The resulting tensor will have a rank which is the sum of l1 and l2 and will be stored in terms of its irreducible spherical components.
T_mult (space_T &SphT1, int l1, space_T &SphT2, int l2, int L) - Returns an irreducible spatial tensor which is the rank L component arising from the tensor product of the rank l1 irreducible component of T1 and the rank l2 irreducible component of T2. The resulting tensor will have a rank L, be irreducible and have its components stored spherical.
T_mult (space_T &SphT1, int l1, space_T &SphT2, int l2, int L, int M) - Returns a complex number which is the L,M component of the spatial tensor which is the product of the rank l1 irreducible component of T1 and the rank l2 irreducible component of T2.
Return Value:
Either a spatial tensor or a complex number is returned.Example(s):
#include <gamma.h>
main()
{
space_T SphT; // create a new empty spatial tensor.
SphT = sphA1(Y11(90., 45.), Y10(90., 45,), Y1m1(90.,45.); // SphT rank 1 harmonics.
space_T SphT1(SphT); // create a new spatial tensor identical to SphT.
space_T SphT2; // create a new empty spatial tensor.
SphT2 = T_prod(SphT, SphT1); // set SphT2 equal to the product SphT x SphT1, Y2's
SphT1 = T_prod(SphT, SphT2); // set SphT1 equal to the product SphT x SphT2, Y3's
}
See Also: None
Mathematical Basis:
The product of two irreducible spherical spatial tensors, A1 and A2 produces another spatial tensor, A, according the equation A = A1 x A2. The irreducible spherical components of A are given by equation (9-15)1
where L
[l1+l2, |l1-l2|], M = m1 + m2 and <l1l2m1m2|LM> are Clebsch-Gordan coefficients. The entire irreducible rank L tensor is returned from usage 3. of the function and the L, M component from usage 4, AL,M. When the product of two reducible tensors is performed, each of the input tensors must be expanded in terms of irreducible components.
This formula is found in Brink and Satchler, page 52, equation (4.6).
|
GAMMA Support Provided by the National High Magnetic Field Laboratory
© 1996 Scott A. Smith, The NHMFL, and The Florida State University. All Rights Reserved. |