Browse thread
OCaml App (NML) Announce
-
David McClain
-
Julian Assange
- David McClain
- David McClain
- David McClain
-
Julian Assange
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | David McClain <dmcclain@a...> |
| Subject: | Re: scientific computing with ocaml, gsl api |
Actually, there are OCaml bindings available in NML for just this purpose. My first major application of NML was a hybrid OCaml/NML program for solving a highly nonlinear problem that computes the phase variations in an optical system that give rise to measured image blur functions. If you are interested in a copy of the source for this app (about 700 lines of OCaml/50 lines of NML) just drop me a note. The OCaml is terrific for overall program organization, while the NML is quite expressive for the array computations and Fourier analysis... - DM ----- Original Message ----- From: Julian Assange <proff@iq.org> To: David McClain <dmcclain@azstarnet.com> Cc: <caml-list@inria.fr>; <proff@iq.org> Sent: Tuesday, March 28, 2000 11:00 PM Subject: scientific computing with ocaml, gsl api > "David McClain" <dmcclain@azstarnet.com> writes: > > > Dear OCaml Enthusiasts, > > > > It has been stewing for more than a year now, a continuing work in progress, > > but it is high time that I release a matured copy of the code and sources to > > the world. NML (Not ML, Numeric Modeling Language, Numeric ML, Nearly ML, > > ...) is an interactive, dynamically typed, tail pure, compiled (to native > > code closures) functional language, whose syntax closely follows that of > > OCaml, but where all math operations are overloaded and vectorized on real > > and complex data in the form of lists, vectors, multidimensional arrays, > > tuples, etc. > > This looks very nice david! Is it possible to use the vectorised, array support > within ocaml? i.e I'm a little leary of using NML for mid-large applications due > to the lack of type checking, but it does seem to be an excellent language for > scientific interrogation. > > Have you looked at the GNU scientific library? > > http://sourceware.cygnus.com/gsl > > This is a wonderfully eclectic scientific library in C, with strong > control over float properties. An ocaml or MNL binding would be a > killer app. > > > Are there any plans to support euclidian vector algebra in n > > dimensions? Preferably with user-defined physical field properties? > > > > Specifically I want to be able to do things like define two vectors, > > v_1, and v_2, have v_1 radiate a force decreasing at 1/distance^2, and > > calculate the the force vector across all of v_2. This is more complex > > than simple point sources, but there doesn't even seem to be support > > for those. It could be argued that a two body case is so trivial it > > doesn't need supporting, which is probably true, but n body cases and > > non point sources are hard work and useful in many (even non-physics) > > applications. i.e the v_1, v2 example I mentioned above forms part of > > an optimisation solution I have for laying out 2d chemical labels > > (part-of-molecule number, atomic weight, charge, etc) over a 3d > > polynucleartide in such a way as to avoid the labels writing accross > > each other. > > > > Cheers, > > Julian >