Но постараюсь всё же вернуть нас ближе к изначальной теме.
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 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org