Comments on: GSL – GNU Scientific Library http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/ Weaving together Astronomy+Statistics+Computer Science+Engineering+Intrumentation, far beyond the growing borders Fri, 01 Jun 2012 18:47:52 +0000 hourly 1 http://wordpress.org/?v=3.4 By: Alex http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/comment-page-1/#comment-813 Alex Mon, 27 Oct 2008 17:44:17 +0000 http://hea-www.harvard.edu/AstroStat/slog/?p=1095#comment-813 I personally favor a combination of Python, C++, and R for statistical work. I used to work with Matlab, but NumPy + SciPy have replaced it for me (free as in speech & beer, and they play well with other applications). With GSL & C++, plus RPy and the other APIs, it's pretty straightforward to build fast, usable tools without too much "nitty-gritty" coding (aka, C++). I personally favor a combination of Python, C++, and R for statistical work. I used to work with Matlab, but NumPy + SciPy have replaced it for me (free as in speech & beer, and they play well with other applications). With GSL & C++, plus RPy and the other APIs, it’s pretty straightforward to build fast, usable tools without too much “nitty-gritty” coding (aka, C++).

]]>
By: Jiangang http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/comment-page-1/#comment-811 Jiangang Sun, 26 Oct 2008 20:54:40 +0000 http://hea-www.harvard.edu/AstroStat/slog/?p=1095#comment-811 GSL in C/C++/Fortran is very good for people who need high efficiency computation, for example, if you are handling terabytes/gigabyes scale data, or doing high dimensional parameter fitting to complicated models, such as those cosmological models. Personally, I prefer C++ because most of my work need high efficiency. Especially, I think the ultimate bottle neck lies in we cannot increase the speed of computer the same pace as the increase of data(you cannot make electrons move faster than light). While, a combination of C++ and Python should be enough for most need in scientific research. A even better(in the sense of efficiency) one is the Intel Math Kernel Library (google it for more comparisons), which, unfortunately, is not free. GSL in C/C++/Fortran is very good for people who need high efficiency computation, for example, if you are handling terabytes/gigabyes scale data, or doing high dimensional parameter fitting to complicated models, such as those cosmological models. Personally, I prefer C++ because most of my work need high efficiency. Especially, I think the ultimate bottle neck lies in we cannot increase the speed of computer the same pace as the increase of data(you cannot make electrons move faster than light). While, a combination of C++ and Python should be enough for most need in scientific research.

A even better(in the sense of efficiency) one is the Intel Math Kernel Library (google it for more comparisons), which, unfortunately, is not free.

]]>
By: hlee http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/comment-page-1/#comment-810 hlee Fri, 24 Oct 2008 15:25:38 +0000 http://hea-www.harvard.edu/AstroStat/slog/?p=1095#comment-810 Well, in terms of languages, although I'm not a computer person and I never will be, I started with <b>Basic, fortran77/90/95,</b> and <b>C/C++</b>, then <b>Splus, Minitab, SPSS, Arc, Gauss, SAS,</b> and <b>R</b> came along from the statistics side, then <b>MATLAB</b> from engineering courses, and then <b>Mathematica</b> and <b>Maple</b> from computational physics. Which ever libraries and modules make a life easy, I tried to incorporate them to accelerate and to modulize the program. Different from your understanding, it's been a few days I get to know python although a few years back I tried it, so I'm not python person. Additionally, <b>PHP, HTML, XHTML, CSS</b> are something came along because of this slog and don't forget there are astronomical systems/packages/softwares/tools like <b>IRAF, IDL, AIPS, mongo/supermongo</b> that I learned. The main reason of learning python is because of <b>ciao,</b> another astronomical data analysis system. I've tried <b>XSPEC</b> and it seems like I should try <b>ISIS.</b> I have no preference but I wish I could stick to just one. Currently <b>scipy</b> module is invisible from <b>ciao/sherpa</b> (numpy can be imported) and looking for ways to add it within <b>ciao/sherpa.</b> BTW, it's good to have additional information. Thanks Alex! used IMSL some years back when GNU projects were not popular like nowadays and I couldn't understand why people do not go beyond Numerical Recipes when both are commercial (probably, it's because of price? but I think it's cheaper than IDL). Anyway, I'm happy that so far I don't have to learn <b>java</b> nor <b>ajax</b> nor <b>Ruby</b>. Oh and perhaps it'll be interesting to find matching GPL softwares to commonly used ones. So far, Octave, SciLab-Matlab, GSL - IMSL, R - Splus, GDL - IDL are the ones I can think of. p.s. One of my [ArXiv] posts has a paper about ISIS (<a href="http://hea-www.harvard.edu/AstroStat/slog/2008/arxiv-1st-week-june-2008/" rel="nofollow">click here</a>). Well, in terms of languages, although I’m not a computer person and I never will be, I started with Basic, fortran77/90/95, and C/C++, then Splus, Minitab, SPSS, Arc, Gauss, SAS, and R came along from the statistics side, then MATLAB from engineering courses, and then Mathematica and Maple from computational physics. Which ever libraries and modules make a life easy, I tried to incorporate them to accelerate and to modulize the program. Different from your understanding, it’s been a few days I get to know python although a few years back I tried it, so I’m not python person. Additionally, PHP, HTML, XHTML, CSS are something came along because of this slog and don’t forget there are astronomical systems/packages/softwares/tools like IRAF, IDL, AIPS, mongo/supermongo that I learned. The main reason of learning python is because of ciao, another astronomical data analysis system. I’ve tried XSPEC and it seems like I should try ISIS. I have no preference but I wish I could stick to just one. Currently scipy module is invisible from ciao/sherpa (numpy can be imported) and looking for ways to add it within ciao/sherpa.

BTW, it’s good to have additional information. Thanks Alex! used IMSL some years back when GNU projects were not popular like nowadays and I couldn’t understand why people do not go beyond Numerical Recipes when both are commercial (probably, it’s because of price? but I think it’s cheaper than IDL).

Anyway, I’m happy that so far I don’t have to learn java nor ajax nor Ruby. Oh and perhaps it’ll be interesting to find matching GPL softwares to commonly used ones. So far, Octave, SciLab-Matlab, GSL – IMSL, R – Splus, GDL – IDL are the ones I can think of.

p.s. One of my [ArXiv] posts has a paper about ISIS (click here).

]]>
By: victor http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/comment-page-1/#comment-809 victor Fri, 24 Oct 2008 07:49:14 +0000 http://hea-www.harvard.edu/AstroStat/slog/?p=1095#comment-809 As you look like a python guy, here's a good alternative - scipy. It basically incorporates and further extends most gsl into python module with matlab style syntaxis. Fast and simple - actually I like it better than matlab :) As you look like a python guy, here’s a good alternative – scipy. It basically incorporates and further extends most gsl into python module with matlab style syntaxis. Fast and simple – actually I like it better than matlab :)

]]>
By: Alex http://hea-www.harvard.edu/AstroStat/slog/2008/gsl/comment-page-1/#comment-808 Alex Fri, 24 Oct 2008 02:37:45 +0000 http://hea-www.harvard.edu/AstroStat/slog/?p=1095#comment-808 I have had excellent experiences with GSL. There are interfaces for it available for R (<a href="http://cran.r-project.org/web/packages/gsl/index.html" rel="nofollow">http://cran.r-project.org/web/packages/gsl/index.html</a>) and Python (<a href="http://pygsl.sourceforge.net/" rel="nofollow">http://pygsl.sourceforge.net/</a>). In my experience, these are especially useful when there is some less-than-common function that one needs to approximate numerically (for example, the exponential integral). My personal favorite routines to use when programming in C/C++ are: <a href="http://www.gnu.org/software/gsl/manual/html_node/Fast-Fourier-Transforms.html" rel="nofollow">FFT</a> <a href="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Annealing.html" rel="nofollow">Simulate annealing </a><a href="http://www.gnu.org/software/gsl/manual/html_node/Monte-Carlo-Integration.html" rel="nofollow">Monte Carlo integration </a><a href="http://www.gnu.org/software/gsl/manual/html_node/Multidimensional-Minimization.html" rel="nofollow">Multidimensional optimization</a> (and yes, I am enough of a nerd to have favorite numerical libraries) I have had excellent experiences with GSL. There are interfaces for it available for R (http://cran.r-project.org/web/packages/gsl/index.html) and Python (http://pygsl.sourceforge.net/). In my experience, these are especially useful when there is some less-than-common function that one needs to approximate numerically (for example, the exponential integral). My personal favorite routines to use when programming in C/C++ are:
FFT
Simulate annealing
Monte Carlo integration
Multidimensional optimization

(and yes, I am enough of a nerd to have favorite numerical libraries)

]]>