Changes between Version 13 and Version 14 of MatrixDesign

Show
Ignore:
Timestamp:
08/14/08 18:15:37 (2 years ago)
Author:
saunders (IP: 128.4.40.40)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MatrixDesign

    v13 v14  
    33The matrices in !LinBox can be of 3 types: !BlackBox, !SparseMatrix, !DenseMatrix.   
    44[bds: !BlackBox is a Concept (i.e. template parameter), !SparseMatrix and !DenseMatrix are specific classes. 
    5 Here I'm proposing 2 concepts, !Blackbox and !Matrix (much different than current !Matrix), and two distinguished classes (!SparseMatrix and !DenseMatrix).  Does this violate the thought behind the '3 types' statement above?] 
     5Here I'm proposing 2 concepts, Blackbox and Matrix (much different than current Matrix), and two distinguished classes (!SparseMatrix and !DenseMatrix).  Does this violate the thought behind the '3 types' statement above?] 
    66 
    77Their main methods are the following: 
     
    3232Raw iterators, rawBegin(), rawEnd().  This idea has limited and unessential uses so far.  It's purpose is superceded by rebind() [ and current uses of raw iterators in rebind()'s  can be used or rewritten, but there is no genericity about this, so no need for raw iterators in a general Matrix concept.]  Let's abandon rawIterators as a generic thing. 
    3333 
    34 Currently, Matrix is a container concept with template parameter Element, whereas Blackbox-es have template parameter Field.  I'm fine with keeping this.  Right now, I'd say the idea is that blackboxes which derive from !MatrixContainer are precisely those on which eliminations can be used. 
    35 I am fine with that but also would consider a !Matrix concept having Field template parameter and supporting LQUP.  This concept could take over the name !Matrix and the current matrix could morph to !MatrixContainer, or the Blackbox extension concept could be named !Eliminable or !Factorable or some such.  There would be at least one Dense type and several Sparse types meeting the concept. 
     34Currently, Matrix is a container concept with template parameter Element, whereas Blackbox-es have template parameter Field.  I'm fine with keeping this, but let's call this concept !MatrixContainer in this discussion.  Right now, I'd say the idea is that blackboxes which derive from !MatrixContainer are precisely those on which eliminations can be used. 
     35I am fine with that but also would consider a Matrix concept having Field template parameter and supporting LQUP.  This concept could take over the name Matrix and the current matrix could morph to !MatrixContainer.  Alternatively, my Matrix concept, a Blackbox extension concept, could be named Eliminable or Factorable or some such.  There will be at least one Dense type and several Sparse types meeting this concept. 
    3636 
    3737        Class '''SparseMatrix:''' extends the Matrix concept and is the `default' sparse matrix representation.  It has a special place in !MatrixDomain(s) and other places.  In particular, sparse elimination is supported on it.