Телескопы покупают здесь


A A A A Автор Тема: Новый способ действий со степенными рядами  (Прочитано 2543 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Михаил Никитин

  • Гость
Уважаемые участники "Горизонтов", скажите пожалуйста свое мнение по следующему вопросу.

Я нашел общий метод осуществления алгебраических действий со степенными рядами (алгебраическое суммирование, умножение и деление рядов). Для этого нужно из коэффициентов С каждого ряда вида

(сумма по индексу n от нуля до бесконечности Cn*(x-x0)^n)      (1)

составить матрицу вида

C0     0       0       .      0    0
C1     C0     0       .      0     0
C2     C1     C0     .      0     0                              (2)
.      .      .           .     .        .   
Cn-1   Cn-2   Cn-3  .    C0    0
Cn     Cn-1   Cn-2   .    C1   С0

, затем произвести необходимые действия над этими матрицами, после чего выписать из матрицы-результата значения коэффициентов ряда-результата, которые будут расположены в матрице-результате на тех же местах, что и коэффициенты ряда (1) в матрице (2).

Кто-нибудь где-нибудь видел что-то похожее? (исключение http://irodov.nm.ru/cgi-bin/ikonboard/topic.cgi?forum=7&topic=44&start=10).
 

« Последнее редактирование: 07 Фев 2006 [22:22:01] от Михаил Никитин »

Оффлайн Хартиков Сергей

  • *****
  • Сообщений: 7 397
  • Благодарностей: 33
  • Мне нравится этот форум!
    • Сообщения от Хартиков Сергей
     Несколько вопросов к Вам:

     1) где Вы собираетесь все это применять? (для этого докажите несколько теорем или решите несколько задач новым "матричным" способом, показав, что решения становятся значительно проще и быстрее)

     2) как Вы собираетесь это применять? (в частности, как Вы собираетесь перемножать бесконечные матрицы? как собираетесь вычислять обратную матрицу от бесконечной матрицы?)

Михаил Никитин

  • Гость
Уважаемый Сергей! Отвечаю на Ваши вопросы.
 1.) Область применения "матричного метода", прежде всего - взаимные преобразования рядов, например, подстановка ряда в ряд, нахождение коэффициентов обратного ряда (не рекуррентным способом и не с помощью детерминанта). Если сравнить формулы для этих операций, приведенные, например, в конце третьего тома книги "Интегралы и ряды" авторы Прудников, Брычков, Марычев, и полученные в результате применения матриц, то предложенная форма записи выглядит намного компактнее. Это можно применить при интегрировании обыкновенных дифференциальных уравнений.
В качестве маленького примера рисунок 1 это отсканированная ксерокопия из этой книги, а рисунок 2 - решение той же задачи матричным методом.

 
« Последнее редактирование: 08 Фев 2006 [02:15:17] от Михаил Никитин »

Михаил Никитин

  • Гость
2.) Замечательное применение предложенного метода состоит в том, что можно сразу написать выражение для общего члена ряда-результата (не раскрывая матриц и бесконечных сумм), а затем, в зависимости от того, сколько коэффициентов нам надо в нем удержать, провести вычисления, раскрыв матрицы соответствующей конечной размерности.

Оффлайн Хартиков Сергей

  • *****
  • Сообщений: 7 397
  • Благодарностей: 33
  • Мне нравится этот форум!
    • Сообщения от Хартиков Сергей
     Уважаемый Михаил, то, что запись выглядит компактно, я уже понял. Но для того, чтобы Ваш метод имел смысл в реальных задачах, надо продемонстрировать его применение при решении конкретной задачи от начала до конца. То, что Вы привели, не показывает преимуществ, так как для вычисления результата надо снова пользоваться формулами для "раскрытия" матриц, которые при аналитическом решении сразу же приводят нас к решению из отсканированной книги.
     Вспомните, как Фейнман продемонстрировал, что все законы физики вместе взятые можно записать в виде компактной формулы U = 0. И он же спросил: "А легко ли пользоваться такой формулой?". Оказывается гораздо труднее, чем некомпактными формулами.

Оффлайн Stepa

  • *****
  • Сообщений: 1 990
  • Благодарностей: 44
  • Мне нравится этот форум!
    • Сообщения от Stepa
Надо еще продумать, как вы будете свои ряды дифференцировать и интегировать. Это нужно для решения ОДУ.

Скажем имея матрицу X степенного ряда, неплохо бы иметь такую матрицу A, чтобы AX была бы матричным представлением производной от ряда.

Тогда мы писали уравнения типа AX -kX =0, AAX - kX=0

Нетривиально как-то придумать матрицу-оператор дифференцирования. У вас матрица, представляющая константу C1, представляют собой единичную матрицу, умноженную на константу.  Возьмем C1=1.
Искомый оператор A умноженный на единичную матрицу E , должен быть равен 0.
AE=0, ---> A=0.
 
Или вы предполагаете как-то иначе решать ОДУ?
We must hang together or we all shall hang separately

Михаил Никитин

  • Гость
2 Хартиков Сергей:

Насчет преимуществ, по крайней мере, с одним, думаю, согласятся все - простота запоминания формул. Если составить такую матрицу, то все действия с рядами будут выглядеть единообразно. Преимущество здесь в том, что если имеется не один, а очень много промежуточных рядов, то получить выражение для общего члена ряда-результата традиционными методами весьма затруднительно, по крайней мере, объем формул возрастает неимоверно. Как следствие, маленькая ошибка в знаке или индексе часто приводит к неработоспособности большой и сложной программы. А если программист знает, что все действия с рядами можно заменить действиями с матрицами, то вероятность его ошибки заметно уменьшается (проверено на себе).

И кроме того. Независимо от преимуществ и недостатков есть, наверное, и эстетическая сторона вопроса. Матрицы и ряды были введены как два разных класса математических объектов, со своими законами выполнения действий. И выясняется, что между ними есть взаимосвязь, если из коэффициентов рядов составить матрицы, как угодно их сложить, вычесть, перемножить, поделить (по законам матриц!), то из матрицы-результата можно "достать" ряд-результат. Разве не интересно? Здесь, по-моему, будет лучше аналогия не с тем, что предложил Фейнман, а с той ситуацией, когда решение какого-либо дифференциального уравнения, не выражающееся через конечное число элементарных функций, называют новой функцией (Лямэ, Матье, Хилла и т.п), и дальше используют эту форму записи, без крайней необходимости не раскрывая, что у нее внутри.


 

Михаил Никитин

  • Гость
2 Хартиков Сергей (по поводу задачи от начала до конца) и Stepa (по поводу другого способа интегрирования ОДУ) и всем интересующимся предлагаю скачать из вложений исходники моей публикации
Никитин М.М. Применение матриц к решению нелинейной задачи Коши при помощи степенных рядов/ М.М. Никитин // Моделирование и исследование сложных систем: Материалы МНТК "Моделирование электронных приборов и техпроцессов, повышение качества, надежности и радиационной стойкости приборов и аппаратуры". Севастополь, 11-19 сент. 1999г. М.: МГАПИ, 2000. - с. 56-61.
« Последнее редактирование: 08 Фев 2006 [21:56:50] от Михаил Никитин »

Оффлайн Хартиков Сергей

  • *****
  • Сообщений: 7 397
  • Благодарностей: 33
  • Мне нравится этот форум!
    • Сообщения от Хартиков Сергей
     Уважаемый Михаил, я посмотрел Ваши тексты. Там Вы указали только два преимущества:

     1) "Использование матриц вида (10) позволяет значительно упростить запись вычислительного процесса".

     Но это упрощение касается только программистов, составляющих указанные программы. Учитывая, что я сам программист, то могу заметить, что упрощение проявится только в случае использования специальных пакетов (библиотек), работающих с матрицами. В случае же, если программист сам составляет программу (что предпочтительнее для программиста), преимущество исчезает.

     2) "...снизить вычислительную погрешность при расчете на ЭВМ, так как существуют пакеты программ, в которых при ведении вычислений внутри матрицы мантисса любого числа увеличивается на несколько разрядов, что снижает погрешность операций над матрицами в программе по сравнению с теми же операциями над отдельными элементами"

     А что мешает программисту самому написать точную программу, в которой мантисса будет "увеличиваться на несколько разрядов" точно так же, как и в этих специальных программах? Опять же - преимущество только для тех программистов, кто пользуется теми пакетами программ вместо самостоятельного программирования.

ущеко

  • Гость
Матрица+вектор=тензор...
матрица+ряд=?...

Михаил Никитин

  • Гость
Уважаемый Сергей! Программист может сначала написать библиотеку для матриц, а затем обращаться к ней из программ, интегрирующих ОДУ с помощью рядов. (можно в принципе сразу написать библиотеку для коэффициентов рядов - спор, как я понимаю, идет вокруг этого). В принципе, дело вкуса каждого, кто этим занимается, согласен. Предложенный метод только позволяет один процесс - действия с рядами - заменить другим - действиями с матрицами. Помимо чисто методического интереса и удобства записи больших формул, надеюсь, эта штука практически кому-нибудь когда-нибудь пригодится.