Как известно, Льюис Кэрролл не только написал книги про Алису, но и был математиком. Занимался он в основном линейными уравнениями, матрицами и детерминантами. Я о его математических достижениях узнал совсем недавно. Точнее, я прочитал его статью о методе вычисления детерминантов.
Вот что он придумал. Пусть, например, нам нужно вычислить детерминант матрицы
Делаем так: сначала вычисляем детерминанты блоков и строим из них матрицу размерности на один меньше:
с числом операций при разложении по строке
PS Только что выяснил, что описанный метод вычисления детерминантов можно найти в английской википедии в соответствующей статье. Там тождество Доджсона называется Desnanot-Jacobi identity, и это, по-моему, правильно.
Вот что он придумал. Пусть, например, нам нужно вычислить детерминант матрицы
Далее делаем то же самое, но теперь каждый детерминант делим на соответствующий элемент внутренности первой матрицы. Внутренность матрицы — это матрица, получающаяся из исходной вычеркиванием первой и последней строки и первого и последнего столбца. Получаем
Повторяя процесс, получаем
Получившееся число и есть детерминант исходной матрицы.
Если сравнить число операций
(эту формулу можно получить, решая рекуру) видим, что для больших матриц получаем значительный выигрыш. Но если мы будем просто методом Гаусса приводить матрицу к треугольному виду, получим
т.е., немного лучше, чем метод Доджсона. Есть еще особенные случаи, когда один из внутренних элементов матрицы оказывается равным нулю. В этом случае получается неопределенность и нужно начинать почти сначала. Так что с практической точки зрения метод Доджсона так себе. Вообще-то, я статью стал читать по другому поводу, а именно, по поводу так называемого тождества Доджсона, которое на поверку оказалось элементарным следствием теоремы Якоби, приведенной опять в вышеупомянутой статье:
" If the determinant of a block , the determinant of any minor of the th degree of the adjugate block is the product of and the coefficient which, in , multiplies the determinant of the corresponding minor."(Jacobi)
Про эту теорему и про красоты с ней связанные я еще, может быть, напишу. Ну а пост этот написан чтобы проверить работу скрипта LaTeXMathML.js, а точнее, его модификации, которая позволяет делать матрицы и выключные уравнения, используя нормальный синтаксис LaTeXа. И еще, этот скрипт работает и для Оперы.
PS Только что выяснил, что описанный метод вычисления детерминантов можно найти в английской википедии в соответствующей статье. Там тождество Доджсона называется Desnanot-Jacobi identity, и это, по-моему, правильно.
А где скрипт с интерактивным введением матрицы, автоматическим вычислением всего ряда и подсчетом числа операций :) Халявишь?
ОтветитьУдалитьЗ.Ы. MathML - это, мне кажется, тупик. Уж матрицы, то в HTML совсем просто делать.
Скрипт писать лень, да и времени совсем нет.
ОтветитьУдалить[Уж матрицы, то в HTML совсем просто делать.]
Интересно, как ты в html нарисуешь такие матрицы. Не забудь про масштабируемые (ну, в FF по-крайней мере) квадратные скобки. В любом случае, LaTeXовский код, как ты понимаешь, самый лаконичный для таких целей.
Про MathML я не согласен. Синтаксис длинноват, зато более определен, чем LaTeXовский. Можно формулы импортировать в CAS. Просто, сейчас нет пока еще нормальных редакторов для него. Например, в качестве одной простой, но очень значительной фичи было бы автоматическое исправление/удаление завершающего тага при исправлении/удалении начального. Я, честно говоря, вообще не понимаю почему бы в xml не унифицировать завершающий таг как, например </>.
Как в блогере цитаты вставлять, интересно.
PS Кстати, я проверил, что Математика правильно импортирует матрицы в этом посте. И еще, вот какой вопрос пришел на ум. Прямое вычисление (и разложение по строке) детерминанта использует только сложение, вычитание и умножение. Два более быстрых метода используют также и деление. Можно представить случай, когда деление не определено (совсем). Вопрос: можно ли быстро считать детерминанты без деления?
ОтветитьУдалитьВот, кстати, http://winterhunters.blogspot.com/2010/06/blog-post_29.html
ОтветитьУдалить