GSOC Project : Number Theory and Tree Libraries for Boost.

Hello all, I have a few ideas for a contribution to Boost during Google Summer of Code, and I would appreciate any advice/feedback/criticism. My ideas consist of the following parts : 1. Building a Boost Number Theory Library I've noticed that in all the mathematics and algorithms libraries, there is no Boost Library for basic Number Theory. I will try to remedy this by implementing those functions common in a number theory library, and interfacing them with other boost libraries. Proposed features of the Number Theory Library : -- GCD -- LCM -- Extended GCD -- Modular Inverse -- Modular Exponentiation -- Primality Tests : -- Deterministic -- Probabilistic -- Factorization -- Prime Number Generation -- Support for GMP More functionality can be provided, this is just the tip of the iceberg (and the most commonly used) 2. Building a Boost Tree Library : The idea here to is write a Tree Library to complement the already existing Graph library. One of the goals of this library would be to interface with the Graph library where necessary, such as the Minimum Spanning Tree functions, etc. Proposed Features of the Tree Library : -- Binary Search Trees -- Red-Black Trees and/or AVL Trees -- Operations on these trees, including insert/delete, balancing, I/O, etc. Possible follow-up activity : -- Expose the above modules to python using the Boost.Python However, as far as I can see, the Boost.Python library was last updated in 2005, and should be updated to the current Python/C API, possibly to the anticipated API of python's impending landmark 3.0 release. Any comments regarding the community's views on these ideas (such as feasibility, modifications, etc) will be appreciated and mulled over :). Cheers, P.C. Shyamshankar.

Sykora wrote:
Hello all,
I have a few ideas for a contribution to Boost during Google Summer of Code, and I would appreciate any advice/feedback/criticism.
My ideas consist of the following parts :
1. Building a Boost Number Theory Library
I've noticed that in all the mathematics and algorithms libraries, there is no Boost Library for basic Number Theory. I will try to remedy this by implementing those functions common in a number theory library, and interfacing them with other boost libraries.
Proposed features of the Number Theory Library : -- GCD -- LCM
How does this differ from http://svn.boost.org/svn/boost/trunk/libs/math/doc/gcd/html/index.html ? WRT the other ideas, this looks to be too much for one SOC project, there was also a previous Boost.Tree library for a 2006 SOC project that you may want to take a look at: http://svn.boost.org/trac/boost/browser/sandbox/SOC/2006/tree HTH, John.

How does this differ from http://svn.boost.org/svn/boost/trunk/libs/math/doc/gcd/html/index.html ?
Granted, GCD and LCM already exist, What I'm suggesting is that they be merged into a larger library of number theoretic utilities, such as the others I mentioned.
WRT the other ideas, this looks to be too much for one SOC project,
Were you referring to each one individually, or all together?
there was also a previous Boost.Tree library for a 2006 SOC project that you may want to take a look at: http://svn.boost.org/trac/boost/browser/sandbox/SOC/2006/tree
Ah, missed that one. Thanks for the feedback.

Sykora wrote:
WRT the other ideas, this looks to be too much for one SOC project,
Were you referring to each one individually, or all together?
All together: what I would suggest all students to do, is concentrate on a tightly focused project, so that it's clear it can be completed within the SOC timescale. Regards, John.
participants (2)
-
John Maddock
-
Sykora