Domain: ginac.de
Stories and comments across the archive that link to ginac.de.
Comments · 13
-
Re:Obvious question first
-
Re:Maxima
Eigen is probably the best starting point, since it is quite used (so your work is not too obscured), simple to extend, with good help from main programmers. Another project that would be nice to extend is GiNaC. They have a TODO list with different difficulty levels.
-
GiNaC
How about GiNaC?
-
Re:Can't anyone create a GNU version of Mathematic
Also the number of people who are able to contribute significantly to such project is very limited. This is on the border of several areas - pure abstract mathematics, computer science and engineering. How many qualified LISP programmers you can find nearby? How many of them are also good at abstract algebra? Very few such people exist in the world, partially because mathematicians tend to hate computer tools in their abstract work. That's why most of the CAS systems were created by physicists in response to their practical needs.
Apart from Maxima, which is free software, if somebody wants to contribute, please have a look also at Axiom CAS http://savannah.nongnu.org/projects/axiom, which IMHO gives a very nice and strict approach.
Another C++ based project is GiNaC http://www.ginac.de/ -
Re:GINAC
Okay! Here's some help.
You've joined the ranks of Mozilla Firebird, and Jetty, the Tads Virtual Machine by trying to make a new project with exactly the same name as an already existing, extremely popular project.
How about you rename it to something that isn't taken?
GINAC=>GINAC is not a computer algebra system
Step #1 of picking a name for any OSS is looking for it on Google. -
Re:contests... octave..
Octave uses GiNaC for its symbolic stuff. Currently, part of why Octave's symbolics aren't better, is not that the library doesn't do it, but that the "glue" hasn't been written.
What are you waiting for?
:) -
Symbolic Software
There are three major pieces of symbolic software: Maple, Mathematica, and GiNaC.
Maple is great, especially for Calculus students. I consider Mathematica to be evil since they apparently bought out the major players in Reduce (an older symbolic math system still used in Russia), tried to buy out a major GiNaC developer, and send him threats when he refused. They're not as successful as Microsoft, but they might be giving MS's evilness some competition.
GiNaC is a GPL'd library for symbolic computation. You interface with it using C++. It's particulary good for physics, but if you use it, you can make it do what you need it to do....
The symbolic processing in Octave [-Forge] uses GiNaC.
-
Quantian articleI own the quantian.org domain. The following is from my article on the Quantian Distribution. Here is a brief run down of links, programs, and other goodies in Quantian.
- R, including several add-on packages (such as tseries, RODBC, coda, mcmcpack, gtkdevice, rgtk, rquantlib, qtl, dbi, rmysql), out-of-the box support for the powerful ESS modes for XEmacs as well as the Ggobi visualisation program;
- A complete teTeX, TeX, and LaTeX setup for scientific publishing, along with TeXmacs and LyX for wysiwyg editing;
- Perl and Python with loads of add-ons, plus ruby, tcl, Lua, and Scientific and Numeric Python;
- The Emacs and Vim editors, as well as Gnumeric, kate, Koffice, jed, joe, nedit and zile;
- Octave, with add-on packages octave-forge, octave-sp, octave-epstk, and matwrap;
- Computer-algebra systems Maxima, Pari/GP, GAP, GiNaC and YaCaS;
- the QuantLib quantitative finance library including its Python interface;
- GSL, the Gnu Scientific Library (GSL) including example binaries;
- The GNU compiler suite comprising gcc, g77, g++ compilers;
- the OpenDX, Plotmtv, and Mayavi data visualisation systems;
- it includes apcalc,aribas,autoclass,
-
GiNaC
I personally like GiNaC for stuff like that. Basically the authors were in a similar possition, they wanted the power of C++, with the symbolic solving of Maple. It doesn't have every feature in the world, but it works for what I do. They've used it for research, although I haven't directly.
-
Re:Oh great...
This has been requested (and is partially in Ada95, for example), but nobody has shown why this would be necessary in any real work. Can you give an example?
The rationale is similar to that underlying the existence of the GiNaC library (for instance). This paper (PDF) explains in more detail, but from my perspective the crux is that there are no de facto standard mathematical programming languages -- or maybe there are too many such standards -- and that any programming language can benefit (even "systems programming" languages) from strong, integrated support for sophisticated numerical computation. This isn't intended to be a "beginner" language, so I don't see any obstacles stemming from pedagogical reasons...
One other feature I'd like, in order to complement the built in support for unit testing, would be a mechanism for automatic test generation by specifying a "statistical usage model" directly in the code itself. This idea underpins Cleanroom Software Engineering, and I think it could be successfully adapted for inclusion directly into this language. The basic idea is to tag method parameters with probability distributions describing the likelihood of various values of that type being passed into the method as arguments. The distributions can be used to automatically generate random tests reflecting the most likely "real-world" usage patterns of the software, and meaningful quality metrics (such as MTTF, MTBF, etc.) can be extracted from the test results.
If wishes were fishes, we'd all eat for free... :) -
GiNaC
Well, though it stands for GiNaC is Not a CAS (Computer Algebre System). GiNaC, which is a library for advanced symbolic calculations certainly would make a fine backend for a CAS. It's a pretty powerful tool wainging for an interface.
-
TabletsI've been having fantasies about a tablet computer for over a year now. I want something that isn't too much larger or heavier than a large tablet of paper, and combines pen-input with a computer interface. I'm talking handwriting recognition, gesture recognition, and most importantly, a headphone jack and mp3-playing software.
The hardware exists...a 11" TFT LCD screen, Wacom-like pen input overlaid on top. It needs to have a high resolution (both the screen and input) for accurate handwriting recognition. Wouldn't need a very fast processor. Could sync to my computer over USB.
As a theoretical physicist, I desparately want something like this. I'm a massive computer junkie, but currently, the highest-tech way I can do calculations is pencil and paper... On the math side, recognizing mathematical notation will be very hard, and would require a lot of work in user interfaces. In the short term, just recording the user's penstrokes and saving it as a vector graphic would be sufficent. In the long term, interface it to a basic Computer Algebra System. i.e. something that will check all those factors of two, negative signs, etc. In the very long term, have the interface do most of what I do by hand. For instance, apply a mathematical identity to an equation, and copy the new equation to the next line. Allow me to manipulate individual terms. Most of all, allow me to define new notations. Each sub-field of math, physics, chemistry, and engineering uses its own notation, and a rule-system should exist to check the validity of the input in the notation that is familiar to the user.
Right now I use pencil and paper, some Maple, and computer programs to numerically evaluate things. Maple's interface is not well suited to a pen-based manipulation system. (don't mention Mathematica, I will not professionally support their absurd pricing and draconian licensing policies) I have high hopes that a viable open-source Computer Algebra System will evolve out of the existing Octave or GiNaC.
*Sigh* if any of you entreprenuring business types are listening, WE WANT TABLETS AND WE WANT THEM YESTERDAY . And not those stupid web-browser tablets. sheesh.
--Bob
-
Re:OSS C Library w/API
GINAC is a C++ GPL-ed library. It is far from complete, but the design seems very sound.
---