ARTS 2.5.0 (git: 9ee3ac6c)
legendre.cc File Reference

Contains the code to calculate Legendre polynomials. More...

#include <cmath>
#include <limits>
#include <numeric>
#include <sstream>
#include "constants.h"
#include "exceptions.h"
#include "legendre.h"
#include "math_funcs.h"

Go to the source code of this file.

Classes

struct  Legendre::ColatitudeConversion
 Converts latitude to co-latitude with a small distance from the poles and flags if this was activated. More...
 

Namespaces

namespace  Legendre
 

Functions

bool gsl_integration_glfixed_table_alloc (Vector &x, Vector &w, Index n)
 gsl_integration_glfixed_table_alloc More...
 
constexpr Numeric Legendre::longitude_clamp (const Numeric lon)
 Clamps the longitude in the range [-180, 180) More...
 
std::pair< Matrix, MatrixLegendre::schmidt (const Numeric theta, const Index nmax) ARTS_NOEXCEPT
 Returns the Schmidt normalized Lagrange polynominal and its derivative. More...
 
SphericalField Legendre::schmidt_fieldcalc (const Matrix &g, const Matrix &h, const Numeric r0, const Numeric r, const Numeric lat, const Numeric lon) ARTS_NOEXCEPT
 Computes the spherical field. More...
 
MatrixOfSphericalField Legendre::schmidt_fieldcalc (const Matrix &g, const Matrix &h, const Numeric r0, const Vector &r, const Numeric lat, const Vector &lon) ARTS_NOEXCEPT
 Computes the spherical field for many radius and longitudes. More...
 
std::array< Numeric, 3 > Legendre::to_geodetic (const std::array< Numeric, 3 > xyz, const std::array< Numeric, 2 > ell) noexcept
 Computes the altitude, latitude and longitude in relation to the ellopsiod using non-iterative method. More...
 

Detailed Description

Contains the code to calculate Legendre polynomials.

Author
Oliver Lemke
Date
2003-08-14

Definition in file legendre.cc.

Function Documentation

◆ gsl_integration_glfixed_table_alloc()

bool gsl_integration_glfixed_table_alloc ( Vector x,
Vector w,
Index  n 
)

gsl_integration_glfixed_table_alloc

This function determines the Gauss-Legendre abscissae and weights necessary for an n-point fixed order integration scheme. If possible, high precision precomputed coefficients are used. If precomputed weights are not available, lower precision coefficients are computed on the fly.

Code is taken from the GNU Scientific Library under GPLv3 license. Adapted to return ARTS datatypes.

Parameters
[out]xVector with Gauss-Legendre abscissae.
[out]wVector with Gauss-Legendre weights.
[in]nIntegration scheme order.
Returns
true if precomputed values have been used.
Author
Oliver Lemke
Date
2018-05-29

Definition at line 1940 of file legendre.cc.

References Vector::resize(), and w.

Referenced by AngularGridsSetFluxCalc().