Engee documentation

FastTransforms.jl Documentation

Introduction

FastTransforms.jl allows the user to conveniently work with orthogonal polynomials with degrees well into the millions.

This package provides a Julia wrapper for the C library of the same name. Additionally, all three types of nonuniform fast Fourier transforms available, as well as the Padua transform.

Fast orthogonal polynomial transforms

For this documentation, please see the documentation for FastTransforms. Most transforms have separate forward and inverse plans. In some instances, however, the inverse is in the sense of least-squares, and therefore only the forward transform is planned.

Nonuniform fast Fourier transforms

Computes a nonuniform fast Fourier transform of type I:

Computes a 2D nonuniform fast Fourier transform of type I-I:

Computes a nonuniform fast Fourier transform of type II:

Computes a 2D nonuniform fast Fourier transform of type II-II:

Computes a nonuniform fast Fourier transform of type III:

Computes an inverse nonuniform fast Fourier transform of type I.

Computes an inverse nonuniform fast Fourier transform of type II.

Padua Transform maps from interpolant values at the Padua points to the 2D Chebyshev coefficients.

Inverse Padua Transform maps the 2D Chebyshev coefficients to the values of the interpolation polynomial at the Padua points.

Other Exported Methods

Calculates the Gaunt coefficients, defined by:

or defined by:

This is a Julia implementation of the stable recurrence described in:

Y.-l. Xu, Fast evaluation of Gaunt coefficients: recursive approach, J. Comp. Appl. Math., 85:53—​65, 1997.

Calculates the Gaunt coefficients in 64-bit floating-point arithmetic.

Returns coordinates of the Padua points.

Pointwise evaluation of real orthonormal spherical harmonic:

Internal Methods

Miscellaneous Special Functions

Compute a typed 0.5.

Compute a typed 2.

The Kronecker function:

The Lambda function for the ratio of gamma functions.

For 64-bit floating-point arithmetic, the Lambda function uses the asymptotic series for in Appendix B of

I.Bogaert and B. Michiels and J. Fostier, 𝒪(1) computation of Legendre polynomials and Gauss—​Legendre nodes and weights for parallel computing, SIAM J. Sci. Comput., 34:C83—​C101, 2012.

The Lambda function for the ratio of gamma functions.

The principal branch of the Lambert-W function, defined by , computed using Halley’s method for .

Pochhammer symbol for the rising factorial.

Stirling’s asymptotic series for .

Modified Chebyshev Moment-Based Quadrature

Compute nodes of the Clenshaw—​Curtis quadrature rule.

Compute weights of the Clenshaw—​Curtis quadrature rule with modified Chebyshev moments of the first kind .

Compute nodes of Fejer’s first quadrature rule.

Compute weights of Fejer’s first quadrature rule with modified Chebyshev moments of the first kind .

Compute nodes of Fejer’s second quadrature rule.

Compute weights of Fejer’s second quadrature rule with modified Chebyshev moments of the second kind .

Modified Chebyshev moments of the first kind:

Modified Chebyshev moments of the first kind with respect to the Jacobi weight:

Modified Chebyshev moments of the first kind with respect to the logarithmic weight:

Modified Chebyshev moments of the second kind:

Modified Chebyshev moments of the second kind with respect to the Jacobi weight:

Modified Chebyshev moments of the second kind with respect to the logarithmic weight:

Elliptic

FastTransforms submodule for the computation of some elliptic integrals and functions.

Complete elliptic integrals of the first and second kinds:

Jacobian elliptic functions:

and the remaining nine are defined by: