LINUX.ORG.RU

Математические пакеты под Линукс


0

0

Это скорее не вопрос - просто поболтать на эту тему захотелось.
У меня на компьютере в данный момент - целый зоопарк всевозможных пакетов - как такового killer-application в этой области нет (может быть Matlab - но он как известно весьма и весьма платный). Для fitting'а - Scilab, боле или менее серьезные расчеты - в Octave (нужно было уравнение с комплексными Бесселями недавно решить - кроме него никто не умел это делать), менее серьезные - в tcl/BLT (у меня data acquisition на них сделано - так же как и предварительная обработка данных), презентационные графики - в Grace. C cernlib и root - у меня отношения как-то не сложились - язык командной строки у них уж очень стремный (в root 'e вообще там с указателями манипулировать можно было - от чего меня до сих пор в дрожь бросает). C root'oм вообще идиотизма хватало - все его графические приблуды валились в segfault на раз, а его widget set руссификации в принципе не поддавался. Cernlib выглядил более пристойно, но как тут недавно про него выразились - уж очень хардкорно.
Недавно же наткнулся на такой пакет для статистических расчетов под названием R (www.r-project.org) - и как мне показалось - если кто станет таким killer-app так это он. Приятный язык (утверждается что функциональный), весьма гибкие функции для подгонки данных (Нелдер-Мид мой любимый например имеется), комплексные специальные функции (но тоже не везде, к сожалению), симпатичные графики (статические - опять же к сожалению). Биндинги под Tk и Gtk (кстати, по-видимому комбинация пакетов RGtk и grid - это такая альтернативная реализация графических функций - позволяет строить и динамические графики). Весьма устойчивый и вылизанный (его довольно долго уже развивают) - я с ним неделю игрался и никаких пакостей с его стороны не видел.
Что скажете?

geekkoo

anonymous

В ROOT'е CINT, сиречь С интерпретатор. А чем ROOT не data acquisition?

anonymous
()

Ну я понимаю что цинт, тока си там все же приплюснутый. Может быть root как библиотека и ничего, но в интерактивном режиме for циклы писать и pointer dereference делать - все же не то что мне бы хотелось.

А делать из root data acquisition - не очень понимаю зачем. В принципе от таких программ требуется не очень много - прицепиться к файлам устройств, читать/писать в них данные, визуализировать их и куда нибудь сохранять. Скорость и буфферизация данных - зависят уже от драйвера устройства, поэтому от собственно программы особого быстродействия не требуется, так что даже скриптового языка может хватать (со всеми вытекающими отсюда последствиями - легкость модификации и гибкость настройки). root тут мне не очень-то и нужен.

И вообще - есть такое наблюдение - если в мануалах к программе появляется слово framework - то нужно хвататься за карман и делать ноги - обуют обязательно. root- лишнее тому подтверждение - у него фреймворк на каждой странице мелькает.

anonymous
()

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

Может кто подскажет, где еще можно перемолоть 20 многомерных мегасобытий данных, при том что поля не все double и float, а по большей части целочисленные (данные с АЦП)? Пробовал MATLAB, не катит, дохнет он просто или результата ждать опухнешь.

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

И еще мне скорость все таки важна, и надежность тоже. Поэтому использую только Lowloevel stuff, тк обработка (онлайн) довольно сложная и жрет 90% времени, а остальное приходиться делить между рисованием и сохранением.

PS: я вовсе не фанат С/С++ мне больше по кайфу со скриптами дело иметь, но как говорят, жизнь заставит...

anonymous
()

Я не собираюсь защищать Матлаб, но обработку картинок размером 1000x1000 пикселей я в нем делал стандартными средствами (интегрировал по траекториям). Не опух :), хотя по пол-часа ждать приходилось. В каком-то виде подгружать свои библиотеки к нему тоже можно. Понятно , что продукт закрытый и где-то что-то в нем подкрутить не удается, хотя иногда и хочется.
Мне поэтому R и понравился, что это в некоторм смысле (может я еще на его подводные камни и не наткнулся) - это такой открытый Матлаб - с высовоуровневым скриптовым языком, с возможностью интегрирования своего С и Fortran кода. Хотя насчет есть ли у него целочисленный тип - не уверен, посмотрю. И на скорострельность я его тоже не оценивал.
В cernlib и root проблема как раз что у них скриптовой язык на мой взгляд слишком низкоуровневый (в root особенно) и работать с ним из командной строки не удобно (а зачастую и просто опасно - завалить нафик можно).

anonymous
()

Я с R имеюсь около полугода -- действительно классная штука! Но беда там с nln-linear фитированием :( Но - стал искать C-шные библиотеки, компилировать их с R API, и стало скоро получаться. Заодно кое-что узнал о том, как там все объекты устроены :-)

А перешел я на на него, бросив ROOT именно потому, что рисует он (R) таки покрасивше :-)

ЗЫ кстати, есть такой сай как http://www.sai.msu.su/sal/ , знаешь?

murla
()

За ссылку спасибо посмотрю.
А с fitting-ом я пользовал optim (там как-раз алгоритм Нелдера-Мида и реализован) - и особых проблем не обнаружил.

geekkoo

anonymous
()

Не интерактивности ради - extreme для :)
Насколько FORM народом юзается?

P.S.
ROOT - гавно. Но Брюн(е) его допинал, работает (!). Кто б мог подумать 3-4 года назад,
что сие у(гро)бище станет юзабельным! Вспоминается мне, как в 99 году оно в течение 10
минут кору писАло, сдохнумши...

Die-Hard ★★★★★
()

А form разве из этой оперы (я им не пользуюсь- вот только сейчас в SALe подсмотрел)? Он же позиционируется как сomputer algebra system - так для этого дела максима имеется (+техмакс).

geekkoo

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

Ну так. Фреймворк и есть. Для интерактивной работы не предназначен. На нём приложения строить надо...

Antichrist
()

И, кстати, почему не помянута Maxima?

Antichrist
()

Может кто подскажет где еще можно перемолоть много (более 20*10^6) событий с целочисленными полями за разумное время? Я пользую рут последние 2 года, с точки зрения хранилища данных и посмотреть по-бырому "что будет если..." он меня устраиват.

Я понимаю, что от добра добра не ищут, но все же кто как сии задачи решает?

PS: Гавно кричать любой мудак может, а ты который трудно сдохнувший, в своей жизни хоть что то больше хелё ворлд делал? Или только по форумам пиписьками мериться можешь?

anonymous
()

PPS: maxima кульная весч для аналитики.

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

geekkoo:
> А form разве из этой оперы ... Он же позиционируется как сomputer algebra system
Ну да. А че, CAS к математике не относится ;)?

> так для этого дела максима имеется (+техмакс)
Ну, я и спрашивал - насколько ФОРМ востребован?
Дело в том, что возможности ФОРМа (скорость+размеры обрабатываемых данных) на сегодня
значительно превосходят возможности других систем. Но возникает вопрос - а оно кому
надо?


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

anonymous (*) (2003-01-25 16:06:27.49):
> Или только по форумам пиписьками мериться можешь?
Ну, твою пипиську, поди, и под микроскопом не видать - иначе б хоть зарегистрился прежде чем хамить ;)

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

А в чем задача-то? И что значит разумное время?
Говорю же в Matlab'е у меня аналогичная задача была с обработкой картинок (1000x1000=10^6 класс uint) так полчаса требовалось на то чтобы этот массив рассортировать (классифицировать по траекториям) - в этом то главные тормоза и заключались. Простые операции типа усреднения по трем RGB каналам проходили за очень разумное время (sum(...,3)). В scilab'e есть также имеются два альтернативных пакета для работы с картинками.
Понятно, что от добра добра не ищут - если есть работающий код на root и отказываться от него по "идеологическим" соображениям не стоит. Но ИМХО на мой взгляд задача не кажется мне такой уж уникальной.
PS А у root все математика действительная? Что то у меня такое мнение сложилось, что комплексные числа он в принципе не понимает.

anonymous
()

Задача в следующем. Есть порядка 1000 групп событий. В каждой группе 10-30 тысяч событий, каждое из которых содержит 7 14-битных целочисленных значений с ADC (выглядит как длинная сопля в 7ми мерном пространстве). Мне надо, хотя бы за нескольких часов:

1) избавится от шума, для чего сначала выкинуть события, которые встречаются более чем в одной группе, те. убрать пересечения, а потом выкинуть события из 7ми мерной гистограммы, кол-во которых не превышает порога.

2) профитировать то что осталось полиномом.

Скачал вот R-project там вроде как даже robust fit есть. Сижу разбираюсь. А scilab'e есть robust fit?

В принципе в ROOT'e много чего есть по фитированию, но я этим не пользуюсь, ибо долго и медленно. Плата за универсализм. Зато можно много чего безболезненно прикрутить через CINT.

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