Что такое функции Кельвина первого рода?
Функции Кельвина первого рода, обозначаемые berv(x) и beiv(x), представляют собой вещественную и мнимую части функции Бесселя Jv, вычисленной при повёрнутом по фазе аргументе: \(\mathrm{ber}_v(x) + i\cdot\mathrm{bei}_v(x) = J_v(x\cdot e^{i3\pi/4})\). Они возникают в задачах с цилиндрической симметрией и переменными полями — классический пример это анализ скин-эффекта в электрических проводниках, а также задачи теплопроводности и теории упругости. Этот калькулятор возвращает berv(x), beiv(x) и их первые производные ber'v(x) и bei'v(x) для любого вещественного порядка v и вещественного аргумента x.
Как пользоваться калькулятором
Введите порядок v (любое вещественное число; чаще всего используется v = 0) и аргумент x (вещественное число). Нажмите «Рассчитать». В главном блоке отображается berv(x), а в таблице приводятся beiv(x) и обе производные. Ряд быстро сходится для x примерно до 20; при очень больших x потеря точности из-за взаимного сокращения членов возрастает, и предпочтительнее использовать асимптотическое разложение.
Разбор формулы
Функции вычисляются по сходящемуся комплексному степенному ряду, приведённому выше, где Γ — гамма-функция (здесь она рассчитывается с помощью приближения Лагранжа–Ланцоша):
$$\mathrm{ber}_{\nu}\!\left(x\right) + i\,\mathrm{bei}_{\nu}\!\left(x\right) = \left(\frac{x}{2}\right)^{\nu} e^{\,i\,3\nu\pi/4} \sum_{k=0}^{\infty} \frac{\left(\dfrac{i\,x^{2}}{4}\right)^{k}}{k!\,\Gamma\!\left(\nu+k+1\right)}$$Члены ряда накапливаются по рекуррентному соотношению \(\text{член}_k = \text{член}_{k-1}\cdot(i x^2/4) / [k(v+k)]\) с использованием двух вещественных аккумуляторов — для действительной и мнимой частей. Производные находятся через точные соотношения \(\mathrm{ber}'_v = (\mathrm{ber}_{v+1}+\mathrm{bei}_{v+1})/\sqrt{2} + (v/x)\mathrm{ber}_v\) и \(\mathrm{bei}'_v = (\mathrm{bei}_{v+1}-\mathrm{ber}_{v+1})/\sqrt{2} + (v/x)\mathrm{bei}_v\), поэтому функции следующего порядка вычисляются по тому же определению.
Разобранный пример (v = 0, x = 1)
При v = 0 ряды упрощаются до \(\mathrm{ber}_0(x) = \sum (-1)^k (x/2)^{4k}/[(2k)!]^2\) и \(\mathrm{bei}_0(x) = \sum (-1)^k (x/2)^{4k+2}/[(2k+1)!]^2\). При x = 1 получаем \(\mathrm{ber}_0(1) \approx 0{,}984382\) и \(\mathrm{bei}_0(1) \approx 0{,}249566\), что совпадает со стандартными таблицами (Абрамовиц и Стиган 9.9).
Часто задаваемые вопросы
Каков допустимый диапазон x? Реализация через ряд надёжна примерно при \(0 \le x \le 20\). За этими пределами точность снижается из-за взаимного сокращения чисел с плавающей запятой.
Что происходит при x = 0? При v = 0 имеем \(\mathrm{ber}_0(0) = 1\) и \(\mathrm{bei}_0(0) = 0\), обе производные равны 0. При \(v > 0\) функции стремятся к 0; при \(v < 0\) они могут расходиться.
Можно ли задать нецелый порядок? Да. Поддерживается любое вещественное v при условии, что v+1 не является отрицательным целым числом (полюс гамма-функции).