Racah algebra evaluations

JenaAtomicCalculator.RacahAlgebra.AbstractRecursionW3jType

abstract type RacahAlgebra.AbstractRecursionW3j ... defines an abstract and a number of singleton types for the recursion rules for Wigner 3-j symbols.

+ RecursionW3jMagnetic      ... Recursion wrt. the magnetic quantum numbers.
+ RecursionW3jOneStep       ... Recursion with step-1 of the j-quantum numbers.
+ RecursionW3jHalfStep      ... Recursion with step-1/2 of the j-quantum numbers.
+ RecursionW3jLouck         ... Recursion wrt. j-quantum numbers due to Louck.
source
JenaAtomicCalculator.RacahAlgebra.AngMomentumType

struct RacahAlgebra.AngMomentum ... defines an (abstract) data types for symbolic angular momenta which accept the types Basic, Symbol, Int64 and Rational{Int64} and check for being consistent with angular momenta.

source
JenaAtomicCalculator.RacahAlgebra.CsqType

struct RacahAlgebra.Csq ... defines a type for a coupling sequence of two angular momenta (a,b) c or a + b -> c with symbolic arguments.

+ a    ::Union{Basic,RacahAlgebra.Csq}      ... First angular momentum or coupling sequence.
+ b    ::Union{Basic,RacahAlgebra.Csq}      ... Second angular momentum or coupling sequence.
+ c    ::Basic                              ... Angular momentum to which a + b is coupled.
source
JenaAtomicCalculator.RacahAlgebra.DjpqType

struct RacahAlgebra.Djpq ... defines a type for the (small and real !!) Wigner rotation matrix d^(j)_pq (beta) with symbolic arguments.

+ j, p, q              ::Basic   ... angular momenta
+ beta                 ::Basic   ... rotation angle
source
JenaAtomicCalculator.RacahAlgebra.DjpqMethod

RacahAlgebra.Djpq(j::AngMomentum, p::AngMomentum, q::AngMomentum, beta::Basic) ... constructor for defining the spherical harmonic Y_lm (theta,phi) either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.IntegralType

struct RacahAlgebra.Integral ... defines an (finite) integral, typically over some angle, Int_low^up d var with symbolic arguments.

+ var                  ::Basic   ... integration variable, typically an angle (theta, phi, beta, ...)
+ low, up              ::Basic   ... lower, upper integration bound
source
JenaAtomicCalculator.RacahAlgebra.RacahExpressionType

struct RacahAlgebra.RacahExpression ... defines a type for a RacahExpression with symbolic arguments.

+ summations    ::Array{Basic,1}      ... Summation indices.
+ integrals     ::Array{Integral,1}   ... Integrals.
+ phase         ::Basic               ... Phase of the Racah expression.
+ weight        ::Basic               ... Weight of the Racah expression.
+ deltas        ::Array{Kronecker,1}  ... List of Kronecker deltas.
+ triangles     ::Array{Triangle,1}   ... List of Triangle deltas.
+ w3js          ::Array{W3j,1}        ... List of Wigner 3-j symbols
+ w6js          ::Array{W6j,1}        ... List of Wigner 6-j symbols
+ w9js          ::Array{W9j,1}        ... List of Wigner 9-j symbols
+ ylms          ::Array{Ylm,1}        ... List of spherical harmonics
+ djpqs         ::Array{Djpq,1}       ... List of (small) Wigner rotation matrices
source
JenaAtomicCalculator.RacahAlgebra.RacahExpressionMethod

RacahAlgebra.RacahExpression(rex::RacahAlgebra.RacahExpression;

    summations=..,      integrals=..,   phase=..,       weight=..,      deltas=..,     triangles=..,       
    w3js=..,            w6js=..,        w9js=..,        ylms=..,       djpqs=..) 
                
... constructor for modifying a given rex::RacahExpression by 'overwriting' the explicitly selected parts of the 
    expression.
source
JenaAtomicCalculator.RacahAlgebra.W3jType

struct RacahAlgebra.W3j ... defines a type for a Wigner 3-j symbol with symbolic arguments.

+ ja, jb, jc     ::Basic   ... angular momenta
+ ma, mb, mc     ::Basic   ... projections of the angular momenta above
source
JenaAtomicCalculator.RacahAlgebra.W3jMethod

RacahAlgebra.W3j(ja::AngMomentum, jb::AngMomentum, jc::AngMomentum, ma::AngMomentum, mb::AngMomentum, mc::AngMomentum) ... constructor for defining the Wigner 3-j symbol either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.W6jMethod

RacahAlgebra.W6j(a::AngMomentum, b::AngMomentum, c::AngMomentum, d::AngMomentum, e::AngMomentum, f::AngMomentum) ... constructor for defining the Wigner 6-j symbol either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.W9jMethod

RacahAlgebra.W9j(a::AngMomentum, b::AngMomentum, c::AngMomentum, d::AngMomentum, e::AngMomentum, f::AngMomentum, g::AngMomentum, h::AngMomentum, i::AngMomentum) ... constructor for defining the Wigner 9j symbol either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.YlmType

RacahAlgebra.Ylm(l::AngMomentum, m::AngMomentum, theta::Basic, phi::Basic, star::Bool) ... constructor for defining the spherical harmonic Y_lm (theta,phi) either by Julia Symbol's or SymEngine Basic variables. The variable star indicates a complex-conjugate function, and which case a Racah expression is returned.

+ (l::Basic, m::Basic, theta::Basic, phi::Basic, star::Bool)
source
JenaAtomicCalculator.RacahAlgebra.YlmType

struct RacahAlgebra.Ylm ... defines a type for a spherical harmonic Y_lm (theta,phi) with symbolic arguments.

+ l, m                 ::Basic   ... angular momenta
+ theta, phi           ::Basic   ... polar and azimuthal angle
source
Base.:==Method

Base.:(==)(da::Djpq, db::Djpq) ... compares two (symbolic) small Wigner rotation matrices d^(j)_pq (beta) and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(ntga::Integral, ntgb::Integral) ... compares two (symbolic) integrals and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(wa::Kronecker, wb::Kronecker) ... compares two (symbolic) Kronecker deltas and return true if all subfields are equal under permutation, and false otherwise.

source
Base.:==Method

Base.:(==)(rexa::RacahExpression, rexb::RacahExpression) ... compares two (symbolic) Racah expressions and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(wa::Triangle, wb::Triangle) ... compares two (symbolic) Triangle deltas and return true if all subfields are equal under permutation, and false otherwise.

source
Base.:==Method

Base.:(==)(wa::W3j, wb::W3j) ... compares two (symbolic) Wigner 3-j symbols and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(wa::W6j, wb::W6j) ... compares two (symbolic) Wigner 6j symbols and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(wa::W9j, wb::W9j) ... compares two (symbolic) Wigner 6j symbols and return true if all subfields are equal, and false otherwise.

source
Base.:==Method

Base.:(==)(ya::Ylm, yb::Ylm) ... compares two (symbolic) spherical harmonics Y_lm (theta,phi) and return true if all subfields are equal, and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.ClebschGordanMethod

RacahAlgebra.ClebschGordan(ja::Basic, ma::Basic, jb::Basic, mb::Basic, jc::Basic, mc::Basic) ... returns the cg::RacahExpression for a standard Clebsch-Gordan coefficient either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.ClebschGordanExpansionMethod

RacahAlgebra.ClebschGordanExpansion(ja::Basic, ma::Basic, jb::Basic, mb::Basic, jc::Basic, mc::Basic) ... returns the expansion rex::RacahExpression for a standard Clebsch-Gordan expansion |jc, mc > = Sum(ma, mb) |ja, ma > |jb, mb > <ja ma, jb mb| jc mc> either by Julia Symbol's or SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.DFunctionMethod

RacahAlgebra.DFunction(j::Basic, p::Basic, q::Basic, alpha::Basic, beta::Basic, gamma::Basic) ... returns the rex::RacahExpression for a Wigner D-function D^(j)_pq (alpha, beta, gamma) by SymEngine Basic variables.

source
JenaAtomicCalculator.RacahAlgebra.equivalentFormMethod

RacahAlgebra.equivalentForm(rex::RacahAlgebra.RacahExpression; regge::Bool=false) ... generates an (random) equivalent form for the Racah expression rex by using either the classical (regge = false) or Regge symmetries (regge = true) for the Wigner 3j, 6j or 9j symbols. A rex:RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.equivalentFormMethod

RacahAlgebra.equivalentForm(w3j::RacahAlgebra.W3j; regge::Bool=false) ... generates an (random) equivalent form for the Wigner 3j symbol w3j by using either the classical (regge = false) or Regge symmetries (regge = true). A rex:RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.equivalentFormMethod

RacahAlgebra.equivalentForm(w6j::RacahAlgebra.W6j; regge::Bool=false) ... generates an (random) equivalent form for the Wigner 6j symbol w6j by using either the classical (regge = false) or Regge symmetries (regge = true). A rex:RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.equivalentFormMethod

RacahAlgebra.equivalentForm(w9j::RacahAlgebra.W9j; regge::Bool=false) ... generates an (random) equivalent form for the Wigner 9-j symbol w9j by using either the classical (regge = false) or Regge symmetries (regge = true). A rex:RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.evaluateMethod

RacahAlgebra.evaluate(leftCsq::RacahAlgebra.Csq, rightCsq::RacahAlgebra.Csq) ... evaluates a general recoupling coefficient that is defined by two coupling sequences. It first translates the coupling sequences into Racah expressions, i.e. into sums of Wigner 3-j symbols. A non-zero coefficient is obtained only if leftCsq.c == rightCsq.c, since re-coupling coefficients are diagonal in the 'last' angular momentum. A newrex::RacahExpression is returned once a (single) simplification has been found, and nothing otherwise. No attempt is presently made to find further simplications, once a rule has been applied.

source
JenaAtomicCalculator.RacahAlgebra.evaluateMethod

RacahAlgebra.evaluate(rex::RacahExpression; special::Bool=false) ... attempts to evaluate and symbolically simplify a Racah expression by means of special values, if special=true, or by sum rules. A newrex::RacahExpression is returned once a (single) simplification has been found, and nothing otherwise. No attempt is presently made to find further simplication, once a rule has been applied.

source
JenaAtomicCalculator.RacahAlgebra.evaluateNumericalMethod

RacahAlgebra.evaluateNumerical(rex::RacahExpression) ... attempts to evaluates a Racah expression numerically; it is supposed that the phase, weight and all angular momenta are given numerically. A newRex::RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, djpqs::Array{RacahAlgebra.Djpq,1}) ... returns true if no (symbolic) index from indexList occurs in the array djpqs and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, integrals::Array{RacahAlgebra.Integral,1}) ... returns true if no (symbolic) index from indexList occurs in the array integrals and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, deltas::Array{RacahAlgebra.Kronecker,1}) ... returns true if no (symbolic) index from indexList occurs in the array deltas and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, triangles::Array{RacahAlgebra.Triangle,1}) ... returns true if no (symbolic) index from indexList occurs in the array triangles and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, w3js::Array{RacahAlgebra.W3j,1}) ... returns true if no (symbolic) index from indexList occurs in the array w3js and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, w6js::Array{RacahAlgebra.W6j,1}) ... returns true if no (symbolic) index from indexList occurs in the array w6js and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, w9js::Array{RacahAlgebra.W9j,1}) ... returns true if no (symbolic) index from indexList occurs in the array w3js and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.hasNoVarsMethod

RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, ylms::Array{RacahAlgebra.Ylm,1}) ... returns true if no (symbolic) index from indexList occurs in the array ylms and false otherwise.

source
JenaAtomicCalculator.RacahAlgebra.integralRulesForOneYlmMethod

RacahAlgebra.integralRulesForOneYlm(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 3j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.removeIndexMethod

RacahAlgebra.removeIndex(indices::Array{SymEngine.Basic,1}, indexList::Array{SymEngine.Basic,1}) ... removes the indices from the given indexList; a newList::Array{SymEngine.Basic,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.rewriteCsqMethod

RacahAlgebra.rewriteCsq(csq::RacahAlgebra.Csq, ms::String) ... attempts to rewrite the coupling sequence csq as Racah expressions, i.e. as (sum of) products of Wigner 3-j symbols. A rex::RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.rewritePhaseMethod

RacahAlgebra.rewritePhase(rex::RacahExpression, zeroTerms::Array{SymEngine.Basic,1}; printout::Bool=false, from::String="Unspecified source") ... attempts to rewrite (and shorten) the phase by adding one or several 'zero' terms so that (i) no obsolete indices appear; (ii) the number of phase indices becomes smaller A modified Racah expression is returned if the re-writing was successful, and nothing is changed otherwise.

source
JenaAtomicCalculator.RacahAlgebra.rewritePhaseMethod

RacahAlgebra.rewritePhase(phase::Basic, zeroTerms::Array{SymEngine.Basic,1}, woIndex::Array{SymEngine.Basic,1}; printout::Bool=false, from::String="Unspecified source") ... attempts to rewrite the phase by adding one or several 'zero' terms so that it appears without the indices in woIndex. An equivalent newPhase::Basic either 'without' or 'with' the indicated indices is returned.

source
JenaAtomicCalculator.RacahAlgebra.selectRacahExpressionMethod

RacahAlgebra.selectRacahExpression(n::Int64) ... selects one of various pre-defined Racah expression as they often occur on the lhs of some sum rule; this function has been implemented mainly for test purposes. A rex::RacahExpression is returned. If n = 99, all pre-defined RacahExpression are printed to screen and nothing is returned in this case.

source
JenaAtomicCalculator.RacahAlgebra.selectRacahIntegralMethod

RacahAlgebra.selectRacahIntegral(n::Int64) ... selects one of various pre-defined Racah integrals as they often occur on the lhs of some sum/integration rule; this function has been implemented mainly for test purposes. A rex::RacahExpression is returned. If n = 99, all pre-defined RacahExpression are printed to screen and nothing is returned in this case.

source
JenaAtomicCalculator.RacahAlgebra.selectW3jMethod

RacahAlgebra.selectW3j(n::Int64) ... selects one of various pre-defined Wigner 3j symbols for which usually special values are known; this function has been implemented mainly for test purposes. A w3j::W3j is returned. If n = 99, all pre-defined Wigner 3j symbols are printed to screen and nothing is returned in this case.

source
JenaAtomicCalculator.RacahAlgebra.selectW6jMethod

RacahAlgebra.selectW6j(n::Int64) ... selects one of various pre-defined Wigner 6j symbols for which usually special values are known; this function has been implemented mainly for test purposes. A w6j::W6j is returned. If n = 99, all pre-defined Wigner 6j symbols are printed to screen and nothing is returned in this case.

source
JenaAtomicCalculator.RacahAlgebra.selectW9jMethod

RacahAlgebra.selectW9j(n::Int64) ... selects one of various pre-defined Wigner 9j symbols for which usually special values are known; this function has been implemented mainly for test purposes. A w9j::W9j is returned. If n = 99, all pre-defined Wigner 9j symbols are printed to screen and nothing is returned in this case.

source
JenaAtomicCalculator.RacahAlgebra.simplifyTrianglesMethod

RacahAlgebra.simplifyTriangles(rex::RacahExpression) ... simplifies the all Tringle deltas in rex; these triangles can be removed if the same condition is places by one of the Wigner symbols in rex. A new nrex::RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.specialValueMethod

RacahAlgebra.specialValue(w3j::RacahAlgebra.W3j) ... attempts to find a special value for the Wigner 3j symbol w3j. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned, and where istrue determined of whether a special value is returned in rex. For istrue = false, rex has no meaning.

source
JenaAtomicCalculator.RacahAlgebra.specialValueMethod

RacahAlgebra.specialValue(w6j::RacahAlgebra.W6j) ... attempts to find a special value for the Wigner 6-j symbol w6j. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned, and where istrue determined of whether a special value is returned in rex. For istrue = false, rex has no meaning.

source
JenaAtomicCalculator.RacahAlgebra.specialValueMethod

RacahAlgebra.specialValue(w9j::RacahAlgebra.W9j) ... attempts to find a special value for the Wigner 9-j symbol w9j. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned, and where istrue determined of whether a special value is returned in rex. For istrue = false, rex has no meaning.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(delta::RacahAlgebra.Kronecker, wold::Basic, wnew::Basic) ... substitutes in triangle all occasions of wold by wnew; a newDelta::RacahAlgebra.Kronecker is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(delta::RacahAlgebra.Kronecker, subList::Array{Pair{Symbol,Rational{Int64}},1}) ... substitutes in delta the symbols by the corresponding rational numbers in subList; a ww:Kronecker is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(rex::RacahAlgebra.RacahExpression, subList::Array{Pair{Symbol,Rational{Int64}},1}) ... substitutes in rex the symbols by the corresponding rational numbers in subList; a ww:RacahExpression is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(triangle::RacahAlgebra.Triangle, subList::Array{Pair{Symbol,Rational{Int64}},1}) ... substitutes in triangle the symbols by the corresponding rational numbers in subList; a ww:Triangle is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(djpqs::Array{RacahAlgebra.Djpq,1}, wold::Basic, wnew::Basic) ... substitutes in djpqs all occasions of wold by wnew; a newYlms::Array{RacahAlgebra.Djpq,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(integrals::Array{RacahAlgebra.Integral,1}, wold::Basic, wnew::Basic) ... substitutes in integrals all occasions of wold by wnew; a newIntegrals::Array{RacahAlgebra.Integral,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(deltas::Array{RacahAlgebra.Kronecker,1}, wold::Basic, wnew::Basic) ... substitutes in triangle all occasions of wold by wnew; a newDeltass::Array{RacahAlgebra.Kronecker,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(triangles::Array{RacahAlgebra.Triangle,1}, wold::Basic, wnew::Basic) ... substitutes in triangle all occasions of wold by wnew; a newTriangles::Array{RacahAlgebra.Triangle,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(w3js::Array{RacahAlgebra.W3j,1}, wold::Basic, wnew::Basic) ... substitutes in w3js all occasions of wold by wnew; a newW3js::Array{RacahAlgebra.W3j,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(w6js::Array{RacahAlgebra.W6j,1}, wold::Basic, wnew::Basic) ... substitutes in w6js all occasions of wold by wnew; a newW6js::Array{RacahAlgebra.W6j,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(w9js::Array{RacahAlgebra.W9j,1}, wold::Basic, wnew::Basic) ... substitutes in w9js all occasions of wold by wnew; a newW9js::Array{RacahAlgebra.W9j,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(ylms::Array{RacahAlgebra.Ylm,1}, wold::Basic, wnew::Basic) ... substitutes in ylms all occasions of wold by wnew; a newYlms::Array{RacahAlgebra.Ylm,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(w3j::RacahAlgebra.W3j, subList::Array{Pair{Symbol,Rational{Int64}},1}) ... substitutes in w3j the symbols by the corresponding rational numbers in subList; a ww:W3j is returned.

source
JenaAtomicCalculator.RacahAlgebra.subsMethod

RacahAlgebra.subs(w6j::RacahAlgebra.W6j, subList::Array{Pair{Symbol,Rational{Int64}},1}) ... substitutes in w6j the symbols by the corresponding rational numbers in subList; a ww:W6j is returned.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForFiveW3jMethod

RacahAlgebra.sumRulesForFiveW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for five Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForFourW3jMethod

RacahAlgebra.sumRulesForFourW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for four Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForFourW6jMethod

RacahAlgebra.sumRulesForFourW6j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for four Wigner 6j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW3jMethod

RacahAlgebra.sumRulesForOneW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 3j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jMethod

RacahAlgebra.sumRulesForOneW6j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 6-j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jOneW9jMethod

RacahAlgebra.sumRulesForOneW6jOneW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 6j and one 9j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jThreeW9jMethod

RacahAlgebra.sumRulesForOneW6jThreeW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for four Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jTwoW9jMethod

RacahAlgebra.sumRulesForOneW6jTwoW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW9jMethod

RacahAlgebra.sumRulesForOneW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 9-j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForSixW3jMethod

RacahAlgebra.sumRulesForSixW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for six Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW3jMethod

RacahAlgebra.sumRulesForThreeW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW6jMethod

RacahAlgebra.sumRulesForThreeW6j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW6jOneW9jMethod

RacahAlgebra.sumRulesForThreeW6jOneW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for four Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW9jMethod

RacahAlgebra.sumRulesForThreeW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW3jMethod

RacahAlgebra.sumRulesForTwoW3j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 3j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW3jOneW6jMethod

RacahAlgebra.sumRulesForTwoW3jOneW6j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6jMethod

RacahAlgebra.sumRulesForTwoW6j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for one Wigner 6-j symbol. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

                                                2
                                    ( X  Y  Z )
            Sum(X,Y,Z)  [X,Y,Z]  {(         )}    =    [a,b,c]
                                    ( a  b  c )
                
                
                            ( a  b  X )   ( c  d  X )        1
            Sum(X) [X]  {(         )} {(         )}  =   ---  d(p,q) d(a,d,p) d(b,c,p)
                            ( c  d  p )   ( a  b  q )       [p]
source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6jOneW9jMethod

RacahAlgebra.sumRulesForTwoW6jOneW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for three Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6jTwoW9jMethod

RacahAlgebra.sumRulesForTwoW6jTwoW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for four Wigner 3j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW9jMethod

RacahAlgebra.sumRulesForTwoW9j(rex::RacahAlgebra.RacahExpression) ... attempts to find a simplification of the given Racah expression by using sum rules for two Wigner 9j symbols. Once a simplification is found, no attempt is made to find another simplifcation for this set of rules. A (istrue, rex)::Tuple{Bool, RacahExpression} is returned but where rex has no meaning for !istrue.

source
JenaAtomicCalculator.RacahAlgebra.symmetricFormsMethod

RacahAlgebra.symmetricForms(djpq::RacahAlgebra.Djpq) ... generates a list of equivalent symmetric forms of the small rotation matrix djpq. There are 12 basic symmetric forms for a rotation matix, including the given one. A rexList:Array{RacahExpression,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.symmetricFormsMethod

RacahAlgebra.symmetricForms(w3j::RacahAlgebra.W3j; regge::Bool=false) ... generates a list of equivalent symmetric forms of the Wigner 3j symbol w3j. There are 12 basic symmetric forms for a 3j-symbol, including the given one, and 72 symmetries due to Regge, including the 12 classical ones. A rexList:Array{RacahExpression,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.symmetricFormsMethod

RacahAlgebra.symmetricForms(w6j::RacahAlgebra.W6j; regge::Bool=false) ... generates a list of equivalent symmetric forms of the Wigner 6j symbol w6j. There are 24 basic symmetric forms for a 6j-symbol, including the given one, and 144 symmetries due to Regge, including the 24 classical ones. A rexList:Array{RacahExpression,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.symmetricFormsMethod

RacahAlgebra.symmetricForms(w9j::RacahAlgebra.W9j; regge::Bool=false) ... generates a list of equivalent symmetric forms of the Wigner 9-j symbol w9j. There are 72 basic symmetric forms for a 9-j-symbol, including the given one. The keyword regge has no effect since no additional Regge symmetries are known for the Wigner 9-j symbols. A rexList:Array{RacahExpression,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.symmetricFormsMethod

RacahAlgebra.symmetricForms(ylm::RacahAlgebra.Ylm) ... generates a list of equivalent symmetric forms of the spherical harmonic ylm. There are 8 basic symmetric forms for a spherical harmonic, including the given one. A rexList:Array{RacahExpression,1} is returned.

source
JenaAtomicCalculator.RacahAlgebra.testIntegralRulesMethod

RacahAlgebra.testIntegralRules(; short::Bool=true) ... tests the implemented integral rules by just comparing comparing the number of integrals symbols; this does not include tests on the proper phase nor the algebraic factors of the Racah expression. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testRecursionsMethod

RacahAlgebra.testRecursions(; short::Bool=true) ... tests the implemented recursion by just comparing comparing the number of Wigner symbols; this does not include tests on the proper phase nor the algebraic factors of the Racah expression(s). The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesDjpqMethod

RacahAlgebra.testSpecialValuesDjpq(; short::Bool=true) ... tests the implemented special values of the small Wigner matrices by just comparing the number of these matrices, which must be 0 in all cases. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW3jMethod

RacahAlgebra.testSpecialValuesW3j(; short::Bool=true) ... tests the implemented special values of the Wigner 3j symbols by just comparing comparing the number of Wigner symbols, which must be 0 in all cases. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW6jMethod

RacahAlgebra.testSpecialValuesW6j(; short::Bool=true) ... tests the implemented special values of the Wigner 6j symbols by just comparing comparing the number of Wigner symbols, which must be 0 in all cases. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW9jMethod

RacahAlgebra.testSpecialValuesW9j(; short::Bool=true) ... tests the implemented special values of the Wigner 9j symbols by just comparing comparing the number of Wigner symbols, which must be 0 in all cases. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesYlmMethod

RacahAlgebra.testSpecialValuesYlm(; short::Bool=true) ... tests the implemented special values of the spherical harmonics by just comparing the number of spherical harmonics, which must be 0 in all cases. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.testSumRulesMethod

RacahAlgebra.testSumRules(; short::Bool=true) ... tests the implemented sum rules by just comparing comparing the number of Wigner symbols; this does not include tests on the proper phase nor the algebraic factors of the Racah expression. The success::Bool of these tests is returned.

source
JenaAtomicCalculator.RacahAlgebra.zeroPhasesMethod

RacahAlgebra.zeroPhases(rex::RacahAlgebra.RacahExpression) ... determines a number of phase terms that do not modify the overall phase of the given Racah expression but may allow to elimate certain variables as required for sum-rule evaluation; a phaseList::Basic[] is returned.

source