 libdspl-2.0 Digital Signal Processing Algorithm Library
Elliptic Jacobi functions of the real and complex arguments.

## Functions

int DSPL_API ellip_acd (double *w, int n, double k, double *u)
Inverse Jacobi elliptic function of the real vector argument. More...

int DSPL_API ellip_acd_cmplx (complex_t *w, int n, double k, complex_t *u)
Inverse Jacobi elliptic function of complex vector argument. More...

int DSPL_API ellip_asn (double *w, int n, double k, double *u)
Inverse Jacobi elliptic function of real vector argument. More...

int DSPL_API ellip_asn_cmplx (complex_t *w, int n, double k, complex_t *u)
Inverse Jacobi elliptic function of complex vector argument. More...

int DSPL_API ellip_cd (double *u, int n, double k, double *y)
Jacobi elliptic function of real vector argument. More...

int DSPL_API ellip_cd_cmplx (complex_t *u, int n, double k, complex_t *y)
Jacobi elliptic function of complex vector argument. More...

int DSPL_API ellip_landen (double k, int n, double *y)
Function calculates complete elliptical integral coefficients . More...

int DSPL_API ellip_sn (double *u, int n, double k, double *y)
Jacobi elliptic function of real vector argument. More...

int DSPL_API ellip_sn_cmplx (complex_t *u, int n, double k, complex_t *y)
Jacobi elliptic function of complex vector argument. More...

## ◆ ellip_acd()

 int ellip_acd ( double * w, int n, double k, double * u )

Inverse Jacobi elliptic function of the real vector argument.

Function calculates inverse Jacobi elliptic function of the real vector w.

Parameters
 [in] w Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector w. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] u Pointer to the vector of inverse Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 103 of file ellipj.c.

## ◆ ellip_acd_cmplx()

 int ellip_acd_cmplx ( complex_t * w, int n, double k, complex_t * u )

Inverse Jacobi elliptic function of complex vector argument.

Function calculates inverse Jacobi elliptic function of complex vector w.

Parameters
 [in] w Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector w. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] u Pointer to the vector of inverse Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 211 of file ellipj.c.

## ◆ ellip_asn()

 int ellip_asn ( double * w, int n, double k, double * u )

Inverse Jacobi elliptic function of real vector argument.

Function calculates inverse Jacobi elliptic function of real vector w.

Parameters
 [in] w Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector w. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] u Pointer to the vector of inverse Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 339 of file ellipj.c.

## ◆ ellip_asn_cmplx()

 int ellip_asn_cmplx ( complex_t * w, int n, double k, complex_t * u )

Inverse Jacobi elliptic function of complex vector argument.

Function calculates inverse Jacobi elliptic function of complex vector w.

Parameters
 [in] w Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector w. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] u Pointer to the vector of inverse Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 447 of file ellipj.c.

Referenced by ellip_ap_zp().

## ◆ ellip_cd()

 int ellip_cd ( double * u, int n, double k, double * y )

Jacobi elliptic function of real vector argument.

Function calculates Jacobi elliptic function of real vector u and elliptical modulus k.

Parameters
 [in] u Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector u. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] y Pointer to the vector of Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 577 of file ellipj.c.

Referenced by ellip_ap_zp().

## ◆ ellip_cd_cmplx()

 int ellip_cd_cmplx ( complex_t * u, int n, double k, complex_t * y )

Jacobi elliptic function of complex vector argument.

Function calculates Jacobi elliptic function of complex vector u and elliptical modulus k.

Parameters
 [in] u Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector u. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] y Pointer to the vector of Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 684 of file ellipj.c.

Referenced by ellip_ap_zp().

## ◆ ellip_landen()

 int ellip_landen ( double k, int n, double * y )

Function calculates complete elliptical integral coefficients .

Complete elliptical integral can be described as: here – coefficients which calculated iterative from : This function calculates n fist coefficients , which can be used for Complete elliptical integral.

Parameters
 [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [in] n Number of which need to calculate. Parameter n is size of output vector y. [out] y pointer to the real vector which keep . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK – successful exit, else error code.
Example:
#include <stdio.h>
#include <stdlib.h>
#include "dspl.h"
#define N 14
int main()
{
void* handle; /* DSPL handle */
double k[N];
int i, err;
err = ellip_landen(0.93, N, k);
if(err != RES_OK)
{
printf("Error code: %8x\n", err);
return err;
}
printf(" i%8sk[i]\n\n", "");
for(i = 1; i < N; i++)
printf("%2d %11.3e\n", i, k[i]);
dspl_free(handle); /* free dspl handle */
return 0;
}

Result:

 i        k[i]

1    4.625e-01
2    6.009e-02
3    9.042e-04
4    2.044e-07
5    1.044e-14
6    2.727e-29
7    1.859e-58
8   8.640e-117
9   1.866e-233
10    0.000e+00
11    0.000e+00
12    0.000e+00
13    0.000e+00

Note
Complete elliptical integral converges enough fast if modulus . There are 10 to 20 coefficients ​​ are sufficient for practical applications to ensure complete elliptic integral precision within EPS.

Definition at line 872 of file ellipj.c.

## ◆ ellip_sn()

 int ellip_sn ( double * u, int n, double k, double * y )

Jacobi elliptic function of real vector argument.

Function calculates Jacobi elliptic function of real vector u and elliptical modulus k.

Parameters
 [in] u Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector u. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] y Pointer to the vector of Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 1074 of file ellipj.c.

## ◆ ellip_sn_cmplx()

 int ellip_sn_cmplx ( complex_t * u, int n, double k, complex_t * y )

Jacobi elliptic function of complex vector argument.

Function calculates Jacobi elliptic function of complex vector u and elliptical modulus k.

Parameters
 [in] u Pointer to the argument vector . Vector size is [n x 1]. Memory must be allocated. [in] n Size of vector u. [in] k Elliptical modulus . Elliptical modulus is real parameter, which values can be from 0 to 1. [out] y Pointer to the vector of Jacobi elliptic function . Vector size is [n x 1]. Memory must be allocated.
Returns
RES_OK successful exit, else error code.

Definition at line 1179 of file ellipj.c.

Referenced by ellip_ap_zp().

#define RES_OK
The function completed correctly. No errors.
Definition: dspl.h:497
int DSPL_API ellip_landen(double k, int n, double *y)
Function calculates complete elliptical integral coefficients .
Definition: ellipj.c:872