Racah algebra evaluations
JenaAtomicCalculator.RacahAlgebra.AbstractRecursionW3j — Type
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.JenaAtomicCalculator.RacahAlgebra.AngMomentum — Type
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.
JenaAtomicCalculator.RacahAlgebra.Csq — Type
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.JenaAtomicCalculator.RacahAlgebra.Djpq — Type
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 angleJenaAtomicCalculator.RacahAlgebra.Djpq — Method
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.
JenaAtomicCalculator.RacahAlgebra.Integral — Type
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 boundJenaAtomicCalculator.RacahAlgebra.Kronecker — Type
struct RacahAlgebra.Kronecker ... defines a type for a Kronecker delta symbol with symbolic arguments.
+ i, k ::Basic ... Kronecker indicesJenaAtomicCalculator.RacahAlgebra.Kronecker — Method
RacahAlgebra.Kronecker(i::AngMomentum, k::AngMomentum) ... constructor for defining a Kronecker delta symbol either by Julia Symbol's or SymEngine Basic variables.
JenaAtomicCalculator.RacahAlgebra.RacahExpression — Type
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 matricesJenaAtomicCalculator.RacahAlgebra.RacahExpression — Method
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.JenaAtomicCalculator.RacahAlgebra.RacahExpression — Method
RacahAlgebra.RacahExpression() ... constructor for defining an empty RacahExpression.
JenaAtomicCalculator.RacahAlgebra.Triangle — Type
struct RacahAlgebra.Triangle ... defines a type for a Triangle delta symbol with symbolic arguments.
+ ja, jb, jc ::Basic ... angular momenta in the Triangle deltaJenaAtomicCalculator.RacahAlgebra.Triangle — Method
RacahAlgebra.Triangle(ja::AngMomentum, jb::AngMomentum, jc::AngMomentum) ... constructor for defining a Triangle delta symbol either by Julia Symbol's or SymEngine Basic variables.
JenaAtomicCalculator.RacahAlgebra.W3j — Type
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 aboveJenaAtomicCalculator.RacahAlgebra.W3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.W6j — Type
struct RacahAlgebra.W6j ... defines a type for a Wigner 6-j symbol with symbolic arguments.
+ a, b, c, d, e, f ::Basic ... angular momentaJenaAtomicCalculator.RacahAlgebra.W6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.W9j — Type
struct RacahAlgebra.W9j ... defines a type for a Wigner 9j symbol with symbolic arguments.
+ a, b, c, d, e, f, g, h, i ::Basic ... angular momentaJenaAtomicCalculator.RacahAlgebra.W9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.Ylm — Type
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)JenaAtomicCalculator.RacahAlgebra.Ylm — Type
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 angleJenaAtomicCalculator.RacahAlgebra.ClebschGordan — Method
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.
JenaAtomicCalculator.RacahAlgebra.ClebschGordanExpansion — Method
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.
JenaAtomicCalculator.RacahAlgebra.DFunction — Method
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.
JenaAtomicCalculator.RacahAlgebra.countWignerSymbols — Method
RacahAlgebra.countWignerSymbols(rex::RacahExpression) ... counts the (total) number of Wigner nj symbols in rex. A nwnjs::Int64 is returned.
JenaAtomicCalculator.RacahAlgebra.equivalentForm — Method
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.
JenaAtomicCalculator.RacahAlgebra.equivalentForm — Method
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.
JenaAtomicCalculator.RacahAlgebra.equivalentForm — Method
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.
JenaAtomicCalculator.RacahAlgebra.equivalentForm — Method
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.
JenaAtomicCalculator.RacahAlgebra.evaluate — Method
RacahAlgebra.evaluate(djpq::Djpq) ... attempts to evaluate a symbolic (small) Wigner rotation matrix by means of special values.
JenaAtomicCalculator.RacahAlgebra.evaluate — Method
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.
JenaAtomicCalculator.RacahAlgebra.evaluate — Method
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.
JenaAtomicCalculator.RacahAlgebra.evaluate — Method
RacahAlgebra.evaluate(wj::Union{W3j,W6j,W9j}) ... attempts to evaluate a symbolic Wigner 3j, 6j or 9j symbols by means of special values.
JenaAtomicCalculator.RacahAlgebra.evaluate — Method
RacahAlgebra.evaluate(ylm::Ylm) ... attempts to evaluate a symbolic spherical harmonic by means of special values.
JenaAtomicCalculator.RacahAlgebra.evaluateNumerical — Method
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.
JenaAtomicCalculator.RacahAlgebra.evaluateNumerical — Method
RacahAlgebra.evaluateNumerical(w3j::W3j) ... attempts to evaluates a Wigner 3-j symbol numerically; it is supposed that all angular momenta are given numerically. A wa::Float64 is returned.
JenaAtomicCalculator.RacahAlgebra.evaluateNumerical — Method
RacahAlgebra.evaluateNumerical(w6j::W6j) ... attempts to evaluates a Wigner 6-j symbol numerically; it is supposed that all angular momenta are given numerically. A wa::Float64 is returned.
JenaAtomicCalculator.RacahAlgebra.hasAllVars — Method
RacahAlgebra.hasAllVars(indexList::Array{SymEngine.Basic,1}, varList::Array{SymEngine.Basic,1}) ... returns true if all indices from indexList are in varList and false otherwise.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
RacahAlgebra.hasNoVars(indexList::Array{SymEngine.Basic,1}, expr::SymEngine.Basic) ... returns true if no (symbolic) index from indexList occurs in expression and false otherwise.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.hasNoVars — Method
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.
JenaAtomicCalculator.RacahAlgebra.integralRulesForOneYlm — Method
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.
JenaAtomicCalculator.RacahAlgebra.obsoletePhaseVars — Method
RacahAlgebra.obsoletePhaseVars(rex::RacahExpression) ... determines those angular-momentum variables in the phase that should be removed by proper zero-phase terms. A list of vars::Array{Basic,1} is returned.
JenaAtomicCalculator.RacahAlgebra.purifyPhase — Method
RacahAlgebra.purifyPhase(phase::SymEngine.Basic) ... purifies the phase so that all contributions of 'a' are in the range -a, a, 2a ,3a An equivalent newphase::SymEngine.Basic is returned.
JenaAtomicCalculator.RacahAlgebra.recursionW3j — Method
RacahAlgebra.recursionW3j(ww::W3j, rule::AbstractRecursionW3j) ... applies a given recursion rules to w3j; an rexList::Array{RacahAlgebra.RacahExpression,1} is returned.
JenaAtomicCalculator.RacahAlgebra.removeIndex — Method
RacahAlgebra.removeIndex(index::SymEngine.Basic, indexList::Array{SymEngine.Basic,1}) ... removes the index from the given indexList; a newList::Array{SymEngine.Basic,1} is returned.
JenaAtomicCalculator.RacahAlgebra.removeIndex — Method
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.
JenaAtomicCalculator.RacahAlgebra.removeIntegral — Method
RacahAlgebra.removeIntegral(integral::Integral, integralList::Array{Integral,1}) ... removes the index from the given indexList; a newList::Array{Integral,1} is returned.
JenaAtomicCalculator.RacahAlgebra.rewriteCsq — Method
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.
JenaAtomicCalculator.RacahAlgebra.rewritePhase — Method
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.
JenaAtomicCalculator.RacahAlgebra.rewritePhase — Method
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.
JenaAtomicCalculator.RacahAlgebra.selectRacahExpression — Method
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.
JenaAtomicCalculator.RacahAlgebra.selectRacahIntegral — Method
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.
JenaAtomicCalculator.RacahAlgebra.selectW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.selectW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.selectW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.simplifyDeltas — Method
RacahAlgebra.simplifyDeltas(rex::RacahExpression) ... simplifies the all Kronecker deltas in rex; a new nrex::RacahExpression is returned, typically with less summation indices.
JenaAtomicCalculator.RacahAlgebra.simplifyTriangles — Method
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.
JenaAtomicCalculator.RacahAlgebra.specialValue — Method
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.
JenaAtomicCalculator.RacahAlgebra.specialValue — Method
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.
JenaAtomicCalculator.RacahAlgebra.specialValue — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
RacahAlgebra.subs(delta::RacahAlgebra.Kronecker, wold::Basic, wnew::Basic) ... substitutes in triangle all occasions of wold by wnew; a newDelta::RacahAlgebra.Kronecker is returned.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
RacahAlgebra.subs(list::Array{Basic,1}, wold::Basic, wnew::Basic) ... substitutes in list all occasions of wold by wnew; a newList::Array{Basic,1} is returned.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.subs — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForFiveW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForFourW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForFourW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jOneW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jThreeW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW6jTwoW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForOneW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForSixW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW6jOneW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForThreeW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW3jOneW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6j — Method
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]JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6jOneW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW6jTwoW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.sumRulesForTwoW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.symmetricForms — Method
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.
JenaAtomicCalculator.RacahAlgebra.symmetricForms — Method
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.
JenaAtomicCalculator.RacahAlgebra.symmetricForms — Method
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.
JenaAtomicCalculator.RacahAlgebra.symmetricForms — Method
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.
JenaAtomicCalculator.RacahAlgebra.symmetricForms — Method
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.
JenaAtomicCalculator.RacahAlgebra.testIntegralRules — Method
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.
JenaAtomicCalculator.RacahAlgebra.testRecursions — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesDjpq — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW3j — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW6j — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesW9j — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSpecialValuesYlm — Method
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.
JenaAtomicCalculator.RacahAlgebra.testSumRules — Method
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.
JenaAtomicCalculator.RacahAlgebra.zeroPhases — Method
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.