libdspl-2.0/dspl/dox/ru/ellipj.dox

468 wiersze
17 KiB
Plaintext
Czysty Wina Historia

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*! ****************************************************************************
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] w Указатель на массив вектора переменной \f$ w \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `w`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] u Указатель на вектор значений обратной эллиптической
функции \f$ u = \textrm{cd}^{-1}(w, k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] w Указатель на массив вектора переменной \f$ w \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `w`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] u Указатель на вектор значений обратной эллиптической
функции \f$ u = \textrm{cd}^{-1}(w, k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] w Указатель на массив вектора переменной \f$ w \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `w`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] u Указатель на вектор значений обратной эллиптической
функции \f$ u = \textrm{sn}^{-1}(w, k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] w Указатель на массив вектора переменной \f$ w \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `w`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] u Указатель на вектор значений обратной эллиптической
функции \f$ u = \textrm{sn}^{-1}(w, k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] u Указатель на массив вектора переменной \f$ u \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `u`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] y Указатель на вектор значений эллиптической
функции \f$ y = \textrm{cd}(u K(k), k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] u Указатель на массив вектора переменной \f$ u \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `u`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] y Указатель на вектор значений эллиптической
функции \f$ y = \textrm{cd}(u K(k), k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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$.<BR>
\param[in] n Размер вектора `y` соответсвующих
коэффициентам \f$ k_i \f$. <BR><BR>
\param[out] y Указатель на вектор значений
коэффициентов \f$ k_i \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
Пример использования функции `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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] u Указатель на массив вектора переменной \f$ u \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `u`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] y Указатель на вектор значений эллиптической
функции \f$ y = \textrm{sn}(u K(k), k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\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`.<BR>
Для расчета используется итерационный алгоритм на основе преобразования
Ландена.<BR>
\param[in] u Указатель на массив вектора переменной \f$ u \f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] n Размер вектора `u`. <BR><BR>
\param[in] k Значение эллиптического модуля \f$ k \f$.<BR>
Эллиптический модуль -- вещественный параметр,
принимающий значения от 0 до 1. <BR><BR>
\param[out] y Указатель на вектор значений эллиптической
функции \f$ y = \textrm{sn}(u K(k), k)\f$.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Расчет произведен успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\author
Бахурин Сергей
www.dsplib.org
***************************************************************************** */