aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2007-05-30 12:14:09 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2007-05-30 12:14:09 +0000
commit7947ae0e502d4a71b5db19e582399a17d5647273 (patch)
tree54460ca7a76acdacf96778382055927c2a95b0d7
parent8eb898ce40f69ce569b5ee251478b8fffe64c50c (diff)
A TODO to motivate hundreds of hackers to help with Eigen 2 development.
Cheesy slashdot joke included.
-rw-r--r--TODO47
1 files changed, 47 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 000000000..1e0d49901
--- /dev/null
+++ b/TODO
@@ -0,0 +1,47 @@
+Eigen 2 business plan, aka TODO.
+
+This is the work branch for Eigen2, eventually to supersede to Eigen 1 in
+/trunk/kdesupport/eigen.
+
+Eigen2 starts as a fork of the orphaned code of Tvmet.
+
+- Phase A: cleanup and reorganize Tvmet code.
+-- port from autotools to CMake (IN PROGRESS)
+-- Remove unneeded/obsolete configure checks (IN PROGRESS)
+-- Remove other unneeded defines and #ifdefs, like TVMET_DYNAMIC_MEMORY
+ (we want to use fixed-size only at this stage).
+-- Make sure the test-suite compiles and succeeds.
+-- add a meta-header including all headers (requested by Andre)
+
+- Phase B: Complete the fixed-size part of Eigen 2.
+-- Add to the Vector and Matrix classes all the useful methods from
+ Eigen 1. Also implement the other useful features from Eigen 1, like
+ projective geometry, linear regression, quaternions.
+ Make sure all that works nicely with the expression templates.
+-- review the API for consistency, naming scheme etc.
+-- Make sure all the optimizations of Eigen 1 survive in Eigen 2. For
+ instance, in Eigen 1 we hand-unroll most of the nested loops that GCC 4.1
+ fails to unroll. This is most useful and we need to make sure that Eigen 2
+ does it too.
+-- Extend the test-suite to cover everything.
+-- Rename consistently Tvmet to Eigen while giving credit (keep copyright
+ lines, mention Tvmet in documentation, README, website, etc.)
+
+- Phase C: Do the dynamic-size part of Eigen 2 (as a GMM++ wrapper).
+-- Import a SVN snapshot of GMM++ (there have been useful changes since the
+ last stable release 2.0.2).
+-- Write the wrapping classes using the expression template mechanisms from
+ Tvmet.
+-- Evaluate adding some methods/functions from Eigen 1, like those for linear
+ regression.
+-- Review the whole API (fixed-size and dynamic-size) for consistency and
+ add bridges between the fixed-size and dynamic-size classes: constructors,
+ conversion operators, etc.
+-- In a perfect world we would be able to do dynamic-size matrices with
+ fixed-size-matrix entries.
+-- give credit to GMM in the documentation, README, website, etc.
+
+- Phase D: ??????
+
+- Phase E: $$$ Profit!!! $$$
+