Сакура

Компьютерная алгебра провалилась. До здравствует компьютерная алгебра!

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

Недавно я осознал, что этого не случится никогда. По многим причинам. И вот самый простой пример почему.
Возьмем простенькую сумму аля: Sum[(1 - p)^(i - 1)*(1 - q1)^(n - i), {i, 1, n}], полином по p и q1.
Что нам выдаст Mathematica на это? Правильно: -(((1 - p)^n - (1 - q1)^n)/(p - q1)).
Теперь по быстрому поставим p->q1 и получается... получается... Да хрень получается, полная!!! :)
(Можно конечно случай p->q1 честно вычислить через Limit. Но это чуть другая история)
И это простейший пример!...

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

Что это означает? Две вещи, как раз то, что написано в заголовке поста:
1) Технология компьютерной алгебры не является следующим этапом развития языков программирования.
2) Тем не менее, любой тупик в месте, где ожидали оживленную дорогу говорит о том, что где-то рядом проходит еще большая дорога. Или другими словами, из факта 1) я лично делаю вывод, что какая-то вариация языка аля компьютерной алгебры должна дать новый прорыв в вычислениях. Например, нужно заменить лишь нотаций мат. объектов и будет нам всем прорыв. Или аля что-то еще, типа ячеистых автоматов Вольфрама...

PS:
1) Почему я считал технологию компьютерной алгебры следующим этапом языков программирования? Логика была такова: старые добрые языки программирования имели дело всегда с конечными сущностями: т.е. программа до сих пор была всегда такова - далай это столько-то раз. Это напоминает арифметику в древней математике. А что пришло в свое время на смену арифметике? Правильно, пришел мат. анализ со своими бесконечными и предельными сущностями. Значит этот этап должен настать и в языках программирования, решил я. Будем ждать :). Задача прежняя - обуздать в языках бесконечность :). Mathematica действительно умеет ее обуздывать, однако - и итоге получается топкое болото, вместо кода и нет открытия новых вещей: т.е. в итоге все равно приходится сначала убедится в том, что получается, а потом уже к тому, что получается привести Mathematica "за ручку". Это не есть новизна ни разу.

Ряды Фурье в MAXIMA

Здравствуйте! Использую Maxima 5.19. Столкнулась с проблемой прогнозирования дискретного временного ряда с помошью быстрого преобразования фурье, использую пакет fft. Подскажите как построить прогноз (экстраполяцию) неперидической функции, представленной дискретным временным рядом?
  • raxela

(no subject)

Нашёл Maxima-у для КПК. Правда, это портированная версия 5.5. Но в ней заработали пакеты stringproc и eval_string от поздних версий. Ещё получилось сменить префиксы имён клеток с C и D на %in и %out и можно пользоваться переменными с именами c1, d1, c2, d2, ... Теперь пользуюсь КПК для символьных вычислений.
doors

Интеграл

Есть задача посчитать приближенно вот такой интеграл:
К сожалению я этого сделать не смог уже руки опускаются... Пробовал численное интегрирование методом Ромберга, и раз пять прочитал параграф в хэлпе 20,4 Function and Variables for QUADPACK. Проблема в том что я не очень хорошо владею английским...
Буду благодарен любой помощи, подсказке или ссылке на литературу.
Заранее спасибо!

Двойная точна на num pad

Использую wxMaxima. Числа ввожу на боковой цифровой клавиатуре(num pad`е). Почему-то при нажатии на точку на num pad`е в строке ввода появляется сразу две точки, одну приходится удалять. Как сделать чтобы появлялась только одна точка? Зачем это нужно, вводить сразу две точки при однократном нажатии на клавишу?

Tcl/Tk

Здравствуйте!
Читал о возможности написания графического интерфейса на TCL/Tk в котором можно представить определенные расчеты проведенные в MAIMA. Хотелось бы узнать как реализовать программный код чтоб заставить эти два продукта взаимодействовать.
Пасиба!