help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Re: gsl c++ wrapper ?


From: Hongzheng Wang
Subject: Re: [Help-gsl] Re: gsl c++ wrapper ?
Date: Sun, 6 Sep 2009 23:29:54 +0800

If I really need a C++ style vector/matrix library, I would refer to
boost uBlas + bindings.  But for daily normal numerical work I
encountered, gsl is easily used and better because vector/matrix
support is not the whole world; we usually need more numerical
computation facilities beyond basic vector/matrix support and gsl is
such a quite complete solution.

On Sat, Sep 5, 2009 at 10:26 PM, Rohit Garg<address@hidden> wrote:
> I think using eigen over gsl (for linear algebra) is a no brainer.
>
> a) gsl is dog slow compared to eigen (no vectorization whatsoever).
> b) gsl has no float option
> c) eigen offers both column major and row major storage
> d) eigen *does* expression templates
> e) eigen will happily map your data and perform operations on it.
> f) eigen has way cooler (aka C++-ey) api over gsl/lapack
> g) eigen is adding support for sparse matrices at a rapid pace.
>
> For (nearly full, I think) lapack to C++ bindings, FLENS is a great
> idea too. But I have never used flens.
>
> http://eigen.tuxfamily.org/index.php?title=Main_Page
>
> I would recommend using eigen/FLENS over gsl anyday for linear algebra
> purposes. BTW, it also does small vectors/matrices. :)
>
> DISCLAIMER: I have contributed and continue to contribute to eigen.
>
> On Wed, Sep 2, 2009 at 1:38 AM, Rodney Sparapani<address@hidden> wrote:
>> John D Lamb wrote:
>>>
>>> I’ve written some wrappers for GSL matrices and vectors and might can
>>> help if someone has a suitable project.
>>>
>>> While Rodney is right that there are some issues with creating a
>>> practical OO interface, C++ is not the same as OO and OO is not the same
>>> as operator overloading (assuming OO means object orientation).
>>>
>>
>> I was talking about both OO and operator overloading.
>>
>>> Another approach to wrapping GSL functions for C++ is to use shared
>>> pointers, namespaces and exceptions. Typically I might create a class
>>> gsl::vector that is an extended shared pointer and whose member
>>> functions look much like the original functions. The main benefit is not
>>> having to deallocate memory explicitly and only once.
>>
>> Well, it seems like there is plenty of interest.  We should all work
>> together and create an add-on.  We can call it GSL++.  I'm in the
>> process of working on my PhD which will mean that I'll have an
>> ample opportunity to use it.  However, I strongly recommend that
>> the test-bed be integral rather than an after-thought.  For each
>> feature, there should be a corresponding check.  I don't really
>> understand dejaGNU/etc. so I can't contribute much to this aspect.
>>
>> Rodney
>>
>>
>>
>> _______________________________________________
>> Help-gsl mailing list
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/help-gsl
>>
>
>
>
> --
> Rohit Garg
>
> http://rpg-314.blogspot.com/
>
> Senior Undergraduate
> Department of Physics
> Indian Institute of Technology
> Bombay
>
>
> _______________________________________________
> Help-gsl mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-gsl
>



-- 
HZ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]