Design of LinBox v2.0

Main points to be addressed:

  1. Redesign the matrix/BlackBox toward a more intuitive and simpler usage. See MatrixDesign.
  1. Update the solutions wrt the new matrix interface. Clean the current code and make it uniform for all solutions. See SolutionDesign.
  1. Change the configuration system to !SCons: M Abshoff, can you maybe make a short wiki entry on this point (motivation, port to MSVC, ...)
  1. Chinese remainder code: uniformize the way it is used (matrixHom), make it faster
  1. Clarify the distinction between Ring and Field:
    • separate directories?
    • inheritance? which way?
    • update the Domain traits (ModularTag doesnt tell whether the ring is a field...)
  1. Hadamard bounds: create a solution/hadamard.h
    • for SparseMatrix and DenseMatrix: compute the effective bound, using row and col iterators.
      • compute the vector norms over Z ?
      • otherwise, majoration of each entry by a power of 2, and manipulation with the bit indices to compute the log(sum_i(|aij|))
    • for BlackBoxes :
      • Should they provide a method maxEntry (returning max |a_{i,j}|)?
      • use 'apply' to recover the col/row vectors and then compute the bound (probably way too expensive)