linbox icon indicating copy to clipboard operation
linbox copied to clipboard

Cleanup permutations

Open jgdumas opened this issue 7 years ago • 2 comments

blackbox/permutation.h matrix/ BlasPermutation & MatrixPermutation

Is MatrixPermutation then same as blackbox/permutation.h ?

jgdumas avatar Dec 12 '17 08:12 jgdumas

The answer is yes, MatrixPermutation from matrix/matrix-permutation.h and Permutation from blackbox/permutation.h make the same representation. Meanwhile BlasPermutation is the Lapack style rep used in fflas/ffpack.

Five points:

  1. I don't see a need for two representations of permutations.
  2. I currently have an interest in providing a weighted permutation blackbox.
  3. I want to wrap fflas factorizations in the FIBBs (fast inverse blackbox) framework including the permutations,
  4. It seems to me that permutations belong in blackbox/, reserving matrix/ for sparse and dense representations.
  5. I'm not too happy with the BlasPermutation name (what is it to do with blas?). Perhaps LapackPermutation or simply Permutation can be the name?

I propose to do the following; please comment.

  1. Evolve the current blackbox/permutation.h to a weighted-permutation.h using that representation (having an array P where the permutation sends i to P[i] ). (In part this is a compromise to not throw away this representation altogether.)

  2. Move matrix/matrix-permutation.h to blackbox/permutation.h, holding the lapack style representation and wrapping the fflas/pack perms.

bdsaunders avatar Aug 15 '18 13:08 bdsaunders

Sounds good to me !

jgdumas avatar Aug 27 '18 13:08 jgdumas