Racah algebra evaluations
JenaAtomicCalculator.RacahAlgebra.AbstractRecursionW3j
— Typeabstract 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
— Typestruct 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
— Typestruct 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
— Typestruct 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
JenaAtomicCalculator.RacahAlgebra.Djpq
— MethodRacahAlgebra.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
— Typestruct 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
JenaAtomicCalculator.RacahAlgebra.Kronecker
— Typestruct RacahAlgebra.Kronecker
... defines a type for a Kronecker delta symbol with symbolic arguments.
+ i, k ::Basic ... Kronecker indices
JenaAtomicCalculator.RacahAlgebra.Kronecker
— MethodRacahAlgebra.Kronecker(i::AngMomentum, k::AngMomentum)
... constructor for defining a Kronecker delta symbol either by Julia Symbol's or SymEngine Basic variables.
JenaAtomicCalculator.RacahAlgebra.RacahExpression
— Typestruct 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
JenaAtomicCalculator.RacahAlgebra.RacahExpression
— MethodRacahAlgebra.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
— MethodRacahAlgebra.RacahExpression()
... constructor for defining an empty RacahExpression.
JenaAtomicCalculator.RacahAlgebra.Triangle
— Typestruct RacahAlgebra.Triangle
... defines a type for a Triangle delta symbol with symbolic arguments.
+ ja, jb, jc ::Basic ... angular momenta in the Triangle delta
JenaAtomicCalculator.RacahAlgebra.Triangle
— MethodRacahAlgebra.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
— Typestruct 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
JenaAtomicCalculator.RacahAlgebra.W3j
— MethodRacahAlgebra.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
— Typestruct RacahAlgebra.W6j
... defines a type for a Wigner 6-j symbol with symbolic arguments.
+ a, b, c, d, e, f ::Basic ... angular momenta
JenaAtomicCalculator.RacahAlgebra.W6j
— MethodRacahAlgebra.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
— Typestruct RacahAlgebra.W9j
... defines a type for a Wigner 9j symbol with symbolic arguments.
+ a, b, c, d, e, f, g, h, i ::Basic ... angular momenta
JenaAtomicCalculator.RacahAlgebra.W9j
— MethodRacahAlgebra.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
— TypeRacahAlgebra.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
— Typestruct 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
Base.:==
— MethodBase.:(==)(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.
Base.:==
— MethodBase.:(==)(ntga::Integral, ntgb::Integral)
... compares two (symbolic) integrals and return true if all subfields are equal, and false otherwise.
Base.:==
— MethodBase.:(==)(wa::Kronecker, wb::Kronecker)
... compares two (symbolic) Kronecker deltas and return true if all subfields are equal under permutation, and false otherwise.
Base.:==
— MethodBase.:(==)(rexa::RacahExpression, rexb::RacahExpression)
... compares two (symbolic) Racah expressions and return true if all subfields are equal, and false otherwise.
Base.:==
— MethodBase.:(==)(wa::Triangle, wb::Triangle)
... compares two (symbolic) Triangle deltas and return true if all subfields are equal under permutation, and false otherwise.
Base.:==
— MethodBase.:(==)(wa::W3j, wb::W3j)
... compares two (symbolic) Wigner 3-j symbols and return true if all subfields are equal, and false otherwise.
Base.:==
— MethodBase.:(==)(wa::W6j, wb::W6j)
... compares two (symbolic) Wigner 6j symbols and return true if all subfields are equal, and false otherwise.
Base.:==
— MethodBase.:(==)(wa::W9j, wb::W9j)
... compares two (symbolic) Wigner 6j symbols and return true if all subfields are equal, and false otherwise.
Base.:==
— MethodBase.:(==)(ya::Ylm, yb::Ylm)
... compares two (symbolic) spherical harmonics Y_lm (theta,phi) and return true if all subfields are equal, and false otherwise.
JenaAtomicCalculator.RacahAlgebra.ClebschGordan
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.countWignerSymbols(rex::RacahExpression)
... counts the (total) number of Wigner nj symbols in rex. A nwnjs::Int64 is returned.
JenaAtomicCalculator.RacahAlgebra.equivalentForm
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.evaluate(djpq::Djpq)
... attempts to evaluate a symbolic (small) Wigner rotation matrix by means of special values.
JenaAtomicCalculator.RacahAlgebra.evaluate
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.evaluate(ylm::Ylm)
... attempts to evaluate a symbolic spherical harmonic by means of special values.
JenaAtomicCalculator.RacahAlgebra.evaluateNumerical
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.recursionW3j(ww::W3j, rule::AbstractRecursionW3j)
... applies a given recursion rules to w3j; an rexList::Array{RacahAlgebra.RacahExpression,1} is returned.
JenaAtomicCalculator.RacahAlgebra.removeIndex
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.removeIntegral(integral::Integral, integralList::Array{Integral,1})
... removes the index from the given indexList; a newList::Array{Integral,1} is returned.
JenaAtomicCalculator.RacahAlgebra.rewriteCsq
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.simplifyDeltas(rex::RacahExpression)
... simplifies the all Kronecker deltas in rex; a new nrex::RacahExpression is returned, typically with less summation indices.
JenaAtomicCalculator.RacahAlgebra.simplifyTriangles
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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
— MethodRacahAlgebra.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.