/*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_acd(double* w, int n, double k, double* u) \brief Обратная эллиптическая функция Якоби \f$ u = \textrm{cd}^{-1}(w, k)\f$ вещественного аргумента Функция рассчитывает занчения значения обратной эллиптической функции \f$ u = \textrm{cd}^{-1}(w, k)\f$ для вещественного вектора `w`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] w Указатель на массив вектора переменной \f$ w \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `w`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] u Указатель на вектор значений обратной эллиптической функции \f$ u = \textrm{cd}^{-1}(w, k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_acd_cmplx(complex_t* w, int n, double k, complex_t* u) \brief Обратная эллиптическая функция Якоби \f$ u = \textrm{cd}^{-1}(w, k)\f$ комплексного аргумента Функция рассчитывает занчения значения обратной эллиптической функции \f$ u = \textrm{cd}^{-1}(w, k)\f$ для комплексного вектора `w`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] w Указатель на массив вектора переменной \f$ w \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `w`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] u Указатель на вектор значений обратной эллиптической функции \f$ u = \textrm{cd}^{-1}(w, k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_asn(double* w, int n, double k, double* u) \brief Обратная эллиптическая функция Якоби \f$ u = \textrm{sn}^{-1}(w, k)\f$ вещественного аргумента Функция рассчитывает занчения значения обратной эллиптической функции \f$ u = \textrm{sn}^{-1}(w, k)\f$ для вещественного вектора `w`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] w Указатель на массив вектора переменной \f$ w \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `w`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] u Указатель на вектор значений обратной эллиптической функции \f$ u = \textrm{sn}^{-1}(w, k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_asn_cmplx(complex_t* w, int n, double k, complex_t* u) \brief Обратная эллиптическая функция Якоби \f$ u = \textrm{sn}^{-1}(w, k)\f$ комплексного аргумента Функция рассчитывает занчения значения обратной эллиптической функции \f$ u = \textrm{sn}^{-1}(w, k)\f$ для комплексного вектора `w`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] w Указатель на массив вектора переменной \f$ w \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `w`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] u Указатель на вектор значений обратной эллиптической функции \f$ u = \textrm{sn}^{-1}(w, k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_cd(double* u, int n, double k, double* y) \brief Эллиптическая функция Якоби \f$ y = \textrm{cd}(u K(k), k)\f$ вещественного аргумента Функция рассчитывает занчения значения эллиптической функции \f$ y = \textrm{cd}(u K(k), k)\f$ для вещественного вектора `u` и эллиптического модуля `k`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] u Указатель на массив вектора переменной \f$ u \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `u`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] y Указатель на вектор значений эллиптической функции \f$ y = \textrm{cd}(u K(k), k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_cd_cmplx(complex_t* u, int n, double k, complex_t* y) \brief Эллиптическая функция Якоби \f$ y = \textrm{cd}(u K(k), k)\f$ комплексного аргумента Функция рассчитывает занчения значения эллиптической функции \f$ y = \textrm{cd}(u K(k), k)\f$ для комплексного вектора `u` и эллиптического модуля `k`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] u Указатель на массив вектора переменной \f$ u \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `u`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] y Указатель на вектор значений эллиптической функции \f$ y = \textrm{cd}(u K(k), k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_landen(double k, int n, double* y) \brief Расчет коэффициентов \f$ k_i \f$ ряда полного эллиптического интеграла. Полный эллиптический интеграл \f$ K(k) \f$ может быть представлен рядом: \f[ K(k) = \frac{\pi}{2} \prod_{i = 1}^{\infty}(1+k_i), \f] где \f$ k_i \f$ вычисляется итерационно при начальных условиях \f$ k_0 = k\f$: \f[ k_i = \left( \frac{k_{i-1}} { 1+\sqrt{1-k_{i-1}^2} } \right)^2 \f] Данная функция рассчитывает ряд первых `n` значений \f$ k_i \f$, которые в дальнейшем могут быть использованы для расчета эллиптического интеграла и эллиптических функций. \param[in] k Эллиптический модуль \f$ k \f$.
\param[in] n Размер вектора `y` соответсвующих коэффициентам \f$ k_i \f$.

\param[out] y Указатель на вектор значений коэффициентов \f$ k_i \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
Пример использования функции `ellip_landen`: \include ellip_landen_test.c Результат работы программы: \verbatim 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 \endverbatim \note Ряд полного эллиптического интеграла сходится при значениях эллиптического модуля \f$ k<1 \f$. При этом сходимость ряда достаточно быстрая и для практический приложений достаточно от 10 до 20 значений \f$ k_i \f$ для обеспечения погрешности при расчете полного эллиптического интеграла в пределах машинной точности. \author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_sn(double* u, int n, double k, double* y) \brief Эллиптическая функция Якоби \f$ y = \textrm{sn}(u K(k), k)\f$ вещественного аргумента Функция рассчитывает занчения значения эллиптической функции \f$ y = \textrm{sn}(u K(k), k)\f$ для вещественного вектора `u` и эллиптического модуля `k`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] u Указатель на массив вектора переменной \f$ u \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `u`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] y Указатель на вектор значений эллиптической функции \f$ y = \textrm{sn}(u K(k), k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */ /*! **************************************************************************** \ingroup SPEC_MATH_ELLIP_GROUP \fn int ellip_sn_cmplx(complex_t* u, int n, double k, complex_t* y) \brief Эллиптическая функция Якоби \f$ y = \textrm{sn}(u K(k), k)\f$ комплексного аргумента Функция рассчитывает занчения значения эллиптической функции \f$ y = \textrm{sn}(u K(k), k)\f$ для комплексного вектора `u` и эллиптического модуля `k`.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
\param[in] u Указатель на массив вектора переменной \f$ u \f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\param[in] n Размер вектора `u`.

\param[in] k Значение эллиптического модуля \f$ k \f$.
Эллиптический модуль -- вещественный параметр, принимающий значения от 0 до 1.

\param[out] y Указатель на вектор значений эллиптической функции \f$ y = \textrm{sn}(u K(k), k)\f$.
Размер вектора `[n x 1]`.
Память должна быть выделена.

\return `RES_OK` Расчет произведен успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\author Бахурин Сергей www.dsplib.org ***************************************************************************** */