
On Wed, 19 Sep 2012 08:46:18 -0700 Steven Watanabe <watanabesj@gmail.com> wrote:
AMDG
The review of Karsten Ahnert and Mario Mulansky's ODEInt library starts today September 19th and will end on September 28.
--------------------------------------
About the library:
odeint provides routines for numerically solving Ordinary Differential Equations, a task heavily required when approaching scientific problems numerically. In odeint we have implemented the most common algorithms in a modern, generic way which provides several advantages over existing implementations. The main focus of odeint is to separate algorithms from the underlying basic computation unit. This allows for example to easily use the power of modern GPUs via CUDA or OpenCL to speed up computational heavy simulations.
Features: - provides most of the standard algorithms, including step size control, dense ouput and extrapolation routines - symplectic routines for Hamiltonian systems - implicit routines based on boost::ublas (MTL4 in progress) - high level integrate functions - interchangeable computation backend with existing bindings to CUDA and OpenCL - native support of ODEs defined for complex values - support of Boost.Units in most of the algorithms - support of arbitrary precision types
You can download the library and view the documentation here:
zip: http://github.com/headmyshoulder/odeint-v2/zipball/master github: http://headmyshoulder.github.com/odeint-v2/ docs: http://headmyshoulder.github.com/odeint-v2/doc/index.html
--------------------------------------
Please always state in your review, whether you think the library should be accepted as a Boost library!
Yes, I believe that this library should be accepted.
Additionally please consider giving feedback on the following general topics:
- What is your evaluation of the design?
This looks like one of the best designed, and most extensible, C++ ODE integrator libraries available.
- What is your evaluation of the implementation?
I've not studied it in detail, but the implementation looks reasonable. It offers a wide variety of common algorithms, including symplectic algorithms, with error control, and that makes this implementation quite valuable. There is still a lot of commented-out code which should be removed. The "[auto_generated]" tag at the top of the files should also be removed (unless some method for regenerating them is also being provided).
- What is your evaluation of the documentation?
I think that the documentation is pretty good, although the tone is, I think, I little too informal. Two specific suggestions: 1. Remove all instances of 'of course' -- This phrase occurs at least 20 times in the documentation. 2. Say "the full source file", or something similar, instead of "the full cpp file". As has been noted, there are sections missing under special topics.
- What is your evaluation of the potential usefulness of the library?
I think that this library will be useful for both scientists (and others who do numerical modeling) and students. Importantly, this library implements error control, which is an important feature missing from many available lightweight integrator implementations. In addition to solving ODEs, the library will be useful for solving PDEs (using the standard method-of-lines decomposition).
- Did you try to use the library? With what compiler? Did you have any problems?
I compiled some of the examples using g++ 4.4.3.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A quick reading: ~2 hours.
- Are you knowledgeable about the problem domain?
Yes. -Hal
In Christ, Steven Watanabe
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Hal Finkel Postdoctoral Appointee Leadership Computing Facility Argonne National Laboratory