LINUX.ORG.RU

GNU Scientific Library (GSL) 1.15

 , , , , , , , ,


0

4

6 мая 2011 года была анонсирована версия 1.15 GNU Scientific Library (GSL) - библиотеки для вычислений в прикладной математике и науке.

GSL является частью проекта GNU и распространяется на условиях GNU GPL.

GSL написана на C и содержит значительное количество функций - от элементарных математических операций и операций с комплексными числами до численных методов дифференцирования, интерполяции, аппроксимации, решения дифференциальных уравнений, wavelet-преобразования и многих других.

Ознакомиться со списком категорий вычислений можно на википедии или скачав архив с исходными кодами.

В очередной версии, вышедшей через 14 месяцев после предыдущей версии 1.14, появился ряд новых функций, а также были исправлены некоторые ошибки. С подробным списком изменений можно ознакомиться в архиве с исходными кодами или он-лайн в репозитарии GSL на bzr.savannah.gnu.org/lh/gsl/

GSL используется такими проектами как PDL (Perl Data Language), MathGL, PSPP.
Библиотека может оказаться полезной как студентам, аспирантам, преподавателям в учебных и научных целях, так и разработчикам специализированного программного обеспечения.

На странице GSL на gnu.org можно найти информацию о поддерживаемых платформах, руководства, информацию о расширениях и связанных проектах.

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

>>> Страница GSL на gnu.org

есть какие-нибудь бенчмарки?

registrant ★★★★★ ()

Для кого это полезно?

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

> Для кого это полезно?

> ... в прикладной математике и науке

Не?

Gvidon ★★★ ()

Как там дела с производительностью? В сравнении с MKL, например

Gvidon ★★★ ()

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

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

> Если вам нужны числа, то gmp.

Спасибо, посмотрю.

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

В gsl всегда слабовата производительность. Но зато все в одном месте.

buddhist ★★★★★ ()

У них собственная реализация BLAS и Lapack или они используют общедоступные библиотеки?

Vudod ★★★★★ ()

До NAG library пока не дотягивает. Значит есть, куда расти :)

gns ★★★★ ()

Удобная библиотека, жаль, медленная: на CUDA критические части так и не переписали...

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

>До NAG library пока не дотягивает. Значит есть, куда расти :)

Зато бесплатна, что для научной работы - самое то. Да и Фортран 90 - R.I.P. Чтобы быстро проверить идею - проигрывает Матлаб, а для быстрых расчетов - можно Си и GSL.

hulk ()

А методы многомерной оптимизации присутствуют тут?

deterok ★★★★★ ()

только octave, только хардкор

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

>только octave, только хардкор

даже не смешно. Часть библиотек написа красноглазыми студентами - разбирай потом, где косяк. QtOctave как интерфейс вообще неюзабельный, под 4е кеды не переведен.

hulk ()

А есть ли смысл в создании библиотеки, разве свободных научных библиотек мало существует ?

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

Сдается мне, что вести о смерти фортрана сильно преувеличены. Я тут посмотрел на то, что нового в 2003м, ну так кое что интересное есть. MATLAB с внешними библиотеками на чем хочешь — вполне себе средство «поиграться параметрами». Потом эти внешние библиотеки прекрасно превращаются в боевое приложение.

Так что не в пользу NAG — только цена. Но ученых (по крайней мере в России) это никогда не парило. :)

Вот моим математикам полиномы Эрмита понадобилась, что-то я этого сразу в GSL не нашел. А в NAGе — есть. :)

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

Ну вот одна из них. «С миру по нитке» можно много набрать, вопрос только в точности вычислений и отсутствии ошибок. Ну и хочется что бы «в одном флаконе», хоть вызовы будут единообразны.

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

>Сдается мне, что вести о смерти фортрана сильно преувеличены. Я тут посмотрел на то, что нового в 2003м, ну так кое что интересное есть.

Вы видите распространяемые библиотеки на Фортран 90? Я вижу только на Си или Фортран 77. Раньше проблем не было, весь фортрановский код перегонялся в Си с полтычка. Тот же clapack так сделан, с помощью f2c. Теперь же каждый компилятор с Фортран 90 как хочет - так и работает. Прямо вещь в себе. cfortran для перевода на Си более-менее работает, наверное, только с NAG компилятором. Если Фортран 90 и выше так и останется вещью в себе - то он очень быстро вымрет.

>Вот моим математикам полиномы Эрмита понадобилась, что-то я этого сразу в GSL не нашел. А в NAGе — есть. :)

Это здорово:) Ложка дегтя: не на каждом кластере она доступна, чтобы так запросто ее использовать для больших задач.

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

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

Я про то же Reset'у и толкую. Думать над задачей надо, а не о том, где ту или иную библиотеку искать.

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

Не такая уж и медленная (фурье разве что лучше из fftw брать). Хотя про линейную алгебру ничего сказать не могу — не использовал.

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

>где ту или иную библиотеку искать

«Русский-народный-блатной-хороводный» Рунге-Кутт был у меня в школьные годы на колоде перфокарт для ЕС ЭВМ, жаль не сохранился, а то бы выслал посылку по почте :)

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

>«Русский-народный-блатной-хороводный» Рунге-Кутт был у меня в школьные годы на колоде перфокарт для ЕС ЭВМ, жаль не сохранился, а то бы выслал посылку по почте :)

Фи, это ж Фортран. Такое и я найти могу. Такое же, но только на Си есть?

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

> А методы многомерной оптимизации присутствуют тут?

Да

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

>Фи, это ж Фортран.

Фортран для числодробилок - это не «Фи», а «О-го-го»! (c) «12 Стульев» :)

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

Дык эта, тама исчо два предложения было. Про такое же, но на Си как бы замяли? Нехорошо

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

>> Фи, это ж Фортран.

> Фортран для числодробилок - это не «Фи», а «О-го-го»! (c) «12 Стульев» :)

Для «числодробилок» да — не хуже чем С/С++. А вот для всего остального «Фи» ;)

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

> А есть ли смысл в создании библиотеки, разве свободных научных библиотек мало существует ?

Вообще то совсем не много. Например по спец. функциям есть сводная таблица http://dlmf.nist.gov/software/ . Из нее кстати видно, что GSL совсем не плохо смотрится (только функций от комплексного аргумента мало ...).

abalakin ★★ ()

Она не LGPL? Жестоко.

sv75 ★★★★★ ()

Если пишите новости про библиотеки для научных расчетов, то, может быть, стоит объявлять и о релизах библиотеки Alglib? Есть еще интересные библиотеки: NumPy, Scipy, Sympy, Matplotlib, тысячи их. Я использую все эти библиотеки для создания своих программ для различных узкоспециализированных научных расчетов.

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

Обо всём по порядку, уважаемый.
Вот релиз NumPy не за горами...
SciPy 0.9.0 вышел в марте.
Sympy тоже в марте

И да, я не понял, вы осуждаете, что я написал на ЛОРе новость о том, что часто обсуждается в Development, но так ни разу не было в News или наоборот?

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

GSL отличная шустрая библиотека, все эти *py тут прилично отстают. Я 2 статьи в PRA написал (и еще одна в процессе) с помощью GSL кода.

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

>Я 2 статьи в PRA написал

коллега? тоже в PRA пишу. Можно узнать тематику? У меня - лазерное охлаждение, пленение, атомные ловушки.

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

И какой же аспект вы всё-таки осуждаете? :)
То что нет инфы по всем существующим полезным библиотеки?

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

Просветите.

PRA = Physical Review A journal? В OpenAccess?

Там кажется про механику макротел и робототехнику (мои интересы) не пишут, судя по описанию на главной. Сегодня нашел ресурс OpenAccess http://arxiv.org/ Если буду писать статьи, то туда.

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

Можно и так сказать. Нет инфы по всем. Новости я читаю только на ЛОРе. Захожу автоматически, как только линь загрузится. А так сразу и инфа грамотная и актуальная, и коментарии.

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

>PRA = Physical Review A journal?

Да. Журнал рецензируемый и очень популярный на Западе. Серия A - по оптике. Есть и другие серии, но вообще-то журнал физический.

>Сегодня нашел ресурс OpenAccess http://arxiv.org/ Если буду писать статьи, то туда.

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

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

>Для «числодробилок» да — не хуже чем С/С++. А вот для всего остального «Фи» ;)

Для «числодробилок» он не просто «не хуже», а лучше. А для «остального» этот язык никогда и не предполагалось использовать.

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

>> Для «числодробилок» да — не хуже чем С/С++. А вот для всего остального «Фи» ;)

> Для «числодробилок» он не просто «не хуже», а лучше. А для «остального» этот язык никогда и не предполагалось использовать.

Не лучше, а почти не хуже. Нет ни одной фортрановской конструкции, которую нельзя реализовать на С/С++ с не худшей производительностью чем на фортране. В тоже время на С/С++ легче оптимизировать код под конретный процессор/систему, чем на фортране. Особенно это касается многопотоковых и многопроцессорных программ.

А насчет всего остального ... ведь пытаются ... значит это кому-то надо. Но очень сложно на фортране :/ . MathGL в какой-то мере визуализацию из под фортрана облегчает.

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

Скромно плюсую

На форте не писал, однако то, что в бинарные дистрибуты вместо fort77 ставят обёртку f2c по умолчанию, вместо того, чтоб gfortran, как бы, наверное, намекает...

>>MathGL в какой-то мере визуализацию из под фортрана облегчает.
>>MathGL

Алексей, я вас рассекретил в другом треде, ничего страшного? :)

adriano32 ★★★ ()
Ответ на: Скромно плюсую от adriano32

> Алексей, я вас рассекретил в другом треде, ничего страшного? :)

Да я вроде не сильно и скрывался ;)

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

На ЛОРе такая редкость видеть людей, которые чем-то реально занимаются, а не флудят во все разделы подряд :)

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

>В тоже время на С/С++ легче оптимизировать код под конретный процессор/систему, чем на фортране. Особенно это касается многопотоковых и многопроцессорных программ.

Ну-ну, интересно где эта «легкость» порылась?

Или прагмы проще писать чем комментарии в фортране? Давай покажи мне легкость С++ для вот такой например конструкции

!$OMP WORKSHARE

FORALL (I = 1 : N, AA(1, I) == 0) AA(1, I) = I

BB = TRANSPOSE(AA)

CC = MATMUL(AA, BB)

!$OMP ATOMIC

S = S + SUM(CC)

!$OMP END WORKSHARE

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

> На ЛОРе такая редкость видеть людей, которые чем-то реально занимаются, а не флудят во все разделы подряд :)

На самом деле их не столь уж и мало. Со многими знаком лично. Просто они заняты делом и флудить некогда :) Поэтому их не так заметно на общем фоне.

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

>> В тоже время на С/С++ легче оптимизировать код под конретный процессор/систему, чем на фортране. Особенно это касается многопотоковых и многопроцессорных программ.

> Ну-ну, интересно где эта «легкость» порылась?

> Или прагмы проще писать чем комментарии в фортране? Давай покажи мне легкость С++ для вот такой например конструкции

OMP есть и на С/С++ (http://ru.wikipedia.org/wiki/OpenMP). Пример переписывается дословно.

Другой вопрос, что реализация OMP далеко не оптимальна за счет лишних инструкций создания/удаления потоков и неоптимизированной памяти. На pthread я напишу код более оптимальный (но более громоздкий) за счет лучшей организации обращений к памяти и создания/удаления нитей. Собственно кусок кода распараллеливания уже есть в «черновиках» MathGL 2.0.

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