LINUX.ORG.RU

OpenAxiom 1.4.0

 algebra, , , , , openaxiom


0

2

Один из форков Axiom, кроссплатформенной системы компьютерной алгебры, OpenAxiom разродился 15 июня 2011 года после почти двухлетней тишины выпуском 1.4.0.

Основные изменения, затронувшие эту версию, относятся к

  • работе компилятора:
    • поддержка неименованых функций в стиле интерпретатора
    • поддержка параметризированных макросов
    • обработка исключений
    • значительная оптимизация
  • собственно алгебраическому движку:
    • новые домены, категории и типы BooleanLogic, MatrixCategory, MappingCategory и некоторое упорядочивание в существующих
    • в домене String добавлена возможность получения строковой интерпретации DoubleFloat
  • язык Boot, на котором написан компилятор OpenAxiom был значительно улучшен, доля кодов на Lisp постепенно сокращается

>>> Исходный код

>>> Официальный сайт

★★★

Проверено: maxcom ()

>доля кодов на Lisp постепенно сокращается

Замечательно.

anonymous
()

А проект Axiom, похоже, наоборот, удаляет (как там продвинулось, я не знаю) Boot и целиком уходит на Common Lisp.

Пруф (причем старый): http://wiki.axiom-developer.org/axiom-website/releasenotes.html#20091124

По всей видимости, спор насчет наличия этого Boot и привел к форку, но точно не знаю.

Zubok ★★★★★
()
Ответ на: комментарий от NoName

> June 15, 2011

OpenAxiom-1.3.0 has been released.

На SF уже поправили на 1.4.0.

oami ★★
()
Ответ на: комментарий от Zubok

lol, а тем временем в FriCAS:

Old Boot is now gone. Interpreter is build using Shoe. Also the ')boot' command uses Shoe. Part of compiler common to Spad and Boot (low level handling of iterators) is rewitten and simplified (it can no longer handle Boot).

There may be some instability due to the changes, but thank to the removal of Boot future changes to Spad compiler will be easier.

dmn
()
Ответ на: комментарий от Zubok

> По всей видимости, спор насчет наличия этого Boot и привел к форку, но точно не знаю.

По слухам спор просто был. Точнее был человек, который спорил — только он и остался в изначальном Axiom, а все остальные разошлись в форки, дабы не спорить.

Evgueni ★★★★★
()
Ответ на: комментарий от goingUp

> А в каком свободном CAS есть гуй типа как в MathCAD?

Например тут: http://turtletriangle.blogspot.com/2011/02/texmacs-fricas.html

ГУИ к CASам разрабатываются пока в основном отдельно. Так же можно посмотреть в сторону wxmaxima, да и в LyX хотели мордой к CASам сделать.

Evgueni ★★★★★
()
Ответ на: комментарий от RCV

> Чем это принципиально отличается от maxima?

Совсем другая программа. По отзывам спеца (Андрея Грозина) на сегодня из свободных это самый продвинутый CAS. Следует отметить, что Андрей сторонник другой ветки Axiom - FriCAS

Evgueni ★★★★★
()
Ответ на: комментарий от goingUp

MathCAD - наидебильнейшая по интерфейсу программа. Хуже просто нет.

Ориентируйся на Maxima - там всё значительно проще и удобнее.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Ну вот я пару дней назад пытался в wxmaxima решить систему 3 уравнений, на что у меня ушло около часа чтобы разобраться как их вводить. А в маткаде нужно просто тыкнуть на значок { и на остальные

goingUp ★★★★★
()

>язык Boot, на котором написан компилятор OpenAxiom был значительно улучшен, доля кодов на Lisp постепенно сокращается

Ну это просто праздник какой-то!

anonymous
()

Мое предыдущее сообщение удалили, но я честно хочу узнать зачем был сделан этот форк :) Разве Axiom умер или выпускается не под свободной лицензией?

buddhist ★★★★★
()
Ответ на: комментарий от anonymous

>>Ну это просто праздник какой-то!

Так простодушно признаться, что сложнее вычисления факториалов ничего не вычислял.

anonymous
()
Ответ на: комментарий от Zubok

По всей видимости, спор насчет наличия этого Boot и привел к форку

Так вот оно что.

buddhist ★★★★★
()
Ответ на: комментарий от goingUp

> Ну вот я пару дней назад пытался в wxmaxima решить систему 3 уравнений, на что у меня ушло около часа чтобы разобраться как их вводить.

Да документацию необходимо читать. Время на составление исходных уравнений, как правило, сильно превосходит полтора часа (если естественно Демидовича решить с помощью CAS не пытаешься)

А в маткаде нужно просто тыкнуть на значок { и на остальные

Использование этого непереносимого калькулятора-переростка позже может выйти весьма себе боком.

Evgueni ★★★★★
()

to вытертая лужа

Наверняка ни одной dll для Маткада не писал

Что такое «dll для маткада» и зачем впаивать в неразборный китайский калькулятор самоходную инвалидную коляску?

Для таких задач есть набор открытых конструкторов, на любой вкус и цвет.

mclaudt
()
Ответ на: комментарий от Quasar

MathCAD - наидебильнейшая по интерфейсу программа. Хуже просто нет.
Ориентируйся на Maxima - там всё значительно проще и удобнее.

Бхыхыхы, лор такой лор. Ну не знают лорчане, что такое символьная запись и почему с ней нужно работать на холсте.

pat_minus
()
Ответ на: комментарий от mashina

>тем, что аксиомой пользоваться невозможно

Спасибо, за предупреждение

RCV ★★★★
()
Ответ на: комментарий от Evgueni

Есть какое-нибудь GUI под Emacs для работы с форками Axiom? Поскольку пересаживаться только из-за GUI на Texmacs не хочется.

iVS ★★★★★
()
Ответ на: комментарий от iVS

Есть imaxima, для maxima, естественно. Axiom относительно недавно стал свободным, поэтому с ГУИ напряг. Собственно ГУИ к TeXMacs организовал Александр Соловец в рамках конкурса.

Evgueni ★★★★★
()
Ответ на: комментарий от pat_minus

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

И почему? Как эти каракули потом автоматизировать?

Evgueni ★★★★★
()

Итого, от исходного Axiom отщипнулся FriCAS, в основном из-за желания уйти от literate programming. http://lists.gnu.org/archive/html/axiom-developer/2008-04/msg00032.html

Причиной же отщепления OpenAxiom стало нежелание разработчика Axiom развивать Boot.

А как у OpenAxiom с literate programming?

UPD: тоже уходит от него:http://www.mathkb.com/Uwe/Forum.aspx/symbolic-math/2158/Axiom-and-Open-Axiom

Вот вам и хваленое преимущество единства документации и кода.



[off]
to RCV

Я даже успел отпеть Вас

Ты, дьячок, фальшивишь паршивенько, но свой пятак заработал.
[/off]

mclaudt
()
Ответ на: комментарий от iVS

>Есть какое-нибудь GUI под Emacs для работы с форками Axiom? Поскольку пересаживаться только из-за GUI на Texmacs не хочется.

efricas поставляется с FriCAS, из консоли надо просто вызвать efricas. Как я понимаю, он является основным гуи для него, поддержка техмакса может быть слишком свежая.

dmn
()
Ответ на: комментарий от Evgueni

И почему?

Потому что это естественная математическая запись. Если бы математика развивалась в виде символов в строку, сейчас бы у тебя компа точно небыло.

Как эти каракули потом автоматизировать?

У авторов маткада этих вопросов не возникает.

pat_minus
()
Ответ на: комментарий от pat_minus

> Потому что это естественная математическая запись. Если бы математика развивалась в виде символов в строку, сейчас бы у тебя компа точно небыло.

Следует отметить, что основном это нужно, чтобы читать это было удобно. Для ввода по большому счёту чаще лучше в строку — как правило это небольшие сегменты кода.

У авторов маткада этих вопросов не возникает.

А зря. Не все же тупо задачи из Демидовича копируют. Есть люди, которые хотят чтобы компьютер своим прямым делом занимался, а именно решал однотипные тупые задачи с минимальным вмешательством человека.

Evgueni ★★★★★
()
Ответ на: комментарий от mclaudt

> Вот вам и хваленое преимущество единства документации и кода.

Это повод. Причина же в оставшемся разработчике Axiom. А так вполне могли бы развиваться параллельными курсами.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Следует отметить, что основном это нужно, чтобы читать это было удобно. Для ввода по большому счёту чаще лучше в строку — как правило это небольшие сегменты кода.

У авторов маткада этих вопросов не возникает.

А зря. Не все же тупо задачи из Демидовича копируют. Есть люди, которые хотят чтобы компьютер своим прямым делом занимался, а именно решал однотипные тупые задачи с минимальным вмешательством человека.

Что-то я не пойму, как влияет форма ввода на решение задач компьютером???

В маткаде абсолютно такая же полная автоматизация, как и в любой другой CAS программе. И циклы можно мотать, и из файлов данные считывать/записывать, и вызывать маткадовские файлы на расчет из другого маткадовского файла. И условные переходы есть, кароче полный набор программиста. Что еще надо для автоматизации решения однотипных тупых задач? Ничего, все есть.

pat_minus
()

Я чуть-чуть ознакомился с общими моментами этих трех реализаций. Насколько я понял, все их языки — BOOT и SPAD — генерируют в итоге Lisp-программу.

Zubok ★★★★★
()
Ответ на: комментарий от pat_minus

ты не понимаешь, для Ъ линуксоидов маткада не существует.

К вопросу, чем плох маткад иже с ним --- какие методы абстракции в его языке?

dmn
()
Ответ на: комментарий от dmn

ты не понимаешь, для Ъ линуксоидов маткада не существует.

Потому что его нет опенсорчного и под линух, да.

К вопросу, чем плох маткад иже с ним --- какие методы абстракции в его языке?

Не понял вопроса. Абстракции чего? Абстракция структуры программы как объектно-ориентированная декомпозиция, в этом смысле? Там можно выделять каждый расчетный блок в отдельный маткадовский файл и стыковать их так как нужно, вызывать их как подпрограммы.

pat_minus
()
Ответ на: комментарий от pat_minus

>Там можно выделять каждый расчетный блок в отдельный маткадовский файл и стыковать их так как нужно, вызывать их как подпрограммы

просто уссаться можно, высочайший уровень абстракции. Как ты сделаешь функцию f(x, n) = x + x^n полиморфной, чтобы её можно было вызывать для любых колец, например, для R, матриц над R и функций R -> R, где умножение определенно как композиция функций?

dmn
()
Ответ на: комментарий от dmn

Как ты сделаешь функцию f(x, n) = x + x^n полиморфной, чтобы её можно было вызывать для любых колец, например, для R, матриц над R и функций R -> R, где умножение определенно как композиция функций?

Это можно сделать путем динамического определения типа переданных переменных, сделав ветвление и соответствующую реализацию для каждого типа. Идея та же что и в полиморфизме, только реализована по-другому. В полиморфизме тебе точно так же придется либо писать реализации функций, либо делать перегрузку операторов. Смысл от этого не меняется.

pat_minus
()
Ответ на: комментарий от pat_minus

>Это можно сделать путем динамического определения типа переданных переменных, сделав ветвление и соответствующую реализацию для каждого типа.

Может я чего не понимаю, т.е. в определении самой функции явно прописать все варианты для каждого типа? Т.е. для функции выше в маткаде ты просто дополняешь определения + и * на случай функций R -> R?

dmn
()
Ответ на: комментарий от dmn

Может я чего не понимаю, т.е. в определении самой функции явно прописать все варианты для каждого типа? Т.е. для функции выше в маткаде ты просто дополняешь определения + и * на случай функций R -> R?

Не, болле по деревянному. Отдельно функции с префиксами или с постфиксами в именах _number, _vector и т.д. Хотя даже такое в инженерных расчетах по факту негде использовать.

Можно привести пример, для какой практической задачи жизненно необходима полиморфная функция, чтобы её можно было вызывать для любых колец, например, для R, матриц над R и функций R -> R, где умножение определенно как композиция функций?

pat_minus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.