LEGENDRE(3pm)

πŸ“¦
version 2.085 Β· 4 versions
, in ubuntu noble

✨ LEGENDRE πŸ’« (PDL::GSLSF::LEGENDRE, from the 3pm Perl manual crew)

okay bestie, gather round 🫢 this is PDL::GSLSF::LEGENDRE β€” it's a PDL interface to GSL Special Functions, living in the User Contributed Perl Documentation section of the manual. slay.


πŸ’– DESCRIPTION πŸ’–

so basically? this is an interface to the Special Function package that lives inside the GNU Scientific Library (GSL). iconic behavior, no cap.


πŸ”₯ FUNCTIONS πŸ”₯

πŸŽ€ gsl_sf_legendre_Pl

Signature: (double x(); double [o]y(); double [o]e(); int l)

P_l(x) β€” that's the vibe πŸ’…

gsl_sf_legendre_Pl does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. noted, bestie πŸ“


πŸŽ€ gsl_sf_legendre_Pl_array

Signature: (double x(); double [o]y(num); int l=>num)

P_l(x) from 0 to n-1. like a little glow-up parade of Legendre polys ✨

gsl_sf_legendre_Pl_array does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_legendre_Ql

Signature: (double x(); double [o]y(); double [o]e(); int l)

Q_l(x) 🌸 (the other Legendre function, she's got range)

gsl_sf_legendre_Ql does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_legendre_Plm

Signature: (double x(); double [o]y(); double [o]e(); int l; int m)

P_lm(x) πŸ’œ

gsl_sf_legendre_Plm does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸ‘‘ gsl_sf_legendre_array

Signature: (double x(); double [o]y(n); double [t]work(wn); char norm;  int lmax; int csphase)

okay this one is the main character fr. It calculates all normalized associated Legendre polynomials 🌈

Example, bestie:

$Plm = gsl_sf_legendre_array($x,'P',4,-1);

The calculation is done for degree 0 <= l <= lmax and order 0 <= m <= l on the range abs(x)<=1. (yes, only in that range, don't be chaotic πŸ’€)

The parameter norm should be:

  • 'S' for Schmidt semi-normalized associated Legendre polynomials S_l^m(x),
  • 'Y' for spherical harmonic associated Legendre polynomials Y_l^m(x), or
  • 'N' for fully normalized associated Legendre polynomials N_l^m(x),
  • 'P' (or any other) for unnormalized associated Legendre polynomials P_l^m(x).

lmax is the maximum degree l. And csphase? She's a choice you gotta make:

  • (-1) to INCLUDE the Condon-Shortley phase factor (-1)^m, or
  • (+1) to EXCLUDE it.

See "gsl_sf_legendre_array_index" to get the value of l and m in the returned vector. iykyk πŸ”

gsl_sf_legendre_array processes bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. (she does the work, we love her)


πŸŽ€ gsl_sf_legendre_array_index

Signature: (int [o]l(n); int [o]m(n); int lmax)

Calculates the relation between the gsl_sf_legendre_array index and the l and m values πŸ”Žβœ¨

heads up bestie: this function is called differently than the corresponding GSL function, and that's on purpose β€” to make it more useful for PDL. here you just input the maximum l (lmax) that was used in "gsl_sf_legendre_array", and it calculates all the l and m values for you. convenient, right? πŸ’…

gsl_sf_legendre_array_index does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_legendre_sphPlm

Signature: (double x(); double [o]y(); double [o]e(); int l; int m)

P_lm(x), but normalized properly for use in spherical harmonics 🌐 so she's ready for the spherical harmonic moment, periodt.

gsl_sf_legendre_sphPlm does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_half

Signature: (double x(); double [o]y(); double [o]e(); double lambda)

Irregular Spherical Conical Function P^{1/2}_{-1/2 + I lambda}(x) πŸ¦‹ (she's irregular and she owns it)

gsl_sf_conicalP_half does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_mhalf

Signature: (double x(); double [o]y(); double [o]e(); double lambda)

Regular Spherical Conical Function P^{-1/2}_{-1/2 + I lambda}(x) ✨ (regular, reliable, the friend who always shows up)

gsl_sf_conicalP_mhalf does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_0

Signature: (double x(); double [o]y(); double [o]e(); double lambda)

Conical Function P^{0}_{-1/2 + I lambda}(x) πŸ“

gsl_sf_conicalP_0 does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_1

Signature: (double x(); double [o]y(); double [o]e(); double lambda)

Conical Function P^{1}_{-1/2 + I lambda}(x) πŸ’œ

gsl_sf_conicalP_1 does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_sph_reg

Signature: (double x(); double [o]y(); double [o]e(); int l; double lambda)

Regular Spherical Conical Function P^{-1/2-l}_{-1/2 + I lambda}(x) 🌸

gsl_sf_conicalP_sph_reg does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_conicalP_cyl_reg_e

Signature: (double x(); double [o]y(); double [o]e(); int m; double lambda)

Regular Cylindrical Conical Function P^{-m}_{-1/2 + I lambda}(x) 🧚

gsl_sf_conicalP_cyl_reg_e does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_legendre_H3d

Signature: (double [o]y(); double [o]e(); int l; double lambda; double eta)

The lth radial eigenfunction of the Laplacian on the 3-dimensional hyperbolic space 🌌 yeah. hyperbolic space. she's deep like that.

gsl_sf_legendre_H3d does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


πŸŽ€ gsl_sf_legendre_H3d_array

Signature: (double [o]y(num); int l=>num; double lambda; double eta)

Array of H3d(ell), for l from 0 to n-1 πŸ“šβœ¨ (the whole squad, in order)

gsl_sf_legendre_H3d_array does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.


🌟 AUTHOR 🌟

This file copyright (C) 1999 Christian Pellegrin <chri@infis.univ.trieste.it> All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file. πŸ“œ

The GSL SF modules were written by G. Jungman. πŸ‘‘


that's the whole page bestie, you ate πŸ’…πŸ’– and just so you know, this lovely doc comes to you from perl v5.38.2, dated 2024-04-10. go forth and legendre, periodt πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from