Cartesius Library
rotations.f90 File Reference

Data Types

type  rotations::zyzangles
 
type  rotations::xyzangles
 
type  rotations::rotation
 @TODO Add ten more types of triples of angles to be used to define rotations, then one more type of triple of angles: rotation angle and two angles defining the rotation axis. This seems to be all... More...
 
interface  rotations::assignment(=)
 
interface  rotations::operator(*)
 
interface  rotations::operator(.inv.)
 
interface  rotations::operator(.det.)
 

Modules

module  rotations
 Collects functions devoted to rotations of Rˆ3 space.
 

Functions/Subroutines

complex function rotations::harmonics_r_to_c_coef (l, mc, mr)
 Returns the coefficient of transformation from real (cubic) to complex (spherical) basis <j,mc(complex)|j,mr(real)> More...
 
complex function rotations::harmonics_c_to_r_coef (l, mr, mc)
 Returns the coefficient of transformation from complex (spherical) to real (cubic) basis <j,mr(real)|j,mc(complex)> More...
 
subroutine rotations::setmatricestotransformsphericaltocubic (sphericalToCubicMatrices)
 @TODO This should not be done in a subroutine. We need to define these matrices explicitly as a public variable (see above). More...
 
subroutine rotations::xrot (angle, rm)
 
subroutine rotations::yrot (angle, rm)
 
subroutine rotations::zrot (angle, rm)
 
type(rotation) function, private rotations::r_mult_r (r1, r2)
 
real function rotations::det_r (rin)
 
type(rotation) function, private rotations::inv_r (rin)
 
subroutine rotations::r_to_r (r_result, r_source)
 
subroutine rotations::array_to_r (r_result, array_source)
 
subroutine, private rotations::xyz_to_r (rm, Angles)
 
subroutine, private rotations::zyz_to_r (rm, Angles)
 
subroutine, private rotations::q_to_r (rm, q)
 Returns an SO(3) rotation matrix corresponding to the given rotation quaternion. More...
 
subroutine rotations::av_to_q (q, a, v)
 Returns a quaternion corresponding to a rotation around the given vector by the given angle. More...
 
subroutine rotations::av_to_r (r, a, v)
 Returns an SO(3) rotation matrix corresponding to a rotation around the given vector by the given angle. More...
 
type(vector) function rotations::rot_vec (rot, vin)
 
type(point) function rotations::rot_point (rot, pin)
 
subroutine rotations::wignermatrixelementforrealharmonics_cayleyklein (l, m1, m2, ck_a, ck_b, matrixElement)
 Subroutine calculates matrix elements (m1,m2) of the Wigner D-matrix (Dˆl) over cubic harmonics from the Cayley-Klein parameters, describing rotation. More...
 
subroutine rotations::wignermatrixelementforrealharmonics_eulerangles (l, m1, m2, alpha, beta, gamma, matrixElement)
 Subroutine calculates matrix elements (m1,m2) of the Wigner D-matrix (Dˆl) over cubic harmonics from the Euler Angles, describing rotation. More...
 
real function rotations::wignermatrixelementreal_eulerangles_fn (l, m1, m2, alpha, beta, gamma)
 Returns the value of the Wigner D-matrix element, describing rotation of a real (cubic) harmonic, in ZYZ convention. More...
 
subroutine rotations::wignermatrixelement_cayleyklein (l, m1, m2, ck_a, ck_b, matrixElement)
 Subroutine calculates matrix elements (m1,m2) of the Wigner D-matrix (Dˆl) over spherical harmonics from the Cayley-Klein parameters, describing rotation. More...
 
subroutine rotations::wignermatrixelement_eulerangles (l, m1, m2, alpha, beta, gamma, matrixElement)
 Subroutine calculates matrix elements (m1,m2) of the Wigner D-matrix (Dˆl) over spherical harmonics from the Euler angles, describing rotation. Used expression comes from eqs. (1) and (5) of chapter 4.3. from the book of Varshalovich book (in Russian) p.68. Please, note ZYZ convention for Euler angles is used in this book, thus we also use this convention when calculating Euler angles for the transformation of the laboratory frame to the local one (see module 'particles.f90'. More...
 
complex function rotations::wignermatrixelement_eulerangles_fn (l, m1, m2, alpha, beta, gamma)
 
real function rotations::wignersmalldmatrixelement_eulerangles_fn (l, m1, m2, beta)
 Returns the value of the Wigner small d-matrix element, which specifies coefficients for rotation a complex (spherical) harmonic around the Y axis. More...
 
subroutine rotations::geteuleranglesforrotation (somePoint, alpha, beta, gamma)
 
subroutine rotations::getcayleykleinforrotation (somePoint, a, b)
 
subroutine rotations::eulerangles_to_cayleyklein (alpha, beta, gamma, ck_a, ck_b)
 

Variables

type(complex_matrix), dimension(0:3), public rotations::sphericaltocubicmatrices
 
complex, dimension(0:0, 0:0), public rotations::harmonicstransform_s = cmplx(1.0, 0.0)
 Global variable containing matrices transforming spherical harmonics for l=0 to the cubic ones. More...
 
complex, dimension(-1:1,-1:1), public rotations::harmonicstransform_p = reshape( [cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,sq0p5), cmplx(0.0,0.0),cmplx(1.0,0.0),cmplx(0.0,0.0), cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(-sq0p5,0.0)], [3,3])
 Global variable containing matrices transforming spherical harmonics for l=1 to the cubic ones. More...
 
complex, dimension(-2:2,-2:2), public rotations::harmonicstransform_d = reshape( [cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,-sq0p5), cmplx(0.0,0.0),cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,sq0p5),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(1.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(-sq0p5,0.0),cmplx(0.0,0.0), cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(sq0p5,0.0)], [5,5])
 Global variable containing matrices transforming spherical harmonics for l=2 to the cubic ones. More...
 
complex, dimension(-3:3,-3:3), public rotations::harmonicstransform_f = reshape( [cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,sq0p5), cmplx(0.0,0.0),cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,-sq0p5),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,sq0p5),cmplx(0.0,0.0),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(1.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(-sq0p5,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0), cmplx(0.0,0.0),cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(sq0p5,0.0),cmplx(0.0,0.0), cmplx(sq0p5,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(0.0,0.0),cmplx(-sq0p5,0.0)], [7,7])
 Global variable containing matrices transforming spherical harmonics for l=3 to the cubic ones. More...