Здравствуйте!
Меня интересует, есть ли общая формула для производной N-го порядка от суперпозиции h функций f, g одного переменного x, т. е.: h(x) = f(g(x)). А то я сейчас пробую сам вывести, но пока неуспешно.
Если обе дифференцируемы, то по "правилу цепи" же.
h'(x) = f'(g(x))·g'(x)
Понятно, что по правилу цепи; но оно рекурсивное, а мне желательно иметь формулу не рекурсивного характера.
Для сравнения: любая производная от произведения: h(n)(x) = (f(x)*g(x))(n) - вычисляется по формуле, вполне аналогичной биному Ньютона, без знания предыдущих производных этого же произведения. Здесь астериск означает умножение.
Я даже написал программу на VBA, символьно дифференцирующую суперпозицию и произведение двух функций, но всё равно пока логики общей формулы N-ой производной не могу уловить. Думал, может, ответ уже есть в общем виде.
Раз формулы нет у Демидовича, её нет в природе.
А зачем вам n-я производная? А то так и дробную захочете :)
Предположу, что производная вида f = F(1/n)(x) должна вычисляться, исходя из возможности выполнить следующую замену переменной:
x -> y(x): F(x) -> G(y)
так, что
F(x) = G(y)
и
G(n)(y) == F(1)(x).
Если такая замена возможна, то можно записать, в качестве определения:
F(1/n)(x) == G(1)(y).
Например:
Пример удалён, ввиду его неверности. - Марбол
На дробные производные обычно выруливают через спектральную теорию, как степени операторов. Явные формулы бывают интегродифференциальные.
По-моему, формула должна быть в природе; в своих выкладках я усматриваю некоторую логику, но ещё не полностью.
Всё остаётся один непонятный член.
Там же идёт разрастание сумм.
Общая формула суммы конечного ряда вырисовывается?
Ещё и показатели степеней и степеней производных гуляют от 1 до n...
Да ну нету формулы. Этому вопросу уже сколько лет, триста? Все формулы давно получены. Для очистки совести, конечно, можно посмотреть, например, Гурса...
Хорошо: я ещё не понял, откуда именно такие коэффициенты, а не другие, но в общем, выглядит стройно. Я могу показать свои результаты пока для шести первых производных, по чему уже можно вывести обобщение. Как Вы хотите читать: в Ворде или прямо тут? Для меня это вопрос времени: в Ворде набор пойдёт медленнее; и думаю, в ТеХе ещё даже более!
Цитата: Bhudh от февраля 9, 2012, 21:15
Общая формула суммы конечного ряда вырисовывается?
Да, она прорисовывается, не считая того, что непонятны коэффициенты.
Проще сфоткать! (Или в мэпле посчитать. :-\)
Я настырный.
А что, Мэпл выводит общие формулы заданных рядов?
Сфотографировать как раз нечем. Давайте, я наберу прямо тут, греческими и латинскими буквами. Минут через десять, Вы сможете посмотреть.
Такую формулу можно вывести. Она должна быть родственна биному Ньютона с той разницей что здесь некоммутативный случай для g поскольку два типа возведения в степень. т. е. что то типа обобщения (f g + g) ^ n для некоммутативного случая с разными типами умножений.
Цитата: Марбол от февраля 9, 2012, 22:24
А что, Мэпл выводит общие формулы заданных рядов?
Вряд ли. Но первые сколько угодно производных он бы посчитал и даже, вероятно, удалось бы в удобоваримом виде их представить.
Цитата: ИЕ от февраля 9, 2012, 22:26Она должна быть родственна биному Ньютона
Там коэффициенты выходят не биномиальные.
Да не проблема - для шестой производной
![15 g''(x)^3 f^{(3)}(g(x))+60 g'(x) g''(x) f^{(3)}(g(x)) g^{(3)}(x)+10 f''(g(x)) g^{(3)}(x)^2+45 g'(x)^2 g''(x)^2 f^{(4)}(g(x))+20 g'(x)^3 g^{(3)}(x) f^{(4)}(g(x))+15 f''(g(x)) g''(x) g^{(4)}(x)+15 g'(x)^2 f^{(3)}(g(x)) g^{(4)}(x)+15 g'(x)^4 g''(x) f^{(5)}(g(x))+6 g'(x) f''(g(x)) g^{(5)}(x)+g'(x)^6 f^{(6)}(g(x))+f'(g(x)) g^{(6)}(x) [tex]15 g''(x)^3 f^{(3)}(g(x))+60 g'(x) g''(x) f^{(3)}(g(x)) g^{(3)}(x)+10 f''(g(x)) g^{(3)}(x)^2+45 g'(x)^2 g''(x)^2 f^{(4)}(g(x))+20 g'(x)^3 g^{(3)}(x) f^{(4)}(g(x))+15 f''(g(x)) g''(x) g^{(4)}(x)+15 g'(x)^2 f^{(3)}(g(x)) g^{(4)}(x)+15 g'(x)^4 g''(x) f^{(5)}(g(x))+6 g'(x) f''(g(x)) g^{(5)}(x)+g'(x)^6 f^{(6)}(g(x))+f'(g(x)) g^{(6)}(x)[/tex]](https://latex.codecogs.com/png.latex?15 g''(x)^3 f^{(3)}(g(x))+60 g'(x) g''(x) f^{(3)}(g(x)) g^{(3)}(x)+10 f''(g(x)) g^{(3)}(x)^2+45 g'(x)^2 g''(x)^2 f^{(4)}(g(x))+20 g'(x)^3 g^{(3)}(x) f^{(4)}(g(x))+15 f''(g(x)) g''(x) g^{(4)}(x)+15 g'(x)^2 f^{(3)}(g(x)) g^{(4)}(x)+15 g'(x)^4 g''(x) f^{(5)}(g(x))+6 g'(x) f''(g(x)) g^{(5)}(x)+g'(x)^6 f^{(6)}(g(x))+f'(g(x)) g^{(6)}(x))
Цитата: Bhudh от февраля 9, 2012, 22:30
Цитата: ИЕ от февраля 9, 2012, 22:26Она должна быть родственна биному Ньютона
Там коэффициенты выходят не биномиальные.
Естественно. Эта формула не симметричная, ибо некоммутативная. Бином Нютона коммутативен.
Это у Вас шестая для
![g(f(x)) [tex]g(f(x))[/tex]](https://latex.codecogs.com/png.latex?g(f(x)))
, а если
![h(g(f(x))) [tex]h(g(f(x)))[/tex]](https://latex.codecogs.com/png.latex?h(g(f(x))))
взять?‥
Цитата: Bhudh от февраля 9, 2012, 22:36
Это у Вас шестая для
, а если
взять?‥
Выписывать? В пол экрана получится.
Во-во. Так что общая формула для всех уровней вложенности вряд ли получится...
Цитата: Bhudh от февраля 9, 2012, 22:39
Во-во. Так что общая формула для всех уровней вложенности вряд ли получится...
С помощью сумм и произведений и факториалов в коммутативном случае компактной получается. Но все таки для некоммутативного случая можно выписать, но читабельность ее будет еще та....
Наверно, поэтому этого никто и не делал.
Цитата: ИЕ от читабельность ее будет еще та
Для компа в принципе всё равно, какая у неё читабельность.
Главное, чтобы распарсиваемость была хорошая.
Это - ни в коем случае не вывод, а изложение промежуточного результата.
Вначале следует ввести ряд обозначений.
0) Даны функции f = f(y), g = g(x). Их суперпозиция - h(x) = f(g(x)).
1) Обозначим производные исходных функций:
df/dy = α,
dg/dx = u.
В дальнейшем потребуются именно они.
2) Для случая
y == g
(когда рассматривается суперпозиция функций f и g)
обозначим
DNh = DN(αu) = dN(αu)/dxN.
3) Для случая
y == x
(рассматривается произведение функций f и g)
обозначим
δN(αu) = dN(αu)/dxN.
В этом случае известен общий вид производной N-го порядка:
δN(αu) = ΣN( j ) CNj α( j )u( N - j )
где биномиальный коэффициент CNj = N!/{(N-j)!j!},
бегущий индекс j = 0, 1, ..., N.
4) Как таковая, величина δN(αu) не используется. Используется степенной ряд (по степеням u), коэффициенты которого равны слагаемым из δN(αu) соответствующего порядка:
AN = ΣN( j ) CNj α( j )u( N - j ) * u j .
где биномиальный коэффициент CNj = N!/{(N-j)!j!},
бегущий индекс j = 0, 1, ..., N.
Например:
A0 = αu,
A1 = α'u2 + αu'
A2 = α''u3 + 2α'u'u + αu''
A3 = α'''u4 + 3α''u'u2 + 3α'u''u + αu'''
A4 = α(4)u5 + 4α(3)u(1)u3 + 6α(2)u(2)u2 + 4α(1)u(3)u + α(0)u(4)
A5 = α(5)u6 + 5α(4)u(1)u4 + 10α(3)u(2)u3 + 10α(2)u(3)u2 + 5α(1)u(4)u + α(0)u(5)
A6 = α(6)u7 + 6α(5)u(1)u5 + 15α(4)u(2)u4 + 20α(3)u(3)u3 + 15α(2)u(4)u2 + 6α(1)u(5)u + α(0)u(6)
5) В сумме AN можно выделить среднюю часть, в которую не входят только самый старший и самый младший члены: например,
5α(4)u(1)u4 + 10α(3)u(2)u3 + 10α(2)u(3)u2 + 5α(1)u(4)u для A5.
Произведем сдвиг числовых коэффициентов на одну позицию, от младших к старшим членам:
10α(4)u(1)u4 + 10α(3)u(2)u3 + 5α(2)u(3)u2 + 1α(1)u(4)u.
Также понизим степени u на единицу:
10α(4)u(1)u3 + 10α(3)u(2)u2 + 5α(2)u(3)u + 1α(1)u(4).
Получившуюся величину назовем мезоном N-го порядка и обозначим μN:
μ5 = 10α(4)u(1)u3 + 10α(3)u(2)u2 + 5α(2)u(3)u + 1α(1)u(4).
Очевидно, следует принять, что
μ1 = 0.
7) Составим также на основе мезонов следующие величины. Отбросим младший член мезона: например,
μ4 = 6 α(3)u(1)u3 + 4 α(2)u(2)u2 [ + 1 α(1)u(3)u ]
получим здесь
6α(3)u(1)u2 + 4α(2)u(2)u1
понизим степень величины u на единицу:
6α(3)u(1)u1 + 4α(2)u(2)
Приравняем числовые коэффициенты единице:
α(3)u(1)u1 + α(2)u(2)
Обозначим получившуюся величину остатком и обозначим σ4, где подстрочный индекс указывает исходный мезон.
Очевидно, следует принять, что
σ1 = σ2 = 0
(или нет мезона, или он имеет единственный член).
6) Теперь можно записать выражения для шести первых производных от суперпозиции функций h = f(g(x)), в принятых обозначениях:
D0h = αu
D1h = A1 + μ1u = A1
D2h = A2 + μ2u(0)
D3h = A3 + 3 μ2u(1) + μ3u(0)
D4h = A4 + 5 μ2u(2) + 5 μ3u(1) + μ4u(0)
D5h = A5 + 15/2 μ2u(3) + 10 μ3u(2) + 15/2 μ4u(1) + μ5u(0) + 15 σ3 u(1) 2
D6h = A6 + 21/2 μ2u(4) + 35/2 μ3u(3) + 35/2 μ4u(2) + 21/2 μ5u(1) + μ6u(0) + 105 σ4 u(1) 2.
Осталось неясным общее выражение для числовых коэффициентов, входящих в выражения для DN.
Исправлены замеченные опечатки.
:yes:
Что касается уровней вложенности, то для моей цели достаточно уметь вычислять производную однократного вложения функций, а дальнейшие вложения вычисляются путём рекурсии.
Надеюсь, я заметил все опечатки. Доброй ночи!
Цитата: Квас от февраля 9, 2012, 22:28
Цитата: Марбол от февраля 9, 2012, 22:24
А что, Мэпл выводит общие формулы заданных рядов?
Вряд ли. Но первые сколько угодно производных он бы посчитал и даже, вероятно, удалось бы в удобоваримом виде их представить.
Фактически, это то же, что расчёт степеней суммы на компьютере, вместо применения бинома Ньютона: мы получим быстрые, но непонятные ответы.
А кроме того, как я уже говорил, у меня самого есть символически дифференцирующая программа для данного случая, и из неё уже нетрудно сделать численно-дифференцирующую. Она оперирует переменными строкового типа (наборы символов), размер которых ограничен; поэтому после взятия 16-ой производной от суперпозиции происходит превышение размера, и ответ не выдаётся. Но этот момент легко обойти.
Цитата: Марбол от февраля 9, 2012, 23:49
биномиальный коэффициент CNj = N!/{(N-j)!j!}
Конечно, правильно писать "C
jN"
Цитата: Марбол от февраля 9, 2012, 23:49
7) Составим также на основе мезонов следующие величины. Отбросим младший член мезона: например,
μ4 = 6 α(3)u(1)u3 + 4 α(2)u(2)u2 [ + 1 α(1)u(3)u ]
получим здесь
6α(3)u(1)u2 + 4α(2)u(2)u1
Исходный мезон μ
4 записан вначале с неправильными показателями степени, хотя дальше используется в правильном виде:
μ
4 = 6 α
(3)u
(1)u
2 + 4 α
(2)u
(2)u
1 [ + 1 α
(1)u
(3)u
0 ]
Выскажу ещё наблюдение относительно коэффициентов в итоговых формулах.
Это коэффициенты имеют вид N/2. Для сравнения, запишем сначала величины A
N, затем - D
N и выделим коэффициенты, соответствующие друг другу.
Цитата: Марбол от февраля 9, 2012, 23:49
Например:
A0 = αu,
A1 = α'u2 + αu'
A2 = α''u3 + 2 α'u'u + αu''
A3 = α'''u4 + 3 α''u'u2 + 3 α'u''u + αu'''
A4 = α(4)u5 + 4 α(3)u(1)u3 + 6 α(2)u(2)u2 + 4 α(1)u(3)u + α(0)u(4)
A5 = α(5)u6 + 5 α(4)u(1)u4 + 10 α(3)u(2)u3 + 10 α(2)u(3)u2 + 5 α(1)u(4)u + α(0)u(5)
A6 = α(6)u7 + 6 α(5)u(1)u5 + 15 α(4)u(2)u4 + 20 α(3)u(3)u3 + 15 α(2)u(4)u2 + 6 α(1)u(5)u + α(0)u(6)
A7 = α(7)u8 + 7 α(6)u(1)u6 + 21 α(5)u(2)u5 + 35 α(4)u(3)u4 + 35 α(3)u(4)u3 + 21 α(2)u(5)u2 + 7 α(1)u(6)u + α(0)u(7)
D0h = αu
D1h = A1 + μ1u = A1
D2h = A2 + μ2u(0)
D3h = A3 + 6/2 μ2u(1) + μ3u(0)
D4h = A4 + 10/2 μ2u(2) + 10/2 μ3u(1) + μ4u(0)
D5h = A5 + 15/2 μ2u(3) + 20/2 μ3u(2) + 15/2 μ4u(1) + μ5u(0) + 15 σ3 u(1) 2
D6h = A6 + 21/2 μ2u(4) + 35/2 μ3u(3) + 35/2 μ4u(2) + 21/2 μ5u(1) + μ6u(0) + 105 σ4 u(1) 2.
Также можно заметить, что входящий в формулы производных остаток
σ имеет порядок, на два меньший, чем порядок производной. Надо посмотреть, не появляются ли в следующих производных и остатки ещё меньших порядков.
Здравствуйте!
Да, в последующих производных появляются и остатки меньих порядков, а также добавочные члены, структура которых мне пока непонятна.
Если вы сможете составить рекуррентные соотношения, можно будет попытаться вылезти в производящие функции и там всё разобрать.
Марбол, живём! Я вывел рекуррентное соотношение. Только там кучища переменных, да ещё и странное оно. Но можно пытаться.
Пусть
![A(n; m_1, \ldots, m_l; k) = \left( \left( f^{(n)} \circ g \right) {\prod_{i = 1}^{l} g^{(m_i)} } \right)^{(k)} [tex]A(n; m_1, \ldots, m_l; k) = \left( \left( f^{(n)} \circ g \right) {\prod_{i = 1}^{l} g^{(m_i)} } \right)^{(k)}[/tex]](https://latex.codecogs.com/png.latex?A(n; m_1, \ldots, m_l; k) = \left( \left( f^{(n)} \circ g \right) {\prod_{i = 1}^{l} g^{(m_i)} } \right)^{(k)})
.
Тогда имеем
![A(n; (m_i)_i; k + 1) = A(n + 1; (m_i)_i; k) + [tex]A(n; (m_i)_i; k + 1) = A(n + 1; (m_i)_i; k) +[/tex]](https://latex.codecogs.com/png.latex?A(n; (m_i)_i; k + 1) = A(n + 1; (m_i)_i; k) +)
некая суммочка, получите её сами просто [там поочерёдно добавляется 1 к каждому из
![m_i [tex]m_i[/tex]](https://latex.codecogs.com/png.latex?m_i)
]; больше ни от чего, кроме A, нет зависимостей.
А нам нужно найти
![A(0; ; k) [tex]A(0; ; k)[/tex]](https://latex.codecogs.com/png.latex?A(0; ; k))
.
Из приведённого мною соотношения и каких-нибудь начальных условий частных случаев для A от нулей-единиц можно бы теоретически сделать какие-то выражения о производящих функциях этого семейства последовательностей (с членами
![A(\ldots) [tex]A(\ldots)[/tex]](https://latex.codecogs.com/png.latex?A(\ldots))
). Раскладывая функцию в ряд, мы найдём формулу для членов. Если найдём. Но тут беда такая, что это даже не двумерная последовательность, а какая-то страшномногомерная, ведь
![m_i [tex]m_i[/tex]](https://latex.codecogs.com/png.latex?m_i)
может быть 0 и более штук разных. Можно теперь брать частные случаи
![A(\ldots) [tex]A(\ldots)[/tex]](https://latex.codecogs.com/png.latex?A(\ldots))
и называть отдельными именами, и переформулировать то соотношение выше в них: тогда проихводящих функций будет не одна, но можно будет что-то связать.
Поясню, что я имел в виду:
![\begin{array}{l} A_0(n, k) = A(n;; k) \\ A_1(n, k, m_1) = A(n; m_1; k) \\ A_2(n, k, m_1, m_2) = A(n; m_1, m_2; k) \\ \cdots \end{array} [tex]\begin{array}{l} A_0(n, k) = A(n;; k) \\ A_1(n, k, m_1) = A(n; m_1; k) \\ A_2(n, k, m_1, m_2) = A(n; m_1, m_2; k) \\ \cdots \end{array}[/tex]](https://latex.codecogs.com/png.latex?\begin{array}{l} A_0(n, k) = A(n;; k) \\ A_1(n, k, m_1) = A(n; m_1; k) \\ A_2(n, k, m_1, m_2) = A(n; m_1, m_2; k) \\ \cdots \end{array})
Тут мы избавились от кортежа в списке параметров A.
Вообще говоря, с производящими функциями последовательностей, зависящего от нескольких чисел, я дела, в общем, не имел.
Пойду спать, завтра снова в университет...
Цитата: arseniiv от февраля 12, 2012, 21:34
Марбол, живём! Я вывел рекуррентное соотношение. Только там кучища переменных, да ещё и странное оно. Но можно пытаться.
Пусть
.
Спасибо! Будем мозговать дальше.
Зачем что-то выводить?! Такая же формула существует! Формула Фаа ди Бруно!
Интересно, как он её вывел. :o
Кстати, я немного не то написал, но там всё же можно выйти к производящим функциям, и выходят выражения ох непростые.
Цитата: antbez от февраля 13, 2012, 11:43
Зачем что-то выводить?! Такая же формула существует! Формула Фаа ди Бруно!
Прекрасно!! Большое спасибо, Антон! Вы прямо упасли меня от недель тщетного корпения над ноутбуком.
Цитата: arseniiv от февраля 13, 2012, 15:43
Интересно, как он её вывел. :o
Я пробовал сгруппировать слагаемые по степеням производных от вложенной функции [обозначил u
(N) L = g
(N-1) L(x)], а в формуле ди Бруно это сделано по порядкам производной от "внешней", влагающей функции [у меня α
(M) = f
(M-1)(g)] - что, в общем, надёжнее: ведь не всякое слагаемое содержит первые, но всякое содержит вторые из них.
Для порядка, даю цитату из Википедии:
Цитата: Википедия: Формула Фаа ди Бруно
Формула Фаа ди Бруно была названа в честь итальянского математика и священника Франческо Фаа-ди-Бруно, благодаря которому она стала известна (примерно, в 1855 году), хотя в действительности первооткрывателем этой формулы является Луи Франсуа Антони Арбогаст, который более чем за 50 лет до Фаа ди Бруно сделал первые публикации[1] на эту тему.
Оба исследователя получили эту формулу, исследуя n-ую производную композиции двух функций.
Возможно, наиболее известна формула Фаа ди Бруно в следующем виде:
,
где сумма по всем n-кортежам неотрицательных целых чисел (m1, ..., mn) удовлетворяет ограничению
.
Иногда, чтобы лучше запомнить, формулу записывают таким образом, однако это снижает очевидность комбинаторной интерпретации:
.
Используя это же выражение с теми же значениями m1 + m2 + ... + mn = k и заметив, что m j должен быть 0 при j > n − k + 1 можно прийти к несколько более простой формуле выраженной через полиномы Белла Bn,k(x1,...,xn−k+1):
![{d^n \over dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)}(g(x))\cdot B_{n,k}\left(g'(x),g''(x),\dots,g^{(n-k+1)}(x)\right) [tex]{d^n \over dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)}(g(x))\cdot B_{n,k}\left(g'(x),g''(x),\dots,g^{(n-k+1)}(x)\right)[/tex]](https://latex.codecogs.com/png.latex?{d^n \over dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)}(g(x))\cdot B_{n,k}\left(g'(x),g''(x),\dots,g^{(n-k+1)}(x)\right))
Вот! За триста лет в элементарном анализе сделано всё что можно.
Но формула-то есть.
Цитата: antbez от февраля 13, 2012, 11:43
Зачем что-то выводить?! Такая же формула существует! Формула Фаа ди Бруно!
Так ведь это само по себе интересно - изобретать велосипед! - Особенно, когда лежишь с красным горлом. И если бы я уже знал об этой формуле, то не стал бы программировать свой простенький анализатор формул; а теперь его можно будет усовершенствовать и затем "пристегнуть" к дальнейшему делу.
Пусть ваше (под)сознание как-нибудь приготовит ещё одну задачу! Быть может, там будет что-то ещё интересное, но не такое сложное. Люблю рыться в буквах.
Цитата: Марбол от февраля 13, 2012, 20:31
Но формула-то есть.
Мой изначальный тезис: формула существует ⇔ она уже известна.
Однако какие она может иметь приложения? :-\
Цитата: Квас от февраля 13, 2012, 21:08
Однако какие она может иметь приложения? :-\
:negozhe:
Конечно, никакие, если так оценить до
![x^2 [tex]x^2[/tex]](https://latex.codecogs.com/png.latex?x^2)
. Дальше лень.
Цитата: Квас от февраля 13, 2012, 21:08
Мой изначальный тезис: формула существует ⇔ она уже известна.
:negozhe:
Нет-нет, Ваш начальный тезис был: "Формулы нет в природе". :-[ Но в этом ли дело!.. :???
:UU:
А применить её я хочу, именно, к вычислению Ν-ной производной от суперпозиции двух функций.
Цитата: Марбол от февраля 14, 2012, 06:07
Нет-нет, Ваш начальный тезис был: "Формулы нет в природе".
Да, действительно.
Впрочем, она выглядит настолько же полезной, как, например, формула Кардано: то есть абсолютно бесполезной, хотя и радующей своим существованием.
Цитата: Марбол от февраля 14, 2012, 06:07
А применить её я хочу, именно, к вычислению Ν-ной производной от суперпозиции двух функций.
Ну расскажите, если получится. Мне интересно, каким алгоритмом вы будете перебирать кортежи.
Это вопрос!
Можно отфильтровать из перебора всех кортежей.
Можно найти функцию, делающую из одного кортежа следующий.
Здравствуйте!
В Википедии, в статье о полиномах Белла, я "нашёл" следующие сведения:
ЦитироватьДля последовательностей
,
,
= 1, 2, ..., определён вид свёртки:
.
Заметим, что пределы суммирования 1 и n − 1, не 0 и n .
Положим, что
есть n-ый член последовательности
![\displaystyle\underbrace{x\diamondsuit\cdots\diamondsuit x}_{k\ \mathrm{factors}}.\, [tex]\displaystyle\underbrace{x\diamondsuit\cdots\diamondsuit x}_{k\ \mathrm{factors}}.\,[/tex]](https://latex.codecogs.com/png.latex?\displaystyle\underbrace{x\diamondsuit\cdots\diamondsuit x}_{k\ \mathrm{factors}}.\,)
Тогда
![B_{n,k}(x_1,\dots,x_{n-k+1}) = {x_{n}^{k\diamondsuit} \over k!}.\, [tex]B_{n,k}(x_1,\dots,x_{n-k+1}) = {x_{n}^{k\diamondsuit} \over k!}.\,[/tex]](https://latex.codecogs.com/png.latex?B_{n,k}(x_1,\dots,x_{n-k+1}) = {x_{n}^{k\diamondsuit} \over k!}.\,)
Например, вычислим
. Мы имеем
и таким образом,
.
Можно заметить, что
 = (y \diamondsuit x)[/tex]](https://latex.codecogs.com/png.latex?(x \diamondsuit y) = (y \diamondsuit x))
 = x^{2\diamondsuit}[/tex]](https://latex.codecogs.com/png.latex?(x \diamondsuit x) = x^{2\diamondsuit})
 \diamondsuit z) = (z \diamondsuit (x \diamondsuit y))[/tex]](https://latex.codecogs.com/png.latex?((x \diamondsuit y) \diamondsuit z) = (z \diamondsuit (x \diamondsuit y)))
 \diamondsuit x) = (x \diamondsuit (x \diamondsuit x)) = x \diamondsuit x \diamondsuit x = x^{3\diamondsuit} = (x^{2\diamondsuit} \diamondsuit x)[/tex]](https://latex.codecogs.com/png.latex?((x \diamondsuit x) \diamondsuit x) = (x \diamondsuit (x \diamondsuit x)) = x \diamondsuit x \diamondsuit x = x^{3\diamondsuit} = (x^{2\diamondsuit} \diamondsuit x))
Поэтому для нахождения
![x^{k\diamondsuit} [tex]x^{k\diamondsuit}[/tex]](https://latex.codecogs.com/png.latex?x^{k\diamondsuit})
достаточно уметь вычислить
![x^{2\diamondsuit} [tex]x^{2\diamondsuit}[/tex]](https://latex.codecogs.com/png.latex?x^{2\diamondsuit})
, а затем k-1-кратно применять это умение к
![x [tex]x[/tex]](https://latex.codecogs.com/png.latex?x)
в случаях k > 2. Так я получу полиномы Белла.
Интересно, сколько времени займёт такой расчёт. Условно я считаю, что и сложение и умножение двух чисел занимают единичный отрезок времени. Я обозначу это условное время так: T(x+y) = T(x-y) = 1, T(x*y) = T(x/y) = 1 при T(x) = 0, T(y) = 0.
Тогда время вычисления производной заданного порядка равно:
![T({d^n f(g(x)) \over dx^n})=T(\sum_{k=1}^n{f^{(k)} \over k!} G_{n}^{k\diamondsuit}) = T(\sum_{k=1}^n) \cdot[T(G_{n}^{k\diamondsuit})+T(x \cdot y) + T(k!)+T({x \over y})] [tex]T({d^n f(g(x)) \over dx^n})=T(\sum_{k=1}^n{f^{(k)} \over k!} G_{n}^{k\diamondsuit}) = T(\sum_{k=1}^n) \cdot[T(G_{n}^{k\diamondsuit})+T(x \cdot y) + T(k!)+T({x \over y})][/tex]](https://latex.codecogs.com/png.latex?T({d^n f(g(x)) \over dx^n})=T(\sum_{k=1}^n{f^{(k)} \over k!} G_{n}^{k\diamondsuit}) = T(\sum_{k=1}^n) \cdot[T(G_{n}^{k\diamondsuit})+T(x \cdot y) + T(k!)+T({x \over y})])
В частности, по составляющим,
![T(\sum_{k=1}^n) = n [tex]T(\sum_{k=1}^n) = n[/tex]](https://latex.codecogs.com/png.latex?T(\sum_{k=1}^n) = n)
![T(k!) = k-2 [tex]T(k!) = k-2[/tex]](https://latex.codecogs.com/png.latex?T(k!) = k-2)
![T(x \cdot y) + T({x \over y}) = 1+1 =2 [tex]T(x \cdot y) + T({x \over y}) = 1+1 =2[/tex]](https://latex.codecogs.com/png.latex?T(x \cdot y) + T({x \over y}) = 1+1 =2)
Вычисление свёртки степени
![k [tex]k[/tex]](https://latex.codecogs.com/png.latex?k)
равносильно вычислению свертки степени 2, подряд
![k-2 [tex]k-2[/tex]](https://latex.codecogs.com/png.latex?k-2)
раз, с последующим однократным вычислением n-го члена свёртки степени 2:
![T(G_n^{k\diamondsuit}) = T((G_n^{k-1\diamondsuit}\diamondsuit G)_n)=T(G^{2\diamondsuit}) \cdot (k-2)+T((x \diamondsuit y)_n) [tex]T(G_n^{k\diamondsuit}) = T((G_n^{k-1\diamondsuit}\diamondsuit G)_n)=T(G^{2\diamondsuit}) \cdot (k-2)+T((x \diamondsuit y)_n)[/tex]](https://latex.codecogs.com/png.latex?T(G_n^{k\diamondsuit}) = T((G_n^{k-1\diamondsuit}\diamondsuit G)_n)=T(G^{2\diamondsuit}) \cdot (k-2)+T((x \diamondsuit y)_n))
В частности,
![T(G_n^{2\diamondsuit}) = T(\sum_{j=1}^{n-1} {n \choose j} g^{(i)} g^{(n-i)}) [tex]T(G_n^{2\diamondsuit}) = T(\sum_{j=1}^{n-1} {n \choose j} g^{(i)} g^{(n-i)})[/tex]](https://latex.codecogs.com/png.latex?T(G_n^{2\diamondsuit}) = T(\sum_{j=1}^{n-1} {n \choose j} g^{(i)} g^{(n-i)}))
![T({n \choose i} g^{(i)} g^{(n-i)}) = T({n \choose i}) +T(g^{(i)} g^{(n-i)}) + T(x \cdot y) = T({n \choose i})+2 [tex]T({n \choose i} g^{(i)} g^{(n-i)}) = T({n \choose i}) +T(g^{(i)} g^{(n-i)}) + T(x \cdot y) = T({n \choose i})+2[/tex]](https://latex.codecogs.com/png.latex?T({n \choose i} g^{(i)} g^{(n-i)}) = T({n \choose i}) +T(g^{(i)} g^{(n-i)}) + T(x \cdot y) = T({n \choose i})+2)
![T({n \choose i}) = T({n! \over i!}) + T((n-i)!) +T({x \over y}) = (n-i-1) +(n-i-2) +1=2n-2i-2 [tex]T({n \choose i}) = T({n! \over i!}) + T((n-i)!) +T({x \over y}) = (n-i-1) +(n-i-2) +1=2n-2i-2[/tex]](https://latex.codecogs.com/png.latex?T({n \choose i}) = T({n! \over i!}) + T((n-i)!) +T({x \over y}) = (n-i-1) +(n-i-2) +1=2n-2i-2)
![T({n \choose i} g^{(i)} g^{(n-i)}) = 2n-2i=2(n-i) [tex]T({n \choose i} g^{(i)} g^{(n-i)}) = 2n-2i=2(n-i)[/tex]](https://latex.codecogs.com/png.latex?T({n \choose i} g^{(i)} g^{(n-i)}) = 2n-2i=2(n-i))
Поэтому, в целом,
![T(G_n^{2\diamondsuit}) = \sum_{j=1}^{n-1} 2(n-i) = 2 \sum_{j=1}^{n-1} (n-i) =2(1+ 2 +\dots +n-1)=2{(n-1)(n-1+1) \over 2}=n(n-1) [tex]T(G_n^{2\diamondsuit}) = \sum_{j=1}^{n-1} 2(n-i) = 2 \sum_{j=1}^{n-1} (n-i) =2(1+ 2 +\dots +n-1)=2{(n-1)(n-1+1) \over 2}=n(n-1)[/tex]](https://latex.codecogs.com/png.latex?T(G_n^{2\diamondsuit}) = \sum_{j=1}^{n-1} 2(n-i) = 2 \sum_{j=1}^{n-1} (n-i) =2(1+ 2 +\dots +n-1)=2{(n-1)(n-1+1) \over 2}=n(n-1))
Для вычисления всей последовательности
![G^{2\diamondsuit} [tex]G^{2\diamondsuit}[/tex]](https://latex.codecogs.com/png.latex?G^{2\diamondsuit})
нужно времени
![T(G^{2\diamondsuit})=\sum_{k=1}^n n(n-1), [tex]T(G^{2\diamondsuit})=\sum_{k=1}^n n(n-1),[/tex]](https://latex.codecogs.com/png.latex?T(G^{2\diamondsuit})=\sum_{k=1}^n n(n-1),)
примерно
![{n^3\over 3} [tex]{n^3\over 3}[/tex]](https://latex.codecogs.com/png.latex?{n^3\over 3})
... Допишу потом.
Здравствуйте!
Допустим, имеем аналитическую функцию h(x). Она может быть выражена через две другие аналитические функции f(x) и g(x) в виде их суммы: h(x) = f(x) + g(x), - произведения: h(x) = f(x)g(x) - или суперпозиции: h(x) = f(g(x)). Допустим, что обе эти функции имеют производные всех порядков и что мы знаем значения этих производных в заданной точке x0. Тогда мы можем выразить производную h(n)(x0) = dnh(x)/dxn|x0 данной функции через комбинации производных f(i)(x0) = dif/dxi|x0 и g(j)(x0) = djg/dxj|x0, по соответствующим выражениям. Здесь i, j = 0, 1, 2, ..., n. В свою очередь, функции f(x) и g(x) также могут быть разложены на другие аналитические функции. При этом имеет смысл указать набор элементарных функций, задать для них формулы производных всех порядков и через них выражать все остальные, интересующие нас функции. Что я и сделал.
Здравствуйте!
Цитата: Марбол от февраля 18, 2012, 10:18
комбинации производных f(i)(x0) = dif/dxi|x0 и g(j)(x0) = djg/dxj|x0
Правильно:
комбинации производных f
(i)(g(x
0)) = d
if/dg
i|
x0 и g
(j)(x
0) = d
jg/dx
j|
x0
Здравствуйте!
В одном немаловажном случае, когда заданная функция имеет вид
![h(x)=f(x)^{g(x)}, [tex]h(x)=f(x)^{g(x)},[/tex]](https://latex.codecogs.com/png.latex?h(x)=f(x)^{g(x)},)
неприложимы три указанных представления: в виде суммы, произведения или суперпозиции двух функций
![f(x) [tex]f(x)[/tex]](https://latex.codecogs.com/png.latex?f(x))
и
![g(x) [tex]g(x)[/tex]](https://latex.codecogs.com/png.latex?g(x))
. В таком случае, данная функция должна быть преобразована к виду
![p(q(x))=e^{q(x)}, [tex]p(q(x))=e^{q(x)},[/tex]](https://latex.codecogs.com/png.latex?p(q(x))=e^{q(x)},)
где
Цитата: Марбол от февраля 15, 2012, 21:05
Интересно, сколько времени займёт такой расчёт.
По моим выкладкам дальше получилось, что время вычисления производной
![n [tex]n[/tex]](https://latex.codecogs.com/png.latex?n)
-го порядка от суперпозиции двух функций занимает время, пропорциональное
![n^5 [tex]n^5[/tex]](https://latex.codecogs.com/png.latex?n^5)
, но на практике это ограничение для моих нужд не играет роли.
Цитата: Марбол от марта 19, 2012, 19:55
неприложимы три указанных представления: в виде суммы, произведения или суперпозиции двух функций
и ![g(x) [tex]g(x)[/tex]](https://latex.codecogs.com/png.latex?g(x))
Лучше, мне думается, использовать суперпозицию трёх функций: этих и (x, y) ↦ x
y. Или частные производные вы пока не хотели бы включать?
Здравствуйте!
Цитата: arseniiv от марта 22, 2012, 15:05
Или частные производные вы пока не хотели бы включать?
Частные производные, конечно, потом понадобятся, но пока у меня недостает времени на продолжение и даже применение этого метода.
Здравствуйте!
Я наконец это доделал и применяю к своим вычислениям. Но оказывается, для случая функции многих переменных эта задача уже решена, и притом создан алгоритм расчета на компьютере, оптимальный по времени расчета.
Ого.
Здравствуйте!
Я тоже так подумал.