[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



Но постараюсь всё же вернуть нас ближе к изначальной теме.

On Tue, 24.03.2009 19:34:40 , Тихон Тарнавский wrote:
> On Tue, 24.03.2009 19:07:54 , Alexey Pechnikov wrote:
> > On Tuesday 24 March 2009 16:22:27 Тихон Тарнавский wrote:
> > > Не понял, какие фантазии? Вы не допускаете возможности символьного
> > > вычисления производных от выражения произвольной степени вложенности с
> > > помощью рекурсии? Ну так смотрите во вложении. Только учтите, что это
> > > _учебный_ пример. Некоторые места сознательно написаны сложнее, чтобы
> > > показать конкретные приёмы; некоторые места сознательно написаны ближе
> > > к императивному стилю для облегчения восприятия всего примера; в том
> > > же файле есть одна или две небольших функции, которые в самой функции
> > > дифференцирования не используются.
> > 
> > Как я понимаю, вот такую производную ваш код уже не вычислит:
> > (d/dx) exp (-x^2*sin(x)^2)
> Неправильно понимаете. Подсказка: exp(x) в maxima записывается как %e^x.
> (%i1) load("deriv");
> (%o1)                      /home/t/.maxima/deriv.mac
> (%i2) deriv(%e^(-x^2*sin(x)^2));
>                                                         2    2
>                         2         2                  - x  sin (x)
> (%o2)         (- 2 x sin (x) - 2 x  cos(x) sin(x)) %e
> Да и с чего бы ему её не вычислить? Вы код смотрели? В каком месте
> непонятно?
Как я уже написал, производная берётся для функции любой сложности
(из тех действий, которые обрабатываются) любого порядка и по любому
количеству неизвестных.

Вы сказали что-то вроде "транспонирование матрицы -- это ерунда, это и
си с sql-ем сделать не сложнее". Я привёл другой пример. В файле 92
строки. Из них минимум треть добавена исключительно в целях, нужных
для статьи; в частности, для рассмотрения некоторых искуственно
введённых сюда приёмов и для удобства построчного комментирования.
Плюс многочисленные проверки, которые на функциональном языке тоже 
выглядели бы лаконичнее. Итого строк 50 максимум. Добавим реализацию
матаппарата в том объёме, который нужен для этой функции -- пусть ещё
50 строк (с большим запасом). Для императивного языка даю фору --
порядок. В тысячу строк уложитесь? Уверен, что нет. Если два порядка
форы дам -- тогда можно. Намного меньше вряд ли.

-- 
С уважением,
Тихон Тарнавский.
http://linuxforum.ru
http://posix.ru


Reply to: