SwiginacLatest news
AboutSwiginac is a Python interface to GiNaC, built with SWIG. The aim of swiginac is to make all the functionality of GiNaC accessible from Python as an extension module. Current status is beta; a lot (but not all yet) of the GiNaC classes are exposed, virtually all of the GiNaC tests pass. For more information, documentation and software downloads, visit our group pages on BerliOS. ExamplesJust a few illustrations from the Python interpreter:
>>> x=symbol("x")
>>> sin(x).series(x==0, 8)
1*x+(-1/6)*x**3+1/120*x**5+(-1/5040)*x**7+Order(x**8)
or
>>> y = symbol('y')
>>> lsolve([3*x + 5*y == 2, 5*x+y == -3], [x,y])
[x==-17/22, y==19/22]
Other Python bindings to GiNaCAccording to our knowledge:
Why another bindings? Because we found out that it was easier to implement new features using SWIG than using Boost.Python, at least for the authors (one of the authors tried both SWIG and Boost.Python). Instead of implementing new features in pyginac, we found it easier to write the bindings from scratch using SWIG. The problem with SWIG was, that it didn't used to handle C++ much, but this changed rapidly recently (late 2004 and 2005), so now it is a working alternative to Boost.Python and sip. And honestly, we think the SWIG approach of wrapper code generation is great. DownloadVisit our group pages for software downloads. Additionally, the development code is in the svn repository. You can check it out using this command: $ svn checkout svn://svn.berlios.de/swiginac/trunk swiginac
You can also browse the SVN online. DocumentationGünter Milde has made a swiginac tutorial and some basic documentation in the doc/ folder of the SVN repository. Except from this, swiginac is mostly undocumented. To get started, download the latest release and browse the unit tests in tests/swiginac. Also, this presentation of swiginac given at the Fenics'05 meeting in Chicago may be useful. Authors
Help wantedWe could really need a few more developers in the project. If you are using swiginac or GiNaC, know swig, and like hacking, let me know at skavhaug at simula.no.
|