CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

DERIVE: заметки на полях

Алексей ТЕТЕРКО chib@megastyle.com

Прочитал статью Great «Логарифмируем, интегрируем, корень извлекаем!» (МК № 16 (187)), посвященную вычислительному пакету DERIVE 5 (http://www.derive.com). Мне в свою очередь хотелось бы сказать несколько замечаний по этому поводу. Прошу вставить сокращения «ИМХО» по своему вкусу: все дальнейшее это только мое мнение. А мнится мне следующее.

1. Уже DERIVE 3.11 для ДОСа мог решить все школьные задачи и большинство задач по математике для первого курса университетов — дифуры и т. п. Он действительно загружается с дискеты и работает на 486 компьютере.

2. Встроенный язык, к сожалению, не muLisp, на котором все и было написано. Но язык, несомненно, из семейства функциональных. Чтобы дорасти до лиспа, в версии 3.11 не хватало одной конструкции. Не будем уточнять какой. Наверное, все-таки quote.

При переходе на Виндовс система приобрела вес и потеряла мобильность. Были устранены одни недостатки и внесены новые, выявлением которых занимается в частности DUG (Derive Users Group). Язык, наконец-то, получил недостающие конструкции и много других в придачу, что сделало его полноправным диалектом лиспа. Но таким, у которого eval выполняет аналитические преобразования (см. ниже).

По поводу языка и лиспа: лучше сравнивать DERIVE с трехуровневой системой языка REDUCE, и конечный пользователь имеет доступ ко всем уровням, вплоть до RLISPа, на котором REDUCE написана. Насколько известно, DERIVE по такому пути не пошел.

3. Совсем не согласен с сопоставлением DERIVE и других пакетов. Сразу выкидываем MathCAD — в нем стоит аналитический движок Maple, то есть это одно и то же. MathLab всегда развивалась как система именно «численных» расчетов, в отличие от DERIVE.

DERIVE, начиная с muMath, всегда был системой аналитических преобразований (то есть компьютерной алгебры), он ею и остался. Причем, если Maple делает упор на раздельности различных преобразований, полагая (и вполне резонно), что пока еще пользователь-математик лучше его может решить, какие преобразования и как проводить, то DERIVE большинство преобразований делает сам. Последнее удобно, когда важно быстро получить результат. Или если пользователь недостаточно знаком с нужными математическими преобразованиями.

Как это выглядит на практике. Вы берете задачу, подходите к Maple, и тут выясняется, что нужно загружать некие пакеты для решения вашей конкретной задачи, даже если это всего лишь, к примеру, работа с матрицами. Эти пакеты могут иметь свои «синтаксические» особенности и т. д. Если задача действительно сложна, то делать ничего не остается — Maple обычно мощнее DERIVE.

В DERIVE вы просто записываете уравнения и... Если задача ему по зубам, то получаете ответ. Если нет, то запихиваете уже набранное условие в Maple, отличия минимальны — и... Если задача действительно сложна, то вы опять ничего не получаете. Придется программировать, а если учесть, что языки REDUCE, MAPLE, DERIVE схожи, то у вас несколько вариантов. Не самый худший из них — переформулировка задачи в численном виде и программирование на вашем любимом языке, например, на прологе.

В качестве нерешаемой задачи рассмотрите такую. У вас есть система от K целочисленных неизвестных, каждая из которых принимает значения из множества {i| i in N, i<=K}, причем значения разных переменных различны. Параметры выбираете сами. Чтобы решить вашу систему в рассматриваемых пакетах, добавьте к ней уравнения на суммы степеней неизвестных в нужном количестве. Придется рассмотреть простой пример:

x+y=4,

всего переменных три: x, y, z. Они принимают значения из множества {1,2,3}, и значения всех переменных разные.

Добавляем уравнения:

{x+y=4

{x+y+z=6

{x^2+y^2+z^2=14

и решаем полученную систему. И не надо теперь делать никаких предположений о x, y, z! Результаты:

DERIVE 3.11 — решений не нашел;

DERIVE 5.02 — нашел оба решения;

MAPLE 6.02 — нашел оба решения.

Не встречал еще системы компьютерной алгебры, которая решала бы подобные уравнения с 5-ью и более переменными. Но в последнее время наметился прогресс.

DERIVE содержит средства, позволяющие проводить решения уравнений вручную. Эти средства редко описываются, но они есть и давно. Их наличие означает, что DERIVE может служить и для «обучения» математике:

(2*x+17=3)-3

Это, понятно, означает вычитание 3 из обеих частей равенства. Аналогично можно было сделать -17, а затем все поделить на 2.

Большинство пакетов, написанных на DERIVE и свободно доступных в Интернете, имеют учебную направленность. Хотя есть и исключения.

Что в результате? Сильное утверждение — «все» школьные расчеты и расчеты на первом курсе вуза DERIVE может выполнить сам, и он дешевле обойдется пользователю, чем другие из упоминавшихся пакетов (в смысле потерь нервов). Упомяну еще о калькуляторах (TI-9x), включающих DERIVE. Они полностью совместимы с упомянутым пакетом, даже могут загружать программы с компьютера. Приходите на контрольную с калькулятором, и он «все решает сам»!

А если вам до зарезу нужно что-то посчитать с очень большим количеством знаков, и у вас нет UBASICа, берите DERIVE. Простота и интуитивная понятность его не дадут вам отклониться от изучения своей задачи и перейти к изучению DERIVE.

4. Литературы по DERIVE на русском языке очень много, разной по качеству как содержания, так и печати. На украинском знаю только одну книгу, достаточно старую, но ее более чем достаточно для школы, которой она и предназначена.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov