Classes | |
| class | Y |
| Class for spherical harmonic functions. More... | |
| class | Yre |
| Class for real spherical harmonic functions. More... | |
| class | Coeff< GReal_t > |
| Class for real spherical harmonic (Yre) expansion coefficients. More... | |
| class | Coeff< GComplex_t > |
| Class for complex spherical harmonic (Y) expansion coefficients. More... | |
| class | ScalarFieldMP< GReal_t > |
| Class for real scalar fields on sphere. More... | |
| class | ScalarFieldMP< GComplex_t > |
| Class for complex scalar fields on sphere. More... | |
Functions | |
| Coeff< GReal_t > | operator* (const GReal_t, const Yre &) |
| Tensor product of a number and an Yre. | |
| Coeff< GReal_t > | operator* (const Yre &, const GReal_t) |
| Coeff< GReal_t > | operator/ (const Yre &, const GReal_t) |
| Tensor quotient of a number and an Yre. | |
| Coeff< GReal_t > | operator* (const GReal_t, const Coeff< GReal_t > &) |
| Multiply a coefficient by a number. | |
| Coeff< GReal_t > | operator* (const Coeff< GReal_t > &, const GReal_t) |
| Coeff< GReal_t > | operator/ (const Coeff< GReal_t > &, const GReal_t) |
| Divide a coefficient by a number. | |
| Coeff< GReal_t > | operator- (const Yre &) |
| Negative of a coefficient. | |
| Coeff< GReal_t > | operator- (const Coeff< GReal_t > &) |
| Coeff< GComplex_t > | operator* (const GReal_t, const Y &) |
| Tensor product of a number and an Y. | |
| Coeff< GComplex_t > | operator* (const Y &, const GReal_t) |
| Coeff< GComplex_t > | operator* (const GComplex_t &, const Y &) |
| Coeff< GComplex_t > | operator* (const Y &, const GComplex_t &) |
| Coeff< GComplex_t > | operator/ (const Y &, const GReal_t) |
| Tensor quotient of a number and an Y. | |
| Coeff< GComplex_t > | operator/ (const Y &, const GComplex_t &) |
| Coeff< GComplex_t > | operator* (const GReal_t, const Coeff< GComplex_t > &) |
| Multiply a coefficient by a number. | |
| Coeff< GComplex_t > | operator* (const Coeff< GComplex_t > &, const GReal_t) |
| Coeff< GComplex_t > | operator* (const GComplex_t &, const Coeff< GComplex_t > &) |
| Coeff< GComplex_t > | operator* (const Coeff< GComplex_t > &, const GComplex_t &) |
| Coeff< GComplex_t > | operator/ (const Coeff< GComplex_t > &, const GReal_t) |
| Divide a coefficient by a number. | |
| Coeff< GComplex_t > | operator/ (const Coeff< GComplex_t > &, const GComplex_t &) |
| Coeff< GComplex_t > | operator- (const Y &) |
| Negative of a coefficient. | |
| Coeff< GComplex_t > | operator- (const Coeff< GComplex_t > &) |
| Coeff< GComplex_t > | conj (const Y &) |
| Complex conjugate a coefficient. | |
| Coeff< GComplex_t > | conj (const Coeff< GComplex_t > &) |
| GReal_t | YYY_coupling (const int l1, const int l2, const int l3, const int m1, const int m2, const int m3) |
The spherical harmonic function Gaunt coefficient calculator routine. | |
| unsigned int | YYY_coupling_size () |
| Show table size currently used in YYY_coupling. | |
| GReal_t | YreYreYre_coupling (const int l1, const int l2, const int l3, const int m1, const int m2, const int m3) |
| The same coupling for Yre basis. | |
| GComplex_t | YYreY_coupling (const int l1, const int l2, const int l3, const int m1, const int m2, const int m3) |
| Similar coupling for Y and Yre basis. | |
| GReal_t | intYl1ExpMIPhi (const int l) |
Calculation of . | |
| GReal_t | ExpPmIPhiYY_coupling (const int l1, const int m1, const int l2, const int sign) |
The overlap integrals . | |
| unsigned int | ExpPmIPhiYY_coupling_size () |
| Show table size currently used in ExpPmIPhiYY_coupling. | |
| GReal_t | intYl0 (const int l, const GReal_t theta) |
Calculation of . | |
| GReal_t | intBarYl1mYl2m (const int l1, const int l2, const int m, const GReal_t theta, tvector< tvector< tvector< GReal_t > > > *coeffstorage) |
Calculation of . | |
| GReal_t | SobolevConstantS2 (const int m) |
The minimal Sobolev constant in the inequality over the sphere: . | |
| GReal_t | tailSumS2 (const int mup, const int mu, const int L) |
The sum . | |
| ScalarFieldMP< GReal_t > | operator+ (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP<GReal_t> algebraic operators. | |
| ScalarFieldMP< GReal_t > | operator- (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GReal_t > | operator- (const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GReal_t > | operator* (const ScalarFieldMP< GReal_t > &, const GReal_t) |
| ScalarFieldMP< GReal_t > | operator* (const GReal_t, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GReal_t > | operator* (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GReal_t > | operator/ (const ScalarFieldMP< GReal_t > &, const GReal_t) |
| GReal_t | L2S2 (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GReal_t > &) |
| L^2 scalarproduct of two fields on sphere. | |
| GReal_t | H2S2 (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GReal_t > &, const int mu) |
Sobolev scalarproduct of two fields on sphere. | |
| ScalarFieldMP< GReal_t > | reflect (const ScalarFieldMP< GReal_t > &) |
| Reflect with respect to origin (parity operator). | |
| ScalarFieldMP< GReal_t > | mulCosTheta (const ScalarFieldMP< GReal_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GReal_t > | mulCosThetaSqr (const ScalarFieldMP< GReal_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GReal_t > | mulSinThetaSqr (const ScalarFieldMP< GReal_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GReal_t > | partial_phi (const ScalarFieldMP< GReal_t > &) |
derivative on sphere for real scalar field. | |
| ScalarFieldMP< GReal_t > | Sqr_partial_phi (const ScalarFieldMP< GReal_t > &) |
Second derivative on sphere for real scalar field. | |
| ScalarFieldMP< GReal_t > | sinTheta_partial_theta (const ScalarFieldMP< GReal_t > &) |
derivative on sphere for real scalar field. | |
| ScalarFieldMP< GReal_t > | partial_x (const ScalarFieldMP< GReal_t > &) |
( derivative on sphere for real scalar field. | |
| ScalarFieldMP< GReal_t > | LaplaceS2 (const ScalarFieldMP< GReal_t > &) |
| Laplace operator on unit sphere for real scalar field. | |
| GReal_t | normBoundNeumann (const GReal_t a00, const GReal_t H2S2aa) |
Upper estimate of the norm of a real field for Neumann series expansion. | |
| GReal_t | optimalScalingNeumann (const GReal_t a00, const GReal_t H2S2aa) |
Scaling factor , with which is minimized for a real field on sphere. | |
| ScalarFieldMP< GReal_t > | divideByNeumann (const ScalarFieldMP< GReal_t > &a, const ScalarFieldMP< GReal_t > &f, const GReal_t norm, const GReal_t errortolerance) |
| Division of a real field by a real field, using Neumann series. | |
| GReal_t | tailErrorBoundS2 (const ScalarFieldMP< GReal_t > &, const int mup, const int mu, int *lmax, int *mmax) |
An upper bound for the tail sum in norm, assuming that the field is in the space . | |
| ScalarFieldMP< GComplex_t > | operator+ (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP<GComplex_t> algebraic operators. | |
| ScalarFieldMP< GComplex_t > | operator+ (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GComplex_t > | operator+ (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator- (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator- (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GComplex_t > | operator- (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator- (const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GComplex_t > &, const GReal_t) |
| ScalarFieldMP< GComplex_t > | operator* (const GReal_t, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GComplex_t > &, const GComplex_t &) |
| ScalarFieldMP< GComplex_t > | operator* (const GComplex_t &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GReal_t > &, const GComplex_t &) |
| ScalarFieldMP< GComplex_t > | operator* (const GComplex_t &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GReal_t > &) |
| ScalarFieldMP< GComplex_t > | operator* (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GComplex_t > &) |
| ScalarFieldMP< GComplex_t > | operator/ (const ScalarFieldMP< GComplex_t > &, const GReal_t) |
| ScalarFieldMP< GComplex_t > | operator/ (const ScalarFieldMP< GComplex_t > &, const GComplex_t &) |
| ScalarFieldMP< GComplex_t > | operator/ (const ScalarFieldMP< GReal_t > &, const GComplex_t &) |
| ScalarFieldMP< GComplex_t > | conj (const ScalarFieldMP< GComplex_t > &) |
| Complex conjugate a scalarfield on sphere. | |
| ScalarFieldMP< GReal_t > | real (const ScalarFieldMP< GComplex_t > &) |
| Real part of a scalarfield on sphere. | |
| ScalarFieldMP< GReal_t > | imag (const ScalarFieldMP< GComplex_t > &) |
| Imaginary part of a scalarfield on sphere. | |
| GComplex_t | L2S2 (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GReal_t > &) |
| L^2 scalarproduct of fields. | |
| GComplex_t | L2S2 (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GComplex_t > &) |
| GComplex_t | L2S2 (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &) |
| GComplex_t | H2S2 (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GReal_t > &, const int mu) |
Sobolev scalarproduct of two fields on sphere. | |
| GComplex_t | H2S2 (const ScalarFieldMP< GReal_t > &, const ScalarFieldMP< GComplex_t > &, const int mu) |
| GComplex_t | H2S2 (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &, const int mu) |
| GComplex_t | L2S2limited (const ScalarFieldMP< GComplex_t > &, const ScalarFieldMP< GComplex_t > &, const GReal_t theta, tvector< tvector< tvector< GReal_t > > > *coeffstorage) |
scalarproduct of fields, with limited integration domain to . | |
| ScalarFieldMP< GComplex_t > | reflect (const ScalarFieldMP< GComplex_t > &) |
| Reflect with respect to origin (parity operator). | |
| ScalarFieldMP< GComplex_t > | stepping (const ScalarFieldMP< GComplex_t > &, const int upOrDown) |
| Stepping up and down operators. | |
| ScalarFieldMP< GComplex_t > | mulCosTheta (const ScalarFieldMP< GComplex_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GComplex_t > | mulCosThetaSqr (const ScalarFieldMP< GComplex_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GComplex_t > | mulSinThetaSqr (const ScalarFieldMP< GComplex_t > &) |
Multiplication operator by . | |
| ScalarFieldMP< GComplex_t > | mulExpPmIPhi (const ScalarFieldMP< GComplex_t > &, const int sign) |
Multiplication operator by . | |
| ScalarFieldMP< GComplex_t > | partial_phi (const ScalarFieldMP< GComplex_t > &) |
derivative on sphere for complex scalar field. | |
| ScalarFieldMP< GComplex_t > | Sqr_partial_phi (const ScalarFieldMP< GComplex_t > &) |
Second derivative on sphere for complex scalar field. | |
| ScalarFieldMP< GComplex_t > | sinTheta_partial_theta (const ScalarFieldMP< GComplex_t > &) |
derivative on sphere for complex scalar field. | |
| ScalarFieldMP< GComplex_t > | partial_theta (const ScalarFieldMP< GComplex_t > &) |
derivative on sphere for complex field. | |
| ScalarFieldMP< GComplex_t > | partial_x (const ScalarFieldMP< GComplex_t > &) |
derivative on sphere for complex scalar field. | |
| ScalarFieldMP< GComplex_t > | LaplaceS2 (const ScalarFieldMP< GComplex_t > &) |
| Laplace operator on unit sphere for complex scalar field. | |
| GReal_t | normBoundNeumann (const GComplex_t &a00, const GComplex_t &H2S2aa) |
Upper estimate of the norm of a complex field for Neumann series. | |
| GComplex_t | optimalScalingNeumann (const GComplex_t &a00, const GComplex_t &H2S2aa) |
Scaling factor , with which is minimized for a complex field $A$ on sphere. | |
| ScalarFieldMP< GComplex_t > | divideByNeumann (const ScalarFieldMP< GComplex_t > &a, const ScalarFieldMP< GReal_t > &f, const GReal_t norm, const GReal_t errortolerance) |
| Division of a complex field by a complex field, using Neumann series. | |
| ScalarFieldMP< GComplex_t > | divideByNeumann (const ScalarFieldMP< GReal_t > &a, const ScalarFieldMP< GComplex_t > &f, const GReal_t norm, const GReal_t errortolerance) |
| ScalarFieldMP< GComplex_t > | divideByNeumann (const ScalarFieldMP< GComplex_t > &a, const ScalarFieldMP< GComplex_t > &f, const GReal_t norm, const GReal_t errortolerance) |
| GReal_t | tailErrorBoundS2 (const ScalarFieldMP< GComplex_t > &a, const int mup, const int mu, int *lmax, int *mmax) |
An upper bound for the tail sum in the norm, assuming that the field is in the space . | |
| void | maxEval (const unsigned int) |
| Integration error tolerance parameters for functional field expansion by AGM routine. | |
| unsigned int | maxEval () |
| void | reqAbsError (const GReal_t) |
| GReal_t | reqAbsError () |
| void | reqRelError (const GReal_t) |
| GReal_t | reqRelError () |
Variables | |
| const int | SobolevOrderS2 = 1000000 |
| Maximal series expansion order for the numerical calculation of Sobolev related constants over the sphere. | |
| ScalarFieldMP<GComplex_t> gridripper::multipole::conj | ( | const ScalarFieldMP< GComplex_t > & | ) |
Complex conjugate a scalarfield on sphere.
Based on:
.
| Coeff<GComplex_t> gridripper::multipole::conj | ( | const Y & | ) |
Complex conjugate a coefficient.
| ScalarFieldMP<GComplex_t> gridripper::multipole::divideByNeumann | ( | const ScalarFieldMP< GComplex_t > & | a, | |
| const ScalarFieldMP< GReal_t > & | f, | |||
| const GReal_t | norm, | |||
| const GReal_t | errortolerance | |||
| ) |
Division of a complex field by a complex field, using Neumann series.
Based on:
, where
is the identity operator and
is such an operator that
. Specially, if
is continuous, then it is absolute convergent if and only if
, furthermore
. If
is a multiplication by a measurable function
, then equality holds instead of inequality, and
.
| a | : the field, which is in the nominator | |
| f | : the field to be divided | |
| norm | : an estimate for the essential supremum of | |
| tolerance | : an error tolarance |
| ScalarFieldMP<GReal_t> gridripper::multipole::divideByNeumann | ( | const ScalarFieldMP< GReal_t > & | a, | |
| const ScalarFieldMP< GReal_t > & | f, | |||
| const GReal_t | norm, | |||
| const GReal_t | errortolerance | |||
| ) |
Division of a real field by a real field, using Neumann series.
Based on: same rule as for complex.
| GReal_t gridripper::multipole::ExpPmIPhiYY_coupling | ( | const int | l1, | |
| const int | m1, | |||
| const int | l2, | |||
| const int | sign | |||
| ) |
The overlap integrals
.
Based on: idea from J. Phys. A31 (1998) 1101, and J. Phys. A32 (1999) 2601, and J. Phys. A35 (2002) 4187. Namely, on expanding of products of Y-s by Gaunt coefficients
.
. This quantity is zero for: 1)
or
, 2)
or
, 3)
even.
Numerically verified using a Maple code.
| unsigned int gridripper::multipole::ExpPmIPhiYY_coupling_size | ( | ) |
Show table size currently used in ExpPmIPhiYY_coupling.
| ScalarFieldMP<GReal_t> gridripper::multipole::imag | ( | const ScalarFieldMP< GComplex_t > & | ) |
Imaginary part of a scalarfield on sphere.
| GReal_t gridripper::multipole::intBarYl1mYl2m | ( | const int | l1, | |
| const int | l2, | |||
| const int | m, | |||
| const GReal_t | theta, | |||
| tvector< tvector< tvector< GReal_t > > > * | coeffstorage | |||
| ) |
Calculation of
.
Based on: expansion of
product by using Gaunt coefficients. Result:
,
being the Gaunt coefficients.
To avoid expensive evaluation, a table is stored (appended) to 'coeffstorage'. Initially should be empty, and should be different for every '
'. If the pointer to 'coeffstorage' is NULL, the coefficients are not stored, but calculated each time.
Numerically verified using Maple.
| GReal_t gridripper::multipole::intYl0 | ( | const int | l, | |
| const GReal_t | theta | |||
| ) |
Calculation of
.
Based on:
(from Journal of Modern Optics 36 (1989) 685, but may be easily verified from Rodriguez formula). Result is:
.
Numerically verified using Maple.
| GReal_t gridripper::multipole::intYl1ExpMIPhi | ( | const int | l | ) |
Calculation of
.
Based on: formula in J. Phys. A32 (1999) 2601. Namely:
delivers final result (which is zero for even
). Thus:
delivers final result (which is zero for even
).
Numerically verified using a Maple and Mathematica code.
| GComplex_t gridripper::multipole::L2S2 | ( | const ScalarFieldMP< GComplex_t > & | , | |
| const ScalarFieldMP< GReal_t > & | ||||
| ) |
L^2 scalarproduct of fields.
Based on:
.
| GReal_t gridripper::multipole::L2S2 | ( | const ScalarFieldMP< GReal_t > & | , | |
| const ScalarFieldMP< GReal_t > & | ||||
| ) |
L^2 scalarproduct of two fields on sphere.
Based on:
.
| GComplex_t gridripper::multipole::L2S2limited | ( | const ScalarFieldMP< GComplex_t > & | , | |
| const ScalarFieldMP< GComplex_t > & | , | |||
| const GReal_t | theta, | |||
| tvector< tvector< tvector< GReal_t > > > * | coeffstorage | |||
| ) |
scalarproduct of fields, with limited integration domain to
.
Based on the Gaunt expansion of spherical harmonic products. (See Gaunt.h and Gaunt.cxx.) The necessary coefficient matrix is stored (appended) to 'coeffstorage', for a given '
'. Should be empty initially for a given '
'. If the pointer to 'coeffstorage' is NULL, the coefficient matrix is not stored in table, but calculated every time.
| ScalarFieldMP<GComplex_t> gridripper::multipole::LaplaceS2 | ( | const ScalarFieldMP< GComplex_t > & | ) |
Laplace operator on unit sphere for complex scalar field.
Based on:
.
| ScalarFieldMP<GReal_t> gridripper::multipole::LaplaceS2 | ( | const ScalarFieldMP< GReal_t > & | ) |
Laplace operator on unit sphere for real scalar field.
Based on:
.
| ScalarFieldMP<GComplex_t> gridripper::multipole::mulCosTheta | ( | const ScalarFieldMP< GComplex_t > & | ) |
Multiplication operator by
.
Based on:
. Numerically verified by a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::mulCosTheta | ( | const ScalarFieldMP< GReal_t > & | ) |
Multiplication operator by
.
Based on the rule for Y basis. Numerically verified using a C++ code.
| ScalarFieldMP<GComplex_t> gridripper::multipole::mulCosThetaSqr | ( | const ScalarFieldMP< GComplex_t > & | ) |
Multiplication operator by
.
Based on:
. Numerically verified by a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::mulCosThetaSqr | ( | const ScalarFieldMP< GReal_t > & | ) |
Multiplication operator by
.
Based on the rule for Y basis. Numerically verified using a C++ code.
| ScalarFieldMP<GComplex_t> gridripper::multipole::mulExpPmIPhi | ( | const ScalarFieldMP< GComplex_t > & | , | |
| const int | sign | |||
| ) |
Multiplication operator by
.
Based on: matrix elements is Gaunt.h, Gaunt.cxx. Numerically verified by a Maple code.
| ScalarFieldMP<GComplex_t> gridripper::multipole::mulSinThetaSqr | ( | const ScalarFieldMP< GComplex_t > & | ) |
Multiplication operator by
.
Based on:
. Numerically verified by a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::mulSinThetaSqr | ( | const ScalarFieldMP< GReal_t > & | ) |
Multiplication operator by
.
Based on:
. Numerically verified using a C++ code.
| GReal_t gridripper::multipole::normBoundNeumann | ( | const GComplex_t & | a00, | |
| const GComplex_t & | H2S2aa | |||
| ) |
Upper estimate of the
norm of
a complex field for Neumann series.
Based on: the Sobolev inequality, namely
.
| a00 | : the (0, 0) multipole component of the field | |
| H2S2aa | : the scalar product |
| GReal_t gridripper::multipole::normBoundNeumann | ( | const GReal_t | a00, | |
| const GReal_t | H2S2aa | |||
| ) |
Upper estimate of the
norm of
a real field for Neumann series expansion.
Based on: the
Sobolev inequality, namely
.
| a00 | : the (0, 0) multipole component of the field | |
| H2S2aa | : the scalar product |
| Coeff<GComplex_t> gridripper::multipole::operator* | ( | const | GReal_t, | |
| const Coeff< GComplex_t > & | ||||
| ) |
Multiply a coefficient by a number.
| Coeff<GComplex_t> gridripper::multipole::operator* | ( | const | GReal_t, | |
| const Y & | ||||
| ) |
Tensor product of a number and an Y.
| Coeff<GReal_t> gridripper::multipole::operator* | ( | const | GReal_t, | |
| const Coeff< GReal_t > & | ||||
| ) |
Multiply a coefficient by a number.
| Coeff<GReal_t> gridripper::multipole::operator* | ( | const | GReal_t, | |
| const Yre & | ||||
| ) |
Tensor product of a number and an Yre.
| ScalarFieldMP<GComplex_t> gridripper::multipole::operator+ | ( | const ScalarFieldMP< GComplex_t > & | , | |
| const ScalarFieldMP< GComplex_t > & | ||||
| ) |
ScalarFieldMP<GComplex_t> algebraic operators.
| ScalarFieldMP<GReal_t> gridripper::multipole::operator+ | ( | const ScalarFieldMP< GReal_t > & | , | |
| const ScalarFieldMP< GReal_t > & | ||||
| ) |
ScalarFieldMP<GReal_t> algebraic operators.
| Coeff<GComplex_t> gridripper::multipole::operator- | ( | const Y & | ) |
Negative of a coefficient.
| Coeff<GReal_t> gridripper::multipole::operator- | ( | const Yre & | ) |
Negative of a coefficient.
| Coeff<GComplex_t> gridripper::multipole::operator/ | ( | const Coeff< GComplex_t > & | , | |
| const | GReal_t | |||
| ) |
Divide a coefficient by a number.
| Coeff<GComplex_t> gridripper::multipole::operator/ | ( | const Y & | , | |
| const | GReal_t | |||
| ) |
Tensor quotient of a number and an Y.
| Coeff<GReal_t> gridripper::multipole::operator/ | ( | const Coeff< GReal_t > & | , | |
| const | GReal_t | |||
| ) |
Divide a coefficient by a number.
| Coeff<GReal_t> gridripper::multipole::operator/ | ( | const Yre & | , | |
| const | GReal_t | |||
| ) |
Tensor quotient of a number and an Yre.
| GComplex_t gridripper::multipole::optimalScalingNeumann | ( | const GComplex_t & | a00, | |
| const GComplex_t & | H2S2aa | |||
| ) |
Scaling factor
, with which
is minimized for a complex field $A$ on sphere.
It is:
.
| a00 | : the (0, 0) multipole component of the field | |
| H2S2aa | : the scalar product |
| GReal_t gridripper::multipole::optimalScalingNeumann | ( | const GReal_t | a00, | |
| const GReal_t | H2S2aa | |||
| ) |
Scaling factor
, with which
is minimized for a real field
on sphere.
It is:
.
| a00 | : the (0, 0) multipole component of the field | |
| H2S2aa | : the scalar product |
| ScalarFieldMP<GComplex_t> gridripper::multipole::partial_phi | ( | const ScalarFieldMP< GComplex_t > & | ) |
derivative on sphere for complex scalar field.
Based on:
.
| ScalarFieldMP<GReal_t> gridripper::multipole::partial_phi | ( | const ScalarFieldMP< GReal_t > & | ) |
derivative on sphere for real scalar field.
Based on:
.
| ScalarFieldMP<GComplex_t> gridripper::multipole::partial_theta | ( | const ScalarFieldMP< GComplex_t > & | ) |
derivative on sphere for complex field.
Based on the stepping operators and on the matrix elements of the multiplication operator by
(Gaunt.h and Gaunt.cxx). Numerically verified by a Maple code.
| ScalarFieldMP<GComplex_t> gridripper::multipole::partial_x | ( | const ScalarFieldMP< GComplex_t > & | ) |
derivative on sphere for complex scalar field.
('
'-derivative,
.) From Journal of Modern Optics 36 (1989) 685:
(easily verified from Rodriguez formula). Thus:
. Thus:
. Not implemented for
. Not even all
is in its domain in the
sense. Numerically verified using a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::partial_x | ( | const ScalarFieldMP< GReal_t > & | ) |
(
derivative on sphere for real scalar field.
('
'-derivative,
.) Based on the rule for Y basis. Not implemented for
. Not even all
is in its domain in the L^2 sense if
. Numerically verified using a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::real | ( | const ScalarFieldMP< GComplex_t > & | ) |
Real part of a scalarfield on sphere.
| ScalarFieldMP<GComplex_t> gridripper::multipole::reflect | ( | const ScalarFieldMP< GComplex_t > & | ) |
Reflect with respect to origin (parity operator).
Based on:
.
| ScalarFieldMP<GReal_t> gridripper::multipole::reflect | ( | const ScalarFieldMP< GReal_t > & | ) |
Reflect with respect to origin (parity operator).
Based on:
.
| ScalarFieldMP<GComplex_t> gridripper::multipole::sinTheta_partial_theta | ( | const ScalarFieldMP< GComplex_t > & | ) |
derivative on sphere for complex scalar field.
Based on:
. Numerically verified using a C++ code.
| ScalarFieldMP<GReal_t> gridripper::multipole::sinTheta_partial_theta | ( | const ScalarFieldMP< GReal_t > & | ) |
derivative on sphere for real scalar field.
Based on the rule for Y basis. Numerically verified using a C++ code.
| GReal_t gridripper::multipole::SobolevConstantS2 | ( | const int | m | ) |
The minimal Sobolev constant in the inequality over the sphere:
.
It is the sum
.
| ScalarFieldMP<GComplex_t> gridripper::multipole::Sqr_partial_phi | ( | const ScalarFieldMP< GComplex_t > & | ) |
Second
derivative on sphere for complex scalar field.
Based on:
.
| ScalarFieldMP<GReal_t> gridripper::multipole::Sqr_partial_phi | ( | const ScalarFieldMP< GReal_t > & | ) |
Second
derivative on sphere for real scalar field.
Based on:
.
| ScalarFieldMP<GComplex_t> gridripper::multipole::stepping | ( | const ScalarFieldMP< GComplex_t > & | , | |
| const int | upOrDown | |||
| ) |
Stepping up and down operators.
Based on:
(stepping up,
operator).
(stepping down,
operator).
Numerically verified using a C++ code.
| GReal_t gridripper::multipole::tailErrorBoundS2 | ( | const ScalarFieldMP< GComplex_t > & | a, | |
| const int | mup, | |||
| const int | mu, | |||
| int * | lmax, | |||
| int * | mmax | |||
| ) |
An upper bound for the tail sum in the
norm, assuming that the field is in the space
.
In this case, its multipole coefficients may be bound by the sequence
. By adjusting
to the stored coefficients, and by summing up the tail of this bound in the
norm, one gets an upper estimate for the
norm of the tail error.
| GReal_t gridripper::multipole::tailErrorBoundS2 | ( | const ScalarFieldMP< GReal_t > & | , | |
| const int | mup, | |||
| const int | mu, | |||
| int * | lmax, | |||
| int * | mmax | |||
| ) |
An upper bound for the tail sum in
norm, assuming that the field is in the space
.
Based on: same rule for complex.
| GReal_t gridripper::multipole::YreYreYre_coupling | ( | const int | l1, | |
| const int | l2, | |||
| const int | l3, | |||
| const int | m1, | |||
| const int | m2, | |||
| const int | m3 | |||
| ) |
The same coupling for Yre basis.
They are real valued as Yre -s are real valued. Zero if not: 1)
and
and
, and 2)
and
and
, and 3)
and
, and 4) only zero or two of the
are negative, and 5)
. See Bases.h for definition of Yre basis.
Not tested numerically. Not used so far in multiplication operator.
| GComplex_t gridripper::multipole::YYreY_coupling | ( | const int | l1, | |
| const int | l2, | |||
| const int | l3, | |||
| const int | m1, | |||
| const int | m2, | |||
| const int | m3 | |||
| ) |
| GReal_t gridripper::multipole::YYY_coupling | ( | const int | l1, | |
| const int | l2, | |||
| const int | l3, | |||
| const int | m1, | |||
| const int | m2, | |||
| const int | m3 | |||
| ) |
The
spherical harmonic function Gaunt coefficient calculator routine.
Zero if not: 1)
and
and
, and 2)
and
and
, and 3)
and
, and 4)
, and 5)
. Thus, by 4), they are real valued, which is not obvious otherwise. See Bases.h for definition of Y basis.
Numerically verified using Maple.
| unsigned int gridripper::multipole::YYY_coupling_size | ( | ) |
Show table size currently used in YYY_coupling.
1.5.6