anchor.diff:      let foldi f z (a:matrix) = MG.foldi f z a
       /// Transforms the matrix a to a dense matrix representation
       let toDense (a:matrix) = MG.toDense a
  +    /// Transforms the matrix a to a sparse matrix representation
  +    let toSparse (a:matrix) = MG.toSparse a
       /// Creates a dense matrix with i rows and j columns. All values are initialized to the value of a.
       let initDense i j a : matrix = MG.initDense i j a
       /// Creates a sparse matrix with i rows and j columns. All values are initialized to the value of a.
  
positive.code:     let to_rowvec x = toRowVector x
      let to_scalar x = toScalar x
      let inline of_array2D arr  = ofArray2D arr
      let inline to_array2D m = toArray2D m
      let of_list    xss   = ofJaggedList xss
      let of_seq     xss   = ofJaggedSeq xss
      let init_diagonal v   = initDiagonal   v
      let of_scalar x     = ofScalar x
      let to_dense x = toDense x
      let init_dense i j a = initDense i j a
      let init_sparse i j a = initSparse i j a
  
  
negative.code:     let ofScalar x     = DS.scalarDenseMatrixDS x |> MS.dense
      ///
      let ofArray2D arr : matrix = MG.ofArray2D arr
      ///
      let sparseOfArray2D arr : matrix = MG.sparseOfArray2D arr
      ///
      let toArray2D (m : matrix) = MG.toArray2D m
      ///
  