anchor.diff:                      y.[q] <- (fst y.[q], yNew)
                       q <- q + 1
   
  -            encode(c, s)
  +            Encode c s
           
           // Run Sparse QR
           let m = A.NumRows
  
positive.code:     let leastSquares A (b: vector) =
  
          // Q.transpose * b for sparse Q
          let MultiplyVectorWithTransposeGivensMatrix (q:SparseMatrix<float>, x:vector) =
              let outVec = vector x
              let m = q.NumRows
              for i = 0 to m-1 do
                  for j = q.SparseRowOffsets.[i] to (q.SparseRowOffsets.[i+1] - 1) do
  
negative.code:                 R.[a] <- new ResizeArray<(int*float)>(temp)
                  ()
  
          let mutable x = 0
  
          let RSeq = seq{ for row in R do
                              for entry in row do
                                  yield(x, fst entry, snd entry)
                              x <- x+1
                        }
                              
  
          let ROut = Matrix.initSparse m n RSeq
  
          x <- 0
          let QSeq = seq{ for row in Q do
                              for entry in row do
                                  yield(x, fst entry, snd entry)
                              x <- x+1  
                        }
  
          let QOut = Matrix.initSparse m n QSeq
          QOut, ROut
  