GSL collaboration and formal methods. 
Author Message
 GSL collaboration and formal methods.

Quote:

> > My request for explanation/example of 'gsl extension to pop-11'
> > received no reply.

> At a guess (google, given 'gsl' returns) ,,,

> GSL -- The GNU Scientific Library. ... gsl is free software. It is distributed
> under the terms of the GNU General Public License. What is gsl? ...
> Description:
> A collection of routines for numerical computing, written in ANSI C.

OK, Good.

Quote:
> > My initial guess that it refered to greater mathematical functionality,
> > is apparently wrong ?   A superficial look suggests that there's already
> > substantial maths capability.

> Substantial but possibly still not enough and why re-invent a wheel.

Yes.

Presumably 'senior member(s)' have judged that the cost/benefit says
do-it.

What skill set do we need ?
1. C fluency ?   I'm not enthusiatic about C.
2. Numerical computing ? I majored in math (& compt Sc ) 25 years ago
   and did some numerical computing courses.  But I'm guessing that
  porting to poplog does not require understanding the inners of the
  algorithms.   Hopefully a standardised/cannonical suite of tests exists:
  this is an example of what I mean by "formality" vs. "free-form arty".
3. Experience in porting software between systems ?
     I've ported my Pascal-subset: compiler, editor, VM (p-code interpreter)
     to several machines -  pre 1985.  This was a pioneering effort, and
     would be done today in a formal (as proven and documented from
     experiences of others) manner.

So 'not re-inventing a wheel' applies also at the level of planning, design,
management of the project.

1. What info has been gathered so for by those who decided that gsl
is worth doing ?

2. How do you imagine the project should proceed ?

Chris Glur.

PS. consider also possible spin-off benefits:
 the expertise built, can be used for other than the gsl project.
 Was the reported 'index out of bounds' problem ever fixed ?



Wed, 12 Nov 2003 20:40:36 GMT  
 GSL collaboration and formal methods.

Quote:


>> At a guess (google, given 'gsl' returns) ,,,

>> GSL -- The GNU Scientific Library. ... gsl is free software. It is distributed
(snip)

>OK, Good.

Having the GNU library available can only be a Good Thing, but ...

Quote:
>Presumably 'senior member(s)' have judged that the cost/benefit says
>do-it.

Do what?

Quote:
>What skill set do we need ?

For what?

I can't spare any time to help, so I ask only out of curiosity. If it
was explained what was intended, I'm sorry I missed it - could someone
point me at the post which explained it (the news server I use seems
to have comp.lang.pop back at least as far as January).

But what, exactly, is required? This is a genuine question; it is not
obvious what is *required*[1] beyond copying documentation, and
including it and the library with the Poplog distribution.

The next level up would be to prepare a set of pop11 lib
files which included the necessary declarations for run-time
loading of the GSL functions, and possibly linking them into a
poplog image. Or would it?

And after that, then what?

I may be being naive here, particularly since I know nothing about
the problems the poplog development team had in interfacing to
the X Window System. But X is an Abomination, and is Not Nice (as
a collection of code). I defy anyone to claim otherwise.

Presumably GSL is not an Abomination. (If it is, why would we want
to use it?)

Oh, and does GSL include code for solving LP problems (Linear
Programming - a class of optimisation problems)? If so,
then I WANT it! :-). (Amongst a million other things :-).

Jonathan

[1] Jonathan's desiderata scale goes: "required", "wanted",
"desirable", "piffling about" ...

--
Jonathan L Cunningham



Sun, 16 Nov 2003 03:50:51 GMT  
 GSL collaboration and formal methods.
[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]


(among other things)

Quote:
> Date: Tue, 29 May 2001 19:50:51 GMT
> ...


> >> ...
> >> GSL -- The GNU Scientific Library. ... gsl is free software. It is distributed
> (snip)

> Having the GNU library available can only be a Good Thing, but ...

> >Presumably 'senior member(s)' have judged that the cost/benefit says
> >do-it.

> Do what?

Nobody has *decided* anything.

Some time ago I noticed that the GSL had become available. I then
remembered interacting with people doing various kinds of AI
research who had extolled the benefits of interactive mathematical
systems (e.g. matlab) that had lots of mathematical capabilities
pre-packaged so that users did not have to look up algorithms or
reinvent them and then implement them.

However (a) these packages cost real money, even for academics and
(b) the languages often don't have the flexibility and power of pop-11.

So I thought it might be very nice for such people to be able to
get all they wanted and more free of charge from pop11+gsl instead
of having to pay money for something less powerful.

And it might attract more users to pop11 and hence lead to more
willing developers, etc.

By the way if pop-11 interfaces to a package exist they can also
conveniently be accessed from Prolog, Common Lisp, and ML, in poplog.

I enquired whether anyone was interested in doing anything about
GSL. Both Steve Leach and Jeff Best said they were very interested,
though they had slightly different reasons.

Quote:
> >What skill set do we need ?

> For what?

> I can't spare any time to help, so I ask only out of curiosity. If it
> was explained what was intended, I'm sorry I missed it - could someone
> point me at the post which explained it (the news server I use seems
> to have comp.lang.pop back at least as far as January).

You may by now have seen my earlier message to Chris explaining that
providing an interface to gsl (of the sort I had in mind) would be
analogous to the work done by poplog developers in providing an
interface to X, or the work done by David Young in providing pop-11
interfaces to his C programs in the popvision library
    http://www.cs.bham.ac.uk/research/poplog/popvision/

However, if the GSL documentation is sufficiently formal some of the
process could be automated.

Quote:
> But what, exactly, is required? This is a genuine question; it is not
> obvious what is *required*[1] beyond copying documentation, and
> including it and the library with the Poplog distribution.

I don't think that would achieve anything useful: people would probably
prefer to get the up to date version of the library from its home and
adding bulk to poplog would not be welcomed by people who did not want
the mathematical extensions.

I was thinking more of providing convenient pre-packaged interfaces
with some limited documentation, which would point to the full GSL
documentation.

I think it would be far more convenient to many users if they did
not have to learn how to externally load C libraries in order to use
the mathematical utilities provided, just as I am grateful that all
the X stuff I use has been packaged in pop-11. But for that I would
have found building RCLIB FAR more difficult. (It was difficult enough!)

Quote:
> The next level up would be to prepare a set of pop11 lib
> files which included the necessary declarations for run-time
> loading of the GSL functions, and possibly linking them into a
> poplog image. Or would it?

I would say a collection of autoloadable or explicitly loadable
libraries would suffice, based on the sort of model I have been using
for the "extras" at the poplog site. There's too much in gsl to compile
into the standard image, though saved images could be used for
frequently used subsets. (However as disks, and CPUs get faster the need
for saved images reduces: things that used to take minutes to compile
now compile in seconds. E.g. I started pop-11 and did
    lib prolog

It compiled the prolog compiler and then reported (on a shared 450 Mhz
ultrasparc)

;;; PROLOG COMPILED, TIME = 1.01 seconds

Remember how long that took in the mid 80s? Compiling the whole of
Poplog Common Lisp takes about 6.5 seconds on a Dell 400 mhz celeron
laptop running linux.

The model I use for libraries works as follows:

A new library foolib contains in the directory foolib, sub-directories auto,
lib, teach, help, ref (or some subset) and a "startup" file
    foolib/foolib.p
which is linked to
    $poplocal/local/lib/foolib.p

Then, if a user does

    uses foolib.p

That compiles the file foolib/foolib.p which works out where it is (because
the pop11 compiler sets the path name of the file to popfilename). Then
foolib.p uses the directory name to work out the path names for the
sub-directories, and then uses "extend_searchlist" to extend some or all
of these search lists:

    popautolist
    popuseslist
    vedteachlist
    vedhelplist
    vedreflist

(The first two have functionality a bit like $PATH in unix, and the last
three are a bit like $MANPATH).

At that point all the libraries that have been added to popautolist
become autoloadable, all those in popuseslist become available via
"uses" or "lib", the help, teach, and ref commands will find the
documentation, and the showlib command can be used to browse libraries
in foolib/auto/ and foolib/lib/

(Some of the libraries are a bit more flexible in that they allow the
user to specify a different directory to put on search lists, via an
environment variable or a pop11 variable. this makes it easier to have
two versions of a library installed simultaneously, e.g. a new trial
version and an old version. Many "package" systems make this difficult
or impossible.)

For an example of a file that extends the search lists, see the one used
for poprulebase:

    http://www.cs.bham.ac.uk/research/poplog/prb/prblib.p

To prevent name clashes between libraries that users may wish to combine
I use systematic prefixes for file names and global identifiers. E.g.
Poprulebase uses prb_, RCLIB uses rc_, sim_agent uses sim_, etc.

People who define useful extensions with nice short readable, mnemonic
names are asking for trouble: such names are very likely to be used by
someone else for a different purpose. (E.g. the syntax word "instance"
in Objectclass made it impossible to compile Common Lisp, until I
removed the clash by changing some Common lisp internal identifiers.)

[JLC continued]

Quote:
> And after that, then what?

> I may be being naive here, particularly since I know nothing about
> the problems the poplog development team had in interfacing to
> the X Window System. But X is an Abomination, and is Not Nice (as
> a collection of code). I defy anyone to claim otherwise.

That's why I am so glad I was not left to produce my own low level
interfaces to it in order to produce graphical tools that work on
solaris, linux, digital unix, etc.

Quote:
> Presumably GSL is not an Abomination. (If it is, why would we want
> to use it?)

(Lots of abominations are very widely used, as you know well.)

Quote:
> Oh, and does GSL include code for solving LP problems (Linear
> Programming - a class of optimisation problems)? If so,
> then I WANT it! :-).

Well, since not everyone has easy and fast access to remote web sites, I
thought I'd circulate the table of contents from the online GSL manual
at

    http://sources.redhat.com/gsl/ref/gsl-ref_toc.html

Here it is, all subject to the terms of the GNU General Public License.

There's a lot of it, and possibly still growing. That's why I hope some
of the interfacing can be automated. (A pop11 program reads the
GSL documentation, and then genrates all the interface files ?????)

Aaron
PS I don't know anything about most of this!
=======================================================================

                  GNU Scientific Library -- Reference Manual

Edition 0.8, for gsl Version 0.8

21 May 2001

    Mark Galassi

    Jim Davies

    James Theiler

    Brian Gough

    Reid Priedhorsky

    Gerard Jungman

    Michael Booth

    Fabrice Rossi
     _________________________________________________________________

   This file documents the GNU Scientific Library, a collection of
   numerical routines for scientific computing.

   As of 21 May 2001 the library is in developers release only and is not
   recommended for general use.
     * Preliminaries
     * Using the library
          + ANSI C Compliance
          + Compiling and Linking
          + Shared Libraries
          + Automake macros
          + Inline functions
          + Long double
          + Portability functions
          + Alternative optimized functions
          + Support for different numeric types
          + Compatibility with C++
          + Aliasing of arrays
          + Code Reuse
     * Error handling
          + Error reporting
          + Error handlers
          + Using GSL error reporting in your own functions
     * Mathematical Functions
          + Mathematical Constants
          + Infinities and Not-a-number
          + Elementary Functions
          + Small integer powers
          + Testing the Sign of Numbers
          + Testing for Odd and Even Numbers
          + Maximum and Minimum functions
     * Complex Numbers
          + Complex numbers
          + Properties of complex numbers
          + Complex arithmetic operators
          + Elementary Complex Functions
          + Complex Trigonometric Functions
          + Inverse Complex Trigonometric Functions
          + Complex Hyperbolic Functions
          + Inverse Complex Hyperbolic Functions
          + References and Further Reading
     * Roots of Polynomials
          + Polynomial evaluation
          + Quadratic equations
          + Cubic equations
          + General polynomial equations
          + Examples
          + References and Further Reading
     *
...

read more »



Sun, 16 Nov 2003 05:51:25 GMT  
 GSL collaboration and formal methods.
If its any use I have a modified version of newc_dec which will parse
ANSI style C declarations.

The is should reduce the amount of work needed to do the external link to
editing the header files.

--
Anthony Worrall
School IT Networking Coordinator
The University of Reading,
School of Computer Science, {*filter*}netics and Electronic Engineering
Department of Computer Science,
Whiteknights, PO Box 225
Reading,
Berkshire, UK
RG6 6AY
Tel:   +44 (0)1189 318610
Fax:   +44 (0)1189 751994



Mon, 17 Nov 2003 20:25:32 GMT  
 GSL collaboration and formal methods.
In a message about
    Subject: Re: GSL collaboration and formal methods.

Quote:

> Date: 26 May 2001 12:40:36 GMT
> ...
>  Was the reported 'index out of bounds' problem ever fixed ?

I don't recall this problem. Can you, or anyone else, be more
specific?

Thanks

Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK

PAPERS: http://www.cs.bham.ac.uk/research/cogaff/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html



Fri, 21 Nov 2003 18:32:35 GMT  
 GSL collaboration and formal methods.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Anthony,



Quote:
>If its any use I have a modified version of newc_dec which will parse
>ANSI style C declarations.

>The is should reduce the amount of work needed to do the external link to
>editing the header files.

Any existing tools that we can use may be useful. Do you have a link
from where I can download this?

Regards,
- --

-----BEGIN PGP SIGNATURE-----
Version: PGPsdk version 1.7.1

iQA/AwUBOxyXg/Hj+enJbeYqEQI2jwCdEQ3EIxAqWlyDJN1KXwJ5vC9s+VEAoO2x
bTO/PaBMPFJZr+fTt4eA2hXu
=USRr
-----END PGP SIGNATURE-----



Sun, 23 Nov 2003 00:22:40 GMT  
 GSL collaboration and formal methods.

Quote:

> In a message about
>     Subject: Re: GSL collaboration and formal methods.


> >  Was the reported 'index out of bounds' problem ever fixed ?

> I don't recall this problem. Can you, or anyone else, be more
> specific?

I don't find the original post.
Aaron told that the 'error' did not occur on <OS1>, <OS2> ..
but only on linux.
He was asking for any volunteer(s) to investigate/fix it.
I estimate the post was 4..6 weeks ago.
My reasoning was: if we're going to 'open up the guts' with C, then
we might as well fix this problem at the same time'.

Chris Glur.



Sun, 23 Nov 2003 17:57:41 GMT  
 GSL collaboration and formal methods.
On Tue, 29 May 2001 21:51:25 +0000 (UTC),

Quote:

>Some time ago I noticed that the GSL had become available. I then
>remembered interacting with people doing various kinds of AI
>research who had extolled the benefits of interactive mathematical
>systems (e.g. matlab) that had lots of mathematical capabilities
>pre-packaged so that users did not have to look up algorithms or
>reinvent them and then implement them.

I confess myself a bit puzzled by this, and subsequent, references
to matlab. I've used matlab, and wouldn't have picked it as the
example for an interactive system with lots of mathematical
capabilities. I really don't understand why people like it and
extol the benefits of using it. (And yes, they do exist, I've
met some.)

Don't misunderstand: I'm not denying that matlab is interactive,
and has lots of built-in stuff. But its matrix-manipulation
ancestry made it seem very limited and non-expressive to me. And
I truly do not understand why it is so successful. Can I put
it down to excellent marketing, or is there something about it
which appeals to lots of people but not me?

Quote:

>> Presumably GSL is not an Abomination. (If it is, why would we want
>> to use it?)

>(Lots of abominations are very widely used, as you know well.)

Unfortunately, that is true, but doesn't really answer the
question! So I'll answer it myself. Even if it is an abomination,
it is free, and there are no obvious alternatives. (And I also
stick with my "Presumably", too.)

(Someone -- David Young? -- mentioned the NAg library, but since it
is not free, it's not an obvious alternative.)

Quote:
>> Oh, and does GSL include code for solving LP problems (Linear
>> Programming - a class of optimisation problems)? If so,
>> then I WANT it! :-).

>Well, since not everyone has easy and fast access to remote web sites, I
>thought I'd circulate the table of contents from the online GSL manual
>at

>    http://sources.redhat.com/gsl/ref/gsl-ref_toc.html

>Here it is, all subject to the terms of the GNU General Public License.

(huge snip)

FWIW, these are the bits I think should be done first (my personal
wish-list, if you like -- not that I have an immediate use for any
of it, but when I have time ... :-)

Quote:
>     * Fast Fourier Transforms (FFTs)
>          + Mathematical Definitions
>          + Overview of complex data FFTs
>          + Radix-2 FFT routines for complex data
>          + Mixed-radix FFT routines for complex data
>          + Overview of real data FFTs
>          + Radix-2 FFT routines for real data
>          + Mixed-radix FFT routines for real data
>          + References and Further Reading

Useful, but I think they've been superseded for AI type
applications (Low-level sensory stuff - analysing sounds,
images etc.) by wavelet analysis, which I don't see in the
list.

Quote:
>     * Random Number Generation
(snip)
>     * Quasi-Random Sequences
(snip)
>     * Random Number Distributions

(snip)

Yes, please. I don't know that they all are, but random thingies
are always fun to have.

And some of them would be useful in Monte Carlo modeling, for
running simulations (even AI simulations!). (I don't include the
Monte Carlo integration stuff, elsewhere in the list, because
that's not the same thing, and is not in my wish list.)

Quote:
>     * Statistics

Statistics, not because I need it, but because it's important.

Quote:
>     * Simulated Annealing
>          + Simulated Annealing algorithm
>          + Simulated Annealing functions
>          + Examples with Simulated Annealing
>               o Trivial example
>               o Traveling Salesman Problem

Surely there must be lots of poplog stuff covering
simulated annealing already? Would we want the GSL stuff?

Quote:
>     * Linear Algebra
>          + LU Decomposition
>          + QR Decomposition
>          + QR Decomposition with Column Pivoting
>          + Singular Value Decomposition
>          + Cholesky Decomposition
>          + Householder solver for linear systems
>          + Tridiagonal Systems
>          + References and Further Reading

Which answers my first question. But I want an
easy-to-use beginners version, which presumably could be based on
this stuff. But since I don't know what a Cholesky Decomposition
is, I don't know if I want it.

Jonathan

--
Jonathan L Cunningham



Mon, 24 Nov 2003 20:40:06 GMT  
 GSL collaboration and formal methods.
[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

Quote:

> Date: 31 May 2001 12:25:32 GMT
> Organization: The University of Reading

> If its any use I have a modified version of newc_dec which will parse
> ANSI style C declarations.

> The is should reduce the amount of work needed to do the external link to
> editing the header files.

> --
> Anthony Worrall
> School IT Networking Coordinator
> The University of Reading,

I have now inserted his files, including a modified version of one
of his help files, received today, in
    http://www.cs.bham.ac.uk/research/poplog/newc_dec/
        browsable

    http://www.cs.bham.ac.uk/research/poplog/newc_dec.tar.gz
        16753 bytes

There a README file which gives instructions for installation. I was
going to do a little shell script, but it is simple enough to follow
the instructions.

I have not tested this library. If anyone linking C programs to
Pop-11 tries it please report any problems, or send your compliments
to Anthony!

Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK

PAPERS: http://www.cs.bham.ac.uk/research/cogaff/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html



Fri, 28 Nov 2003 19:19:32 GMT  
 
 [ 17 post ]  Go to page: [1] [2]

 Relevant Pages 

1. GSL collaboration and (and GSL Manual contents)

2. GSL collaboration

3. GSL collaboration

4. Formal methods and Eiffel

5. Formal verification methods for OOPS

6. Formal methods for verification of OOPS

7. Formal verificatinon methods for OOPS

8. "Formal" testing methods in Forth

9. CfP: 2nd IRISH WORKSHOP ON FORMAL METHODS

10. Announcing: Formal Methods in Computer Science Workshop

11. FACS Europe --- A Formal Methods Newsletter

12. Open positions in Formal Methods and their Applications

 

 
Powered by phpBB® Forum Software