LINUX.ORG.RU

Mockmma поможет заменить Mathematica

 , , , mockmma, ,


0

0

Недавно стартовал новый проект, который должен добавить функциональности свободным системам компьютерной алгебры. Mockmma, предназначен для конвертации файлов .m проприетарной системы Mathematica производства Wolfram Research в .mac для свободной системы Maxima. Mockmma также предоставляет командную строку в которой можно вести вычисления с использованием подмножества синтаксиса от системы Mathematica.

В настоящее время проект находится на самой ранней стадии, хотя уже можно кое-что скачать работающее. Идёт поиск разработчиков, приглашают присоединиться: http://www.math.utexas.edu/pipermail/... Разработка идёт в основном на языке Lisp.

>>> Подробности

Лисперы будут довольны

Siado ★★★★★
()

Очень хорошо. Но возможности Максимы все равно даже близко не стоят с возможностями Математики.

Nxx ★★★★★
()

ч0рт, а я уж думал новостей нету, а это просто, что одну закрепили на главной.

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

> Очень хорошо. Но возможности Максимы все равно даже близко не стоят с возможностями Математики.

Софт не обязан быть комбайном. Кроме maxima есть ещё axiom, scilab, octave, R, ROOT и прочее.

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

.mx

как вариант

и вообще более нужно ИМХО систему ввода в духе математики прикрутить к WxMaxima

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

> Софт не обязан быть комбайном. Кроме maxima есть ещё axiom, scilab, octave, R, ROOT и прочее.

И любой из этих систем далеко до Mathematica в символьных вычислениях.

Nxx ★★★★★
()

Транслировать конечно можно, да только максима слабовата в символьных вычислениях. Тривиальные интегралы не берет, так что как оно в реальных задачах не знаю =/

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

> Софт не обязан быть комбайном. Кроме maxima есть ещё axiom, scilab, octave, R, ROOT и прочее.

Вышеназванные пакеты сопоставимы лишь друг с другом. Какие-то отдельные функции там могут быть реализованы лучше, чем в Mathematica. Однако, Mathematica, при всех ее багах и недостатках, имеет крайне гибкий язык программирования и огромную кодовую базу с готовыми и отлаженными реализациями численных и символьных методов. Чтобы довести до того же уровня хотя бы один из указанных проектов, нужны даже не годы, а десятилетия работы большого коллектива разработчиков.

Иногда нужно просто признать то, что FOSS-сообщество не способно в каких-то областях конкурировать с корпорациями. Нужно трезво оценивать силы и работать над теми проектами, которые могут быть доведены до конкурентноспособного состояния максимум за несколько лет, а не браться за все подряд и плодить недоделанные клоны коммерческого ПО. А потом навязывать всем эти клоны, и приговаривать, что де "проприетарщина не нужна".

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

МАтематика --- говно собачье.

И даже mathomatic не поможет тупому быдлу,
которое но со слюной расписывает достоинства
всяких программ, а само нихрена не понимает даже
в алгебре-геометрии-матане.

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

Вот те кто хвалят математику в символьных вычислениях - вы можете подсказать, как создать массив из символов? Мне надо создать неизвестное заранее количество символов, и вставить их в качестве итераторов. Почему-то когда в качестве итератора указываешь ячейку массива, то он начинает ругаться, что тэг Part is protected. Т.е. похоже, что ячейка структуры List - это не символ, но функция (т.е. Part[List, номер_ячейки]).

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

Деточка, я физик-теоретик, кандидат физ-мат наук. А что сделал ты в своей жизни, чтобы разевать рот по поводу систем компьютерной алгебры?

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

>Иногда нужно просто признать то, что FOSS-сообщество не способно в каких-то областях конкурировать с корпорациями.

Так FOSS и этого и не утверждает. То, что код открыт и свободен ни разу не значет, что она разрабатывается just for fun. Например eclipse, linux, OO, Darwin, и прочее.

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

> Вот те кто хвалят математику в символьных вычислениях - вы можете подсказать, как создать массив из символов?

Символы -- это что? Переменные? Имена функций? Если я правильно понял, и это имена функций, которые нужно применить к каким-то данным, то попробуйте делать в цикле Map[array[[i]], {data}].

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

> Иногда нужно просто признать то, что FOSS-сообщество не способно в каких-то областях конкурировать с корпорациями.

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

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

> Деточка, я физик-теоретик, кандидат физ-мат наук. А что сделал ты в своей жизни, чтобы разевать рот по поводу систем компьютерной алгебры?

А чё кипятимся то так? Спокойнее надо быть кандидат наук. Пример не кандидатам показывать надо.

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

> И любой из этих систем далеко до Mathematica в символьных вычислениях.

reduce ещё есть. Кроме того далеко - понятие относительное.

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

В математике нет разделения на переменные и функции. Любое выражение в математике имеет вид Функция[Аргумент1, Агрумент2,...]. Даже число 123 имеет вид Integer[123]. Символ - это какое-то имя, которое может хранить выражение. Так вот, ячейка массива - вызывается функцией Part[], т.е. когда мы указываем ячейку - мы по сути вызываем функцию.

Обычна эта функция должна что-то возвратить на место себя, я думаю, что в случае парт - это символ, который содержит ячейку массива. Но проблема в том, что почему-то итераторы принимают не результат исполнения Part[], но всё выражение целиком, без предварительного вычисления результата. И получается, что внутри функции идёт присваивание такого вида: Part[{a, b, c}, i] = iterator. Т.е. мы пытаемся переопределить функцию Part, а не результат её работы. А функция Part защихена от переопределения....

Задачу я пока решил тупой работой со строками - т.е. просто сгенерировал нужную строку и конвертировал её в код Математики. Итого простейшая задача, которая решается в каком нить Си за 5 минут - проход по всем элементам массива неизвестной мерности, превратилась в большой геморрой в Математике.

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

Извиняюсь - не по всем элементам массива, но по всем возможным комбинациям всех ячеек всех под-массивов.

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

Подобные проблемы решаются с помощью функций для evaluation control, таких как Evaluate и Hold. См. в справке раздел Core Language/Expressions/Controlling Expression Evaluation.

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

Evaluate уже пробовал - он точно также заглатывает Evaluate во внутрь не пытаясь вычислить результат. И разумеется ругается, что Evaluate is protected...

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

Ну попробуйте сами:

mas = {1, 2}; Sum[{mas[[1]]}, {Evaluate[mas[[1]]], 10}]

итого: Sum::write: Tag Evaluate in Evaluate[mas[[1]]] is Protected. >>

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

EvgenijM86
()

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

П.С. На самом деле грустно, от того как опенсорс отстает от развитых продуктов... это на меня еще евинс грусть наводит.

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

Вот мне интересно, а почему все физики-теоретики так любят Mathematica? Потому что там написан пакет для работы с диаграммами Фейнмана?

В плане общего бреда: интересно, когда разовьются непертурбационные методы (типа счета на решетке), что будет популярно? Пакет, где _первым_ имплементируют это для "широкого" круга?

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

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

> Иногда корпорациям нужно просто смериться с тем, что они вымрут как большие мамонты, точнее скорее динозавры

Пока есть скучные вещи, которые нужно заставлять кого-то делать за денежное вознаграждение, будут и менеджеры, и корпорации. Но если эти корпорации замкнутся на себе и перестанут быть эффективными, то конечно вымрут.

Я считаю, что сообщества разработчиков, организованные по сетевому принципу, являются не альтернативой корпоративного способа производства, а лишь его развитием и надстройкой. Прежде всего, потому что communities экономически зависимы от окружающего мира. Грубо говоря, где бы сейчас было ядро Linux, и на что бы сейчас жили его основные разработчики, если бы они не работали full-time в тех или иных компаниях? Если говорить о каком-то hobby project, то он будет развиваться гораздо медленнее, чем тот или иной корпоративный продукт.

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

Я не физик, но могу сказать за что люблю Математику:

1. Все выражения имеют одинаковую структуру, и это очень хорошо для мета-программирования (хотя некоторые функции ведут себя по идиотски, используя Hold для своих аргументов, там где это нафиг не надо). 2. Замечательная визуализация функций - http://bugman123.com/Math/Math.html

3. Навороченные средства для работы с выражениями самого языка, что опять таки очень хорошо для мета-программирования.

4. В последних версиях можно просматривать как изменяется график функции в динамике.

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

> Я считаю, что сообщества разработчиков, организованные по сетевому принципу, являются не альтернативой корпоративного способа производства, а лишь его развитием и надстройкой. Прежде всего, потому что communities экономически зависимы от окружающего мира. Грубо говоря, где бы сейчас было ядро Linux, и на что бы сейчас жили его основные разработчики, если бы они не работали full-time в тех или иных компаниях? Если говорить о каком-то hobby project, то он будет развиваться гораздо медленнее, чем тот или иной корпоративный продукт.

а почему Вы решили что именно разработчики написав за деньги в рамках служебных обязанностей продукт не могут отдавать его под открытой лицензией? Экономика она многоукладна (еще вождь указал) и новое не заменяет уже имеющееся.

"корпоративный продукт" это коробочный софт? так извиняюсь, но успешный автор придумавший что то в своей предметной области и опубликовав под GPL просто конфетку сделает. А корпорация родит мышь и та или дохлая или скоро будет таковой.

Например R и Статистика для винды. Явно R лучше. А Статграфикс вообще в тесных объятьях корпорации погиб. Хотя был не хуже R (основан на APL и всё такое).

PS Или Вы просто тролль? и рассуждаете о чем то сферичном?

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

> Вот мне интересно, а почему все физики-теоретики так любят Mathematica?

Mathematica пользуются для того, чтобы по-быстрому сосчитать то, что уже получено и записано на бумажке, построить графики, которые пойдут в публикацию. И так, чтобы при этом не возиться с деталями, вроде реализации каких-нибудь методов Гаусса, или тем более думать о выделении и освобождении оперативной памяти. Осваивать вместо одной Mathematica ...дцать недоработанных opensource продуктов -- это лишняя трата времени.

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

> непертурбационные методы (типа счета на решетке)

Вы имеете в виду вот это: http://arxiv.org/abs/hep-th/9610132 ? Так это же аналитика в основном, причем не всегда математически-корректная (интегралы по траекториям, расходящиеся ряды). Ее не каждому человеку объяснить можно, не то что запрограммировать. Можно сделать разве что какие-то простые вещи, типа модели Изинга в одном и двух измерениях с помощью метода Монте-Карло.

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

> Пока есть скучные вещи, которые нужно заставлять кого-то делать за денежное вознаграждение, будут и менеджеры, и корпорации. Но если эти корпорации замкнутся на себе и перестанут быть эффективными, то конечно вымрут.

Не всё так просто. В отличии от корпоративного кода свободный код никогда не умирает полностью и безвозвратно. Mathematica - это продукт одного из последних истинных капиталистов современного времени. Сейчас тяжёлые времена для истинных капиталистов и при их падении всё гибнет вместе с ними. Печально.

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

> Осваивать вместо одной Mathematica ...дцать недоработанных opensource продуктов -- это лишняя трата времени.

Простите, но мне с вас смешно. Есть масса мест, где нет нужды в Matematica вообще и это верно и для физики в том числе. И их _гораздо_ больше, чем мест где Mathematica пока ещё предпочтительнее.

Освоить программный продукт - это очень просто. Основная проблема вовсе не в нём, а предмете, то бишь в голове.

Evgueni ★★★★★
()

много лет использую Mathematica? так что новость радует, правда спешить с переходом не буду...

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

Спасибо всем ответившим.

> EvgenijM86 (*) (14.06.2009 18:00:58)

> 1. Все выражения имеют одинаковую структуру, и это очень хорошо для мета-программирования (хотя некоторые функции ведут себя по идиотски, используя Hold для своих аргументов, там где это нафиг не надо). 2. Замечательная визуализация функций - http://bugman123.com/Math/Math.html


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


Да, метапрограммирование в Мэпле несколько более трудоемко, хотя все его атрибуты: функции высшего порядка, списочные структуры данных и т.д. и т.п. есть. Хотя функции работы со списками неудобны.

> res (*) (14.06.2009 18:27:38)

> Mathematica пользуются для того, чтобы по-быстрому сосчитать то, что уже получено и записано на бумажке, построить графики, которые пойдут в публикацию. И так, чтобы при этом не возиться с деталями, вроде реализации каких-нибудь методов Гаусса, или тем более думать о выделении и освобождении оперативной памяти. Осваивать вместо одной Mathematica ...дцать недоработанных opensource продуктов -- это лишняя трата времени.


Вы неправы. Для этого (в зависимости от сложности выражений) подойдут и maxima, и axiom, и другие коммерческие системы вроде того же Maple или MuPaD (правда, его, вроде, Mathematica и купила). Вопрос весь в том, насколько привычен пользователь, насколько богата культура использования данной программы в кругу его коллабораторов и коллег. Скажем, могу сказать о себе: у меня имеется довольно высокий барьер освоения Mathematica ввиду того, что я хорошо знаю Maple.

> Диаграммной техникой люди пользуются для изображения физически значимых членов ряда теории возмущений. Перевод из графического представления в аналитическое как правило достаточно прост и делается на бумаге. Mathematica подходит разве что для рисования, но для этого есть и более удобные средства.


Да понятно, что перевод прост, а вот считать потом полученные выражения не на бумажке же!

> Evgueni ***** (*) (14.06.2009 18:30:36)

> Не всё так просто. В отличии от корпоративного кода свободный код никогда не умирает полностью и безвозвратно. Mathematica - это продукт одного из последних истинных капиталистов современного времени. Сейчас тяжёлые времена для истинных капиталистов и при их падении всё гибнет вместе с ними. Печально.


Хочу обратить внимание, что тот же Maple прошел обратный путь: от бесплатной системы в версии 4 до коммерческой 10(11,12) версии с системой активации и привязки к удаленному серверу... И помирать вроде не собирается...

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

Почему тогда из Maxima "конфетку под GPL" до сих пор не сделали? И не сделают, т.к. не финансируется и никому не надо.

> А корпорация родит мышь и та или дохлая или скоро будет таковой. Корпорациям надо думать о прибыли, поэтому хочешь-не хочешь, а придется сделать то, что можно кому-то продать. Опубликовать исходный код потом можно хоть под BSD, если собственник не запрещает.

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

>> Не всё так просто. В отличии от корпоративного кода свободный код никогда не умирает полностью и безвозвратно. Mathematica - это продукт одного из последних истинных капиталистов современного времени. Сейчас тяжёлые времена для истинных капиталистов и при их падении всё гибнет вместе с ними. Печально.

> Хочу обратить внимание, что тот же Maple прошел обратный путь: от бесплатной системы в версии 4 до коммерческой 10(11,12) версии с системой активации и привязки к удаленному серверу... И помирать вроде не собирается...

Я намекал на то, что Mathematika принадлежат ровно одному человеку со всеми вытекающими. В этом смысле Maple экономически структурно поустойчивее будет, но там возможны другие засады. Есть примеры когда дохли разные конторы и хирели разные продукты по совершенно разным причинам.

P.S. 4ая версия таки очень давненько была.

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

> Почему тогда из Maxima "конфетку под GPL" до сих пор не сделали? И не сделают, т.к. не финансируется и никому не надо.

Всему своё время. И это время настанет быстрее, чем вы думаете.

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

> Mathematica - это продукт одного из последних истинных капиталистов современного времени

Английский математик Stephen Wolfram, основавший свою фирму, -- истинный капиталист? Wolfram Research гибнет? Вы что-то путаете. "Истинные капиталисты" сейчас ничего не производят, а зарабатывают в банковском или в финансовом секторе, где объем денежной массы растет намного быстрее, чем в "реальной экономике", основанной на производстве и потреблении товаров.

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

> Всему своё время. И это время настанет быстрее, чем вы думаете.

"Нынешнее поколение советских людей будет жить при коммунизме"?

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

> Английский математик Stephen Wolfram, основавший свою фирму, -- истинный капиталист?

Именно так. Он единственный частный собственник своей фирмы не без странностей надо сказать.

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

>> Всему своё время. И это время настанет быстрее, чем вы думаете.

> "Нынешнее поколение советских людей будет жить при коммунизме"?

А вот оскорблять не нужно. Как-то мелко. И уж сравнивать свободные исходники с коммунизмом это значит совсем быть не в теме вопроса.

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

> Почему тогда из Maxima "конфетку под GPL" до сих пор не сделали? И не сделают, т.к. не финансируется и никому не надо.

а почему крутейший стат пакет на xlispe загнулся вместе с собственником (кстате для тех времен потрясающий, да и теперь вздрагиваешь когда видишь)? а такой же маньяк написавший на том же лиспе пакет математика выбился в акулы бизнеса?

Ну уж наверное финансирование тут просто не причем. Просто сквозь сито отбора проходит немного. И GPL как раз сохраняет все от забвения и разрушения. Есть автор или уже нет, проект жив и будет жить.

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

> "Нынешнее поколение советских людей будет жить при коммунизме"?

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

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

> Хочу обратить внимание, что тот же Maple прошел обратный путь: от бесплатной системы в версии 4 до коммерческой 10(11,12) версии с системой активации и привязки к удаленному серверу... И помирать вроде не собирается...

Это меня удивило и я полез искать историю возникновения Maple. Как я понял, свободной системой она никогда не была, а просто бесплатной - не считается. Насчёт "помирать не собирается" я могу сказать, что когда учился в 90-х годах даже не слышал о таких системах как Octave, Maxima или Axiom, reduce и др. Они или не существовали или были проприетарными и мало кому известными. Сейчас они набирают популярность.

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

> "Истинные капиталисты" сейчас ничего не производят, а зарабатывают в банковском или в финансовом секторе

А это уже не капиталисты, а финансисты.

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

> Это меня удивило и я полез искать историю возникновения Maple. Как я понял, свободной системой она никогда не была, а просто бесплатной - не считается. Насчёт "помирать не собирается" я могу сказать, что когда учился в 90-х годах даже не слышал о таких системах как Octave, Maxima или Axiom, reduce и др. Они или не существовали или были проприетарными и мало кому известными. Сейчас они набирают популярность.

ну да, помню что в DLD в то время паковали scilab и такого софта. И уж ему точно на пользу не пошла его (тогда) несвободная лицензия.

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