Changes between Version 5 and Version 6 of SoC2015


Ignore:
Timestamp:
Jan 30, 2015, 12:00:48 AM (8 years ago)
Author:
Niall Douglas
Comment:

Ported over odeint from 2014

Legend:

Unmodified
Added
Removed
Modified
  • SoC2015

    v5 v6  
    11[[PageOutline]]
    22
    3 = Google Summer of Code 2015 (CURRENTLY BEING WRITTEN NOTHING HERE IS FINAL!) =
     3= Boost Google Summer of Code 2015 =
    44
    55Welcome to the Boost C++ Libraries' home page for Google Summer of Code (GSoC) 2015. This page provides information about suggested student projects, proposal submission templates, advice on writing good proposals, and links to information on getting started writing with Boost.
     
    105105The following projects have been suggested by potential mentors. Selecting one of these, in consultation with the [http://www.boost.org/community/groups.html#main Boost developers mailing list], provides the highest chance that a mentor can be found for your GSoC project proposal. You should only choose one of these proposals if you already have at least 1,000 lines of C++ library code out there we can examine for your programming competency, otherwise your proposal cannot be preferentially ranked (see above). Make SURE you provide a link to your existing C++ code base in the proposal you submit to Melange. A template for the proposal can be found [wiki:SoCSubmissionTemplate here].
    106106
    107 (Insert proposals here)
     107
     108=== 1. Boost.odeint ===
     109Potential mentors: Karsten Ahnert and Mario Mulansky
     110
     111==== Background ====
     112Boost.odeint  http://www.odeint.com is a library devoted to finding numerical solutions of ordinary differential equations (ODEs). It is developed in a generic way using Template Metaprogramming which leads to extraordinary high flexibility at top performance. It is widely used in academic and industrial projects. Boost.odeint has been a Google Summer of Code project in 2011  http://google-melange.appspot.com/gsoc/project/google/gsoc2011/mulansky/14001 and we would like again to see students involved in the development of this numerical library.
     113
     114The current focus of odeint is on '''explicit''' routines, namely the Runge-Kutta schemes or the multi-step methods. However, we would like to expand odeint by adding implicit routines in the same flexible manner. Implicit routines are important when dealing with stiff systems, but also ensure stability in some cases of discretized partial differential equations (PDEs). At the moment, odeint provides an implicit Euler and Rosenbrock algorithm, but the implementation is restricted to Boost.uBlas. As one of the main objectives of odeint is to provide highly flexible algorithms, we want to change this implementation to have a greater flexibility and interchangeability similar to that of the explicit routines. This project would not only require pure coding, but first also a considerable amount of design work.
     115
     116* [http://en.wikipedia.org/wiki/Numerical_methods_for_ordinary_differential_equations]
     117* [http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods]
     118* [http://en.wikipedia.org/wiki/Explicit_and_implicit_methods]
     119
     120==== GSoC project proposal ====
     121This project does not only require profound knowledge on C++ and generic programming, but we would also like to see some experience on numerical algorithms and solving ODEs, if possible.
     122
     123 * Develop a design on how the requirements on implicit routines can be modularized
     124 * Implement a prototype showing the usability of the design
     125 * Change the existing routines to the new design
     126 * Implement other backends (MTL, eigen,...) to demonstrate the flexibility
     127 * Provide examples and documentation
     128 * (Add more implicit routines, if time permits)
     129
     130==== Potential project extension funded by Boost ====
     131N/A
     132
    108133
    109134= Ideas =