gm2
[Top][All Lists]
Advanced

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

Re: [Gm2] Numerical library in Modula-2


From: john o goyo
Subject: Re: [Gm2] Numerical library in Modula-2
Date: Fri, 17 Nov 2017 16:17:52 -0500
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-GB; rv:1.9.2.23) Gecko/20110920 Thunderbird/3.1.15

Greetings, Andreas:

On 02/11/2017 10:13, Fischlin Andreas wrote:
Dear Michael,

Sounds all quite interesting.

In terms of the different REAL types, that is quite an important aspect not trivial. Have you looked at our environment? I believe we have there quite nice and highly portable code that can accommodate many needs in terms of numerics as it depends on precision, yet allowing client code to be quite flexible and needing basically almost no change when changing compilers, hardware, or operating systems, despite the many definitions of elementary types for real numbers.
There are many interesting things here but the releases appear to be binary only. In particular, your download page (at http://www.sysecol.ethz.ch/ramses/downloads.html) indicates that the Solaris Sparc releases were compiled with EPC Modula-2. EPC is gone and I do not have the compiler. Was your source released?

Sincerely,
john


Here some links of interest in this context:

DMPortab <http://se-server.ethz.ch/RAMSES/Objects/DM/DMPortab.html#DMPortab> DMFloatEnv <http://se-server.ethz.ch/RAMSES/Objects/DM/DMFloatEnv.html#DMFloatEnv> DMMathLib <http://se-server.ethz.ch/RAMSES/Objects/DM/DMMathLib.html#DMMathLib> DMLongMathLib <http://se-server.ethz.ch/RAMSES/Objects/DM/DMLongMathLib.html#DMLongMathLib> DMConversions <http://se-server.ethz.ch/RAMSES/Objects/DM/DMConversions.html#DMConversions>

Above ‘Dialog Machine' modules are implemented in a manner that they adjust to the underlying hardware (e.g. little vs. big Endian storage of REAL numbers for satisfying IEEE floating point standards etc.).

Perhaps this is of interest? Modules based on this foundation doing similar things your package does are then also available (SciLib <http://www.sysecol.ethz.ch/ramses/ramses-software-layers/science-library-scilib.html>, AuxLib <http://www.sysecol.ethz.ch/ramses/ramses-software-layers/auxiliary-library-auxlib.html>), but that is another topic, I guess less of interest to you.

Regards,
Andreas

Cited References:
------------------------
IEEE Std 754-2008, 2008. IEEE standard for binary floating-point arithmetic. ANSI/IEEE Std 754-2008, (IEEE Product No. SH10116-TBR) http://standards.ieee.org/findstds/standard/754-2008.html Ie003

ETH Zurich
Prof. em. Dr. Andreas Fischlin
IPCC Vice-Chair WGII
Systems Ecology - Institute of Biogeochemistry and Pollutant Dynamics
Universitaetstrasse 16, CHN E 24
8092 Zurich
SWITZERLAND

address@hidden <mailto:address@hidden>
www.sysecol.ethz.ch/Staff/af <http://www.sysecol.ethz.ch/Staff/af>

+41 44 633-6090 phone
+41 79 595-4050 mobile

Make it as simple as possible, but distrust it!
________________________________________________________________________








On 30/10/2017, at 19:12, Michael Riedl <address@hidden <mailto:address@hidden>> wrote:

Gaius,

noticed that my feedback to the new package had been addressed only to your personal mailbox ...


All,


I developed a library of numerical procedures in Modula-2 for my private
projects which I would like to share with others. I already was in email conversation about that with Gaius quite some time ago.

Now I am "near" ready with the packages and I think it's time to include
the whole community in the communication - otherwise I will always find stuff to be improved before doing the next step ... such a thing has a tendency to never become "ready".

The library has, among other, procedures for

- Numerical integration & differentiation
- Special functions (Gamma, Student, Hankel, ... )
- Fourier transformation
- Random number generators
- Matrix routine (Matrix times vector, Matrix times Matrix, ...)
- Solving linear equations
- Eigenvalue- and vectors
(real symmetric, real general, complex hermitian, complex general)
- Singular value decomposition
- Multidimensional function optimization routines


The whole library is about 25.000 lines of code (not including the def-files)
which I would like to put to the public under the GPL/LGPL.

Here I am looking for some support for

- further testings and cleanups
- get some more systematic in the test routines
(not that well structured at the moment)
- documentation
(most of the def files are in German, here we need to have it at least
bi-lingual)
- other improvements & checks

At the moment I still develop this with Excelsior XDS compiler but I
think it's time to change that ... but I suppose that this will not
be that big deal at all - maybe the different sizes of REAL types
need to be considered, but that's something I would like to discuss.

Furthermore I wrote a complete IO library and some applications based on
the libraries mostly for chemistry related topics (spectra analysis with
principal component analysis and PLS including a library for genetic
algorithms, small library for Fourier transform spectroscopy, a small
quantum mechanical calculation routine including an experimental interface
to OpenMPI).

Also would like to share all of the in one of the next steps, but reviewing the about 40.000 lines of code may take some time.

At the moment I am still doing some clean-ups but if someone in the
audience is already interested in one of the topics drop me a mail and I
can send copies via email. Or we already find a nice place to share it
for all who might be interested.

Gajus already kindly offered me with some support concerning configure
and makefiles.

Any feedback is welcome.

Gruß

Michael


_______________________________________________
gm2 mailing list
address@hidden <mailto:address@hidden>
https://lists.nongnu.org/mailman/listinfo/gm2


_______________________________________________
gm2 mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/gm2




reply via email to

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