GSL in octave

classic Classic list List threaded Threaded
81 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

GSL in octave

julian
I have to use Laguerre polynomials and some other special functions in a
octave script. Octave doesn't have this functions, so I tried to install
the GNU Scientific Library (GSL), installing gsl-bin, libgsl0ldbl,
libgsl0-dev and octave-gsl from debian repositories.

However, the only function installed in octave is gsl_sf:

-- Loadable Function: gsl_sf ()

     Octave bindings to the GNU Scientific Library.  All GSL functions
     can be called with by the GSL names within octave.

I haven't found any further documentation of the function.

How can I use Laguerre polynomials and other special functions in
octave? Is GSL a good option or there are better ones?


Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

julian
I didn't realize that I have specials functions that are not in octave, such as hypergeometric functions
hyperg_0F1  hyperg_1F1  hyperg_U
so I can express the Laguerre polynomials in terms of these functions.
Anyway, GSL does have Laguerre polynomials, so why there aren't in octave?

On 11/07/16 12:04, julian wrote:
I have to use Laguerre polynomials and some other special functions in a
octave script. Octave doesn't have this functions, so I tried to install
the GNU Scientific Library (GSL), installing gsl-bin, libgsl0ldbl,
libgsl0-dev and octave-gsl from debian repositories.

However, the only function installed in octave is gsl_sf:

-- Loadable Function: gsl_sf ()

     Octave bindings to the GNU Scientific Library.  All GSL functions
     can be called with by the GSL names within octave.

I haven't found any further documentation of the function.

How can I use Laguerre polynomials and other special functions in
octave? Is GSL a good option or there are better ones?


Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

marco atzeri-2
On 11/07/2016 12:10, julian wrote:
> I didn't realize that I have specials functions that are not in octave,
> such as hypergeometric functions
> hyperg_0F1  hyperg_1F1  hyperg_U
> so I can express the Laguerre polynomials in terms of these functions.
> Anyway, GSL does have Laguerre polynomials
> <https://www.gnu.org/software/gsl/manual/html_node/Laguerre-Functions.html#Laguerre-Functions>,
> so why there aren't in octave?
>

someone need to volunteer time to do it.

Please note that the gsl package is currently without an
active maintainer.

Regards
Marco


Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
In reply to this post by julian
----- Original Message -----

> From: julian 
> To: "octave-maintainers 
> Cc:
> Date: 2016/7/11, Mon 19:04
> Subject: GSL in octave
>
> I have to use Laguerre polynomials and some other special functions in a
> octave script. Octave doesn't have this functions, so I tried to install
> the GNU Scientific Library (GSL), installing gsl-bin, libgsl0ldbl,
> libgsl0-dev and octave-gsl from debian repositories.
>
> However, the only function installed in octave is gsl_sf:
>
> -- Loadable Function: gsl_sf ()
>
>      Octave bindings to the GNU Scientific Library.  All GSL functions
>      can be called with by the GSL names within octave.
>
> I haven't found any further documentation of the function.
>
> How can I use Laguerre polynomials and other special functions in
> octave? Is GSL a good option or there are better ones?


I do have enough knowledge on this matter but as far as I know

The gsl octave-package existed in the past and it is categorized as unmaintained
http://octave.sourceforge.net/packages.php


so it may not work on current octave (at least 4.0 later).

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
> From: Tatsuro MATSUOKA 

> To: julian <; "octave-maintainers
> Cc:
> Date: 2016/7/11, Mon 19:24
> Subject: Re: GSL in octave
>
> ----- Original Message -----
>
>>  From: julian 
>>  To: "octave-maintainers 
>>  Cc:
>>  Date: 2016/7/11, Mon 19:04
>>  Subject: GSL in octave
>>
>>  I have to use Laguerre polynomials and some other special functions in a
>>  octave script. Octave doesn't have this functions, so I tried to
> install
>>  the GNU Scientific Library (GSL), installing gsl-bin, libgsl0ldbl,
>>  libgsl0-dev and octave-gsl from debian repositories.
>>
>>  However, the only function installed in octave is gsl_sf:
>>
>>  -- Loadable Function: gsl_sf ()
>>
>>       Octave bindings to the GNU Scientific Library.  All GSL functions
>>       can be called with by the GSL names within octave.
>>
>>  I haven't found any further documentation of the function.
>>
>>  How can I use Laguerre polynomials and other special functions in
>>  octave? Is GSL a good option or there are better ones?
>
>
> I do have enough knowledge on this matter but as far as I know
>
> The gsl octave-package existed in the past and it is categorized as unmaintained
> http://octave.sourceforge.net/packages.php
>
>
> so it may not work on current octave (at least 4.0 later).
>
> Tatsuro


The gsl is written in C so that you are able to use function to write some wrapper to octave oct interface.
(wrapper to C to C++).
https://www.gnu.org/software/octave/doc/interpreter/External-Code-Interface.html#External-Code-Interface

https://www.gnu.org/software/octave/doc/interpreter/Calling-External-Code-from-Oct_002dFiles.html#Calling-External-Code-from-Oct_002dFiles


Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Andreas Weber-6
In reply to this post by julian
Am 11.07.2016 um 12:04 schrieb julian:
> I have to use Laguerre polynomials and some other special functions in a
> octave script. Octave doesn't have this functions, so I tried to install
> the GNU Scientific Library (GSL),
AFAIK know the gsl wrapper is build automatically and it should be easy
to add new functions. From the README
https://sourceforge.net/p/octave/gsl/ci/default/tree/src/README

"GSL special functions are automatically generated. When a new version
of GSL comes out with new functions, add the octave name, the GSL name
and the documentation string to buildgsl_sf.sh." HTH, Andy



Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Andreas Weber-6
In reply to this post by julian
Am 11.07.2016 um 12:04 schrieb julian:
> How can I use Laguerre polynomials and other special functions in
> octave?
Btw, have you tried
http://octave.sourceforge.net/specfun/function/laguerre.html ?

As far as I see the laguerre is now part of symbolic package.
See here:
https://sourceforge.net/p/octave/specfun/ci/f24d9a66c197c3f9eb0abfa7c338334ab2e2d069/

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Colin Macdonald-2
On 11/07/16 04:28, Andreas Weber wrote:
> As far as I see the laguerre is now part of symbolic package.
> See here:
> https://sourceforge.net/p/octave/specfun/ci/f24d9a66c197c3f9eb0abfa7c338334ab2e2d069/

Yes, and don't be fooled by the package name; its a double-precision
m-file implementation.  Its also numerically stable (the specfun pkg
version has some stability problems).

Colin

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Susi Lehtola
In reply to this post by marco atzeri-2
On 07/11/2016 03:23 AM, Marco Atzeri wrote:

> On 11/07/2016 12:10, julian wrote:
>> I didn't realize that I have specials functions that are not in octave,
>> such as hypergeometric functions
>> hyperg_0F1  hyperg_1F1  hyperg_U
>> so I can express the Laguerre polynomials in terms of these functions.
>> Anyway, GSL does have Laguerre polynomials
>> <https://www.gnu.org/software/gsl/manual/html_node/Laguerre-Functions.html#Laguerre-Functions>,
>>
>> so why there aren't in octave?
>
> someone need to volunteer time to do it.
>
> Please note that the gsl package is currently without an
> active maintainer.

Well, I'm maintaining the octave-gsl package in Fedora, so I might as
well maintain it upstream as well... What steps would I need to take to
get svn access?
--
Susi Lehtola
Fedora Project Contributor
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

marco atzeri-2
On 15/07/2016 10:39, Susi Lehtola wrote:

> On 07/11/2016 03:23 AM, Marco Atzeri wrote:
>> On 11/07/2016 12:10, julian wrote:
>>> I didn't realize that I have specials functions that are not in octave,
>>> such as hypergeometric functions
>>> hyperg_0F1  hyperg_1F1  hyperg_U
>>> so I can express the Laguerre polynomials in terms of these functions.
>>> Anyway, GSL does have Laguerre polynomials
>>> <https://www.gnu.org/software/gsl/manual/html_node/Laguerre-Functions.html#Laguerre-Functions>,
>>>
>>>
>>> so why there aren't in octave?
>>
>> someone need to volunteer time to do it.
>>
>> Please note that the gsl package is currently without an
>> active maintainer.
>
> Well, I'm maintaining the octave-gsl package in Fedora, so I might as
> well maintain it upstream as well... What steps would I need to take to
> get svn access?

start from here
http://octave.sourceforge.net/developers.html

the code is not anymore on SVN, but on HG
https://sourceforge.net/p/octave/gsl/ci/default/tree/

Regards
Marco

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Carnë Draug
In reply to this post by Susi Lehtola
On 15 July 2016 at 09:39, Susi Lehtola <[hidden email]> wrote:

> On 07/11/2016 03:23 AM, Marco Atzeri wrote:
>>
>> On 11/07/2016 12:10, julian wrote:
>>>
>>> I didn't realize that I have specials functions that are not in octave,
>>> such as hypergeometric functions
>>> hyperg_0F1  hyperg_1F1  hyperg_U
>>> so I can express the Laguerre polynomials in terms of these functions.
>>> Anyway, GSL does have Laguerre polynomials
>>>
>>> <https://www.gnu.org/software/gsl/manual/html_node/Laguerre-Functions.html#Laguerre-Functions>,
>>>
>>> so why there aren't in octave?
>>
>>
>> someone need to volunteer time to do it.
>>
>> Please note that the gsl package is currently without an
>> active maintainer.
>
>
> Well, I'm maintaining the octave-gsl package in Fedora, so I might as well
> maintain it upstream as well... What steps would I need to take to get svn
> access?

Just submit patches against development sources [1] to the tracker [2].

Carnë

[1] http://hg.code.sf.net/p/octave/gsl
[2] https://savannah.gnu.org/patch/?func=additem&group=octave

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

jbect
Le 15/07/2016 à 13:22, Carnë Draug a écrit :

> On 15 July 2016 at 09:39, Susi Lehtola <[hidden email]> wrote:
>> Well, I'm maintaining the octave-gsl package in Fedora, so I might as
>> well maintain it upstream as well... What steps would I need to take
>> to get svn access?
> Just submit patches against development sources [1] to the tracker [2].
>
> Carnë
>
> [1] http://hg.code.sf.net/p/octave/gsl
> [2] https://savannah.gnu.org/patch/?func=additem&group=octave

@Carnë : I believe Susi's question was about getting push access to the
repo...

@Susi : Thank you for offering to become maintainer of the gsl package.

Regarding your specific question: you have to "earn" the right to push
by first making a few convincing contributions in the form of patches ;-)

Alternatively, you can make a public clone of the hg repo (e.g., on
Sourceforge), prepare your changesets there, and then make a pull
request (on the patch tracker and/or on the maintainers list).

HTH,

Julien.


PS : A few additional relevant links
http://octave.1599824.n4.nabble.com/Interested-in-maintaining-the-gsl-package-tp4676126.html
https://sourceforge.net/p/octave/package-releases/83/
https://savannah.gnu.org/bugs/?func=detailitem&item_id=46442

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Susi Lehtola-2
On 07/15/2016 04:44 AM, Julien Bect wrote:
> Le 15/07/2016 à 13:22, Carnë Draug a écrit :
> Alternatively, you can make a public clone of the hg repo (e.g., on
> Sourceforge), prepare your changesets there, and then make a pull
> request (on the patch tracker and/or on the maintainers list).

Oh that's great. I can get to work in it then.
--
-----------------------------------------------------------------------
Mr. Susi Lehtola, PhD             Chemist Postdoctoral Fellow
[hidden email]   Lawrence Berkeley National Laboratory
http://www.helsinki.fi/~jzlehtol  USA
-----------------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Susi Lehtola
On 07/15/2016 11:06 AM, Susi Lehtola wrote:
> On 07/15/2016 04:44 AM, Julien Bect wrote:
>> Le 15/07/2016 à 13:22, Carnë Draug a écrit :
>> Alternatively, you can make a public clone of the hg repo (e.g., on
>> Sourceforge), prepare your changesets there, and then make a pull
>> request (on the patch tracker and/or on the maintainers list).
>
> Oh that's great. I can get to work in it then.

OK, a new version available at
   https://sourceforge.net/u/jussilehtola/octave/ci/default/tree/

and some testing would be welcome. I rewrote part of the wrappers, since
they were duplicating code.

In addition to the Laguerre polynomials, I also added:

betainc_gsl, choose, conicalP_cyl_reg, conicalP_sph_reg, debye_5,
debye_6, dilog, doublefact, ellint_D, ellint_E, ellint_F, ellint_P,
ellint_Pcomp, ellint_RC, ellint_RD, ellint_RF, ellint_RJ, factorial_gsl,
gegenpoly_n, hydrogenicR, hyperg_1F1_int, hyperg_U_int, lnchoose,
lnfact, lndoublefact, mathieu_a, mathieu_b, mathieu_ce, mathieu_se,
mathieu_Mc, mathieu_Ms
--
Susi Lehtola
Fedora Project Contributor
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
> From: Susi Lehtola 

> To: octave-maintainers> Cc:
> Date: 2016/7/17, Sun 09:35
> Subject: Re: GSL in octave
>
> On 07/15/2016 11:06 AM, Susi Lehtola wrote:
>>  On 07/15/2016 04:44 AM, Julien Bect wrote:
>>>  Le 15/07/2016 à 13:22, Carnë Draug a écrit :
>>>  Alternatively, you can make a public clone of the hg repo (e.g., on
>>>  Sourceforge), prepare your changesets there, and then make a pull
>>>  request (on the patch tracker and/or on the maintainers list).
>>
>>  Oh that's great. I can get to work in it then.
>
> OK, a new version available at
>   https://sourceforge.net/u/jussilehtola/octave/ci/default/tree/
>
> and some testing would be welcome. I rewrote part of the wrappers, since they
> were duplicating code.
>
> In addition to the Laguerre polynomials, I also added:
>
> betainc_gsl, choose, conicalP_cyl_reg, conicalP_sph_reg, debye_5,
> debye_6, dilog, doublefact, ellint_D, ellint_E, ellint_F, ellint_P,
> ellint_Pcomp, ellint_RC, ellint_RD, ellint_RF, ellint_RJ, factorial_gsl,
> gegenpoly_n, hydrogenicR, hyperg_1F1_int, hyperg_U_int, lnchoose,
> lnfact, lndoublefact, mathieu_a, mathieu_b, mathieu_ce, mathieu_se,
> mathieu_Mc, mathieu_Ms
> -- Susi Lehtola
> Fedora Project Contributor
> [hidden email]


Results on Ubuntu 14.04 LTS amd64
gsl 1.16-1 and its dev from ubuntu repo.


$ hg clone http://hg.code.sf.net/u/jussilehtola/octave u-jussilehtola-octave
$ cd u-jussilehtola-octave/src
$ ./bootstrap

Archived the directory u-jussilehtola-octave as gsl-test.tar.gz

start octave-cli with LANG=C (to get English message).

>> cd (directory where gsl-test.tar.gz exist)
>> pkg install -verbose gsl-test.tar.gz


Output (suggesting errors)
*************************************************************************************
mkdir (/tmp/oct-nzJEBd)

untar (gsl-test.tar.gz, /tmp/oct-nzJEBd)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for mkoctfile... /opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    conftest.cc -o conftest.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o conftest.oct  conftest.o   -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave   
retrieving compile and link flags from /opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose
checking for F77_FUNC... g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    conftest.cc -o conftest.o
yes
checking for octave... /opt/octave/4.0.3/bin/octave-4.0.3
checking for OCTAVE_VERSION in Octave... 4.0.3
checking for octave_config_info('canonical_host_type') in Octave... x86_64-pc-linux-gnu
checking for octave_config_info('SHLEXT') in Octave... so
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for strip... strip
checking for gsl_message in -lgsl... yes
checking for gsl_sf_hazard in -lgsl... yes
checking for gsl_sf_gamma_inc in -lgsl... yes
configure: creating ./config.status
config.status: creating Makeconf
 
  "$prefix" is /home/tatsuro/octave/gsl-1.2.0
  "$exec_prefix" is ${prefix}

octave commands will install into the following directories:
   m-files:   /opt/octave/4.0.3/share/octave/4.0.3/site/m/octave-forge
   oct-files: /opt/octave/4.0.3/lib/octave/4.0.3/site/oct/x86_64-pc-linux-gnu/octave-forge
   binaries:  /opt/octave/4.0.3/libexec/octave/4.0.3/site/exec/x86_64-pc-linux-gnu
alternatives:
   m-files:   /opt/octave/4.0.3/share/octave/4.0.3/site/octave-forge-alternatives/m
   oct-files: /opt/octave/4.0.3/lib/octave/4.0.3/site/octave-forge-alternatives/oct/x86_64-pc-linux-gnu

shell commands will install into the following directories:
   binaries:  ${exec_prefix}/bin
   man pages: ${datarootdir}/man
   libraries: ${exec_prefix}/lib
   headers:   ${prefix}/include

octave-forge is configured with
   octave:      /opt/octave/4.0.3/bin/octave-4.0.3 (version 4.0.3)
   mkoctfile:   /opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose for Octave 3
   GSL toolbox: yes

find . -name NOINSTALL -print    # shows which toolboxes won't be installed

make: Entering directory `/tmp/oct-nzJEBd/u-jussilehtola-octave/src'
/bin/bash buildgsl_sf.sh 
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v  coupling_3j.cc -lgsl
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 coupling_3j.cc -o coupling_3j.o
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v  coupling_6j.cc -lgsl
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 coupling_6j.cc -o coupling_6j.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o coupling_3j.oct  coupling_3j.o   -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave   
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v  coupling_9j.cc -lgsl
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 coupling_9j.cc -o coupling_9j.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o coupling_6j.oct  coupling_6j.o   -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave   
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v  legendre_sphPlm_array.cc -lgsl
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 legendre_sphPlm_array.cc -o legendre_sphPlm_array.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o coupling_9j.oct  coupling_9j.o   -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave   
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v  gsl_sf.cc -lgsl
g++ -c  -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 gsl_sf.cc -o gsl_sf.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o legendre_sphPlm_array.oct  legendre_sphPlm_array.o   -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave   
gsl_sf.cc: In function 'octave_value_list Fmathieu_a(const octave_value_list&, int)':
gsl_sf.cc:4628:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
  gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(i)), x.xelem(i), &result[i]);
                                                                          ^
gsl_sf.cc:4632:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
  gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(i)), x.xelem(0), &result[i]);
                                                                          ^
gsl_sf.cc:4636:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
  gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(0)), x.xelem(i), &result[i]);
                                                                          ^
gsl_sf.cc:4639:79: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
      gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(0)), x.xelem(0), &result[0]);
                                                                              ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_b(const octave_value_list&, int)':
gsl_sf.cc:4721:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
  gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(i)), x.xelem(i), &result[i]);
                                                                          ^
gsl_sf.cc:4725:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
  gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(i)), x.xelem(0), &result[i]);
                                                                          ^
gsl_sf.cc:4729:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
  gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(0)), x.xelem(i), &result[i]);
                                                                          ^
gsl_sf.cc:4732:79: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
      gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(0)), x.xelem(0), &result[0]);
                                                                              ^
gsl_sf.cc: In function 'octave_value_list Fellint_D(const octave_value_list&, int)':
gsl_sf.cc:8060:66: error: invalid conversion from 'gsl_sf_result* {aka gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
       gsl_sf_ellint_D_e (n.xelem(i), x.xelem(i), mode, &result[i]);
                                                                  ^
gsl_sf.cc:8060:66: error: too few arguments to function 'int gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
                 from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
 int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
     ^
gsl_sf.cc:8064:66: error: invalid conversion from 'gsl_sf_result* {aka gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
       gsl_sf_ellint_D_e (n.xelem(i), x.xelem(0), mode, &result[i]);
                                                                  ^
gsl_sf.cc:8064:66: error: too few arguments to function 'int gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
                 from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
 int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
     ^
gsl_sf.cc:8068:66: error: invalid conversion from 'gsl_sf_result* {aka gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
       gsl_sf_ellint_D_e (n.xelem(0), x.xelem(i), mode, &result[i]);
                                                                  ^
gsl_sf.cc:8068:66: error: too few arguments to function 'int gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
                 from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
 int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
     ^
gsl_sf.cc:8071:64: error: invalid conversion from 'gsl_sf_result* {aka gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
     gsl_sf_ellint_D_e (n.xelem(0), x.xelem(0), mode, &result[0]);
                                                                ^
gsl_sf.cc:8071:64: error: too few arguments to function 'int gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
                 from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
 int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
     ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_ce(const octave_value_list&, int)':
gsl_sf.cc:10376:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10387:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:10398:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10409:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10416:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:10423:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10429:42: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
        n.xelem(0), x.xelem(0), &result[0]);
                                          ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_se(const octave_value_list&, int)':
gsl_sf.cc:10518:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10529:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:10540:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10551:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10558:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:10565:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:10571:42: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
        n.xelem(0), x.xelem(0), &result[0]);
                                          ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Mc(const octave_value_list&, int)':
gsl_sf.cc:11480:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11492:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11504:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11516:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11528:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11540:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11552:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11564:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11572:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11580:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11587:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
   n.xelem(0), x.xelem(0), &result[0]);
                                     ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Ms(const octave_value_list&, int)':
gsl_sf.cc:11683:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11695:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11707:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11719:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11731:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11743:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11755:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11767:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11775:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(i), x.xelem(0), &result[i]);
                                     ^
gsl_sf.cc:11783:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(0), x.xelem(i), &result[i]);
                                     ^
gsl_sf.cc:11790:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
   n.xelem(0), x.xelem(0), &result[0]);
                                     ^
make: *** [gsl_sf.oct] Error 1
make: Leaving directory `/tmp/oct-nzJEBd/u-jussilehtola-octave/src'

pkg: error running `make' for the gsl package.
error: called from 'configure_make' in file /opt/octave/4.0.3/share/octave/4.0.3/m/pkg/private/configure_make.m near line 96, column 9
*************************************************************************************


Tasuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
Install trial results 2

OS : windows 10 Home
octave verion : Octave octave-4.0.3 x64 mxe build with --enable-windows64
gsl : gsl-2.1 built by build tools embedded on windows binary

Install procedure: almost same as for Ubuntu 14.04
http://octave.1599824.n4.nabble.com/GSL-in-octave-td4678376.html#a4678584


Result : Success


>> pkg list
               gsl  |   1.2.0 | C:\octave\Octave-4.0.3-x64\share\octave\packages\gsl-1.2.0


>> pkg load gsl
>> help gsl_sf

'gsl_sf' is a function from the file C:\octave\Octave-4.0.3-x64\lib\octave\packages\gsl-1.2.0\x86_64-w64-mingw32-api-v50+\gsl_sf.oct

 -- Loadable Function: gsl_sf ()

     Octave bindings to the GNU Scientific Library.  All GSL functions
     can be called with by the GSL names within octave.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the [hidden email]
mailing list.

At the moment, I do not carry out further test.

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

Susi Lehtola
In reply to this post by tmacchant
On 07/16/2016 07:55 PM, Tatsuro MATSUOKA wrote:

> $ hg clone http://hg.code.sf.net/u/jussilehtola/octave u-jussilehtola-octave
> $ cd u-jussilehtola-octave/src
> $ ./bootstrap
>
> Archived the directory u-jussilehtola-octave as gsl-test.tar.gz
>
> start octave-cli with LANG=C (to get English message).
>
>>> cd (directory where gsl-test.tar.gz exist)
>>>  pkg install -verbose gsl-test.tar.gz
>
> Output (suggesting errors)

These should be fixed now.
--
Susi Lehtola
Fedora Project Contributor
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
----- Original Message -----

> From: Susi Lehtola 
> To: Tatsuro MATSUOKA ; "octave-maintainers
> Cc:
> Date: 2016/7/17, Sun 14:52
> Subject: Re: GSL in octave
>
> On 07/16/2016 07:55 PM, Tatsuro MATSUOKA wrote:
>>  $ hg clone http://hg.code.sf.net/u/jussilehtola/octave 
> u-jussilehtola-octave
>>  $ cd u-jussilehtola-octave/src
>>  $ ./bootstrap
>>
>>  Archived the directory u-jussilehtola-octave as gsl-test.tar.gz
>>
>>  start octave-cli with LANG=C (to get English message).
>>
>>>>  cd (directory where gsl-test.tar.gz exist)
>>>>   pkg install -verbose gsl-test.tar.gz
>>
>>  Output (suggesting errors)
>
> These should be fixed now.


It would be an issue of old the gsl-1.16 on ubuntu 14.04 repo.
I have built gsl-2.1 by myself.
Errors at compile stage are disappeared.

I have met another problem on Ubuntu but it is not related to the gsl package.
(Intall dir problem.)

If I have correct my local problem, I may also install on Ubuntu in addition to Windows. 

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
----- Original Message -----

> From: Tatsuro MATSUOKA 
> To: Susi Lehtola "octave-maintainers
> Cc:
> Date: 2016/7/17, Sun 15:19
> Subject: Re: GSL in octave
>
> ----- Original Message -----
>
>>  From: Susi Lehtola 
>>  To: Tatsuro MATSUOKA ; "octave-maintainers
>>  Cc:
>>  Date: 2016/7/17, Sun 14:52
>>  Subject: Re: GSL in octave
>>
>>  On 07/16/2016 07:55 PM, Tatsuro MATSUOKA wrote:
>>>   $ hg clone http://hg.code.sf.net/u/jussilehtola/octave 
>>  u-jussilehtola-octave
>>>   $ cd u-jussilehtola-octave/src
>>>   $ ./bootstrap
>>>
>>>   Archived the directory u-jussilehtola-octave as gsl-test.tar.gz
>>>
>>>   start octave-cli with LANG=C (to get English message).
>>>
>>>>>   cd (directory where gsl-test.tar.gz exist)
>>>>>    pkg install -verbose gsl-test.tar.gz
>>>
>>>   Output (suggesting errors)
>>
>>  These should be fixed now.
>
>
> It would be an issue of old the gsl-1.16 on ubuntu 14.04 repo.
> I have built gsl-2.1 by myself.
> Errors at compile stage are disappeared.
>
> I have met another problem on Ubuntu but it is not related to the gsl package.
> (Intall dir problem.)
>
> If I have correct my local problem, I may also install on Ubuntu in addition to
> Windows. 
>
> Tatsuro


I managed pkg install directory and I could install the gsl package also ubuntu 14.04 with gsl 2.1 built myself.

I will test on dev source from now.

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: GSL in octave

tmacchant
----- Original Message -----

> From: Tatsuro MATSUOKA <[hidden email]>
> To: [hidden email]; Susi Lehtola <[hidden email]>; "[hidden email]" <[hidden email]>
> Cc:
> Date: 2016/7/17, Sun 15:33
> Subject: Re: GSL in octave
>
> I managed pkg install directory and I could install the gsl package also ubuntu
> 14.04 with gsl 2.1 built myself.
>
> I will test on dev source from now.


Sorry for separate writing.

I could install your gsl package into development branch of octave on Ubuntu and windows.

Tatsuro

12345