]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/choleski.hh
release: 0.1.11
[lilypond.git] / flower / include / choleski.hh
index a3a02a11e0782d7d7c49ec41794fd1a547bbea9f..a1c3a8c47e172b718d0bb9053e9a6cdf8ac1e9ad 100644 (file)
@@ -9,7 +9,7 @@
 
     #P# is split  into
 
-    LD transpose(L)
+    LD transpose (L)
     */
 struct Choleski_decomposition {
 
@@ -24,13 +24,13 @@ struct Choleski_decomposition {
     P needs to be symmetric positive definite
     */
     
-    Choleski_decomposition(Matrix const &P);
+    Choleski_decomposition (Matrix const &P);
 
     /**
     solve Px = rhs
     */
-    Vector solve(Vector rhs) const;
-
+    Vector solve (Vector rhs) const;
+    void solve (Vector &dest, Vector const &rhs) const;
     Vector operator * (Vector rhs) const { return solve (rhs); }
   /**
     return the inverse of the matrix P.
@@ -41,8 +41,10 @@ struct Choleski_decomposition {
     */
     Matrix original() const;
 private:
-    void full_matrix_decompose(Matrix const & P);
-    void band_matrix_decompose(Matrix const &P);
+    void full_matrix_solve (Vector &,Vector const&) const;
+    void band_matrix_solve (Vector &, Vector const&) const;
+    void full_matrix_decompose (Matrix const & P);
+    void band_matrix_decompose (Matrix const &P);
         
 };
 #endif