diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-09-22 21:51:23 -0400 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-09-22 21:51:23 -0400 |
commit | 0ad3494bd370ec992ac1eabaec60ea604ea14a29 (patch) | |
tree | d9049da18caf42255c6300c6d7951d961012f4d4 | |
parent | ab5cc8284aedae58885902f3764d19a8ff05f758 (diff) |
fix docs
-rw-r--r-- | Eigen/src/LU/LU.h | 15 | ||||
-rw-r--r-- | doc/Doxyfile.in | 6 | ||||
-rw-r--r-- | doc/snippets/PartialLU_solve.cpp | 2 |
3 files changed, 10 insertions, 13 deletions
diff --git a/Eigen/src/LU/LU.h b/Eigen/src/LU/LU.h index 0475b5be3..a5ca9bf8f 100644 --- a/Eigen/src/LU/LU.h +++ b/Eigen/src/LU/LU.h @@ -302,22 +302,19 @@ template<typename MatrixType> class LU /** This method returns a solution x to the equation Ax=b, where A is the matrix of which * *this is the LU decomposition. * - * If no solution exists, then the result is undefined. If only an approximate solution exists, - * then the result is only such an approximate solution. - * * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix, * the only requirement in order for the equation to make sense is that * b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition. * - * \returns a solution, if any exists. See notes below. + * \returns a solution. * - * Example: \include LU_solve.cpp - * Output: \verbinclude LU_solve.out + * \note_about_inexistant_solutions * - * \note \note_about_inexistant_solutions + * \note_about_arbitrary_choice_of_solution + * \note_about_using_kernel_to_study_multiple_solutions * - * \note \note_about_arbitrary_choice_of_solution - * \note_about_using_kernel_to_study_multiple_solutions + * Example: \include LU_solve.cpp + * Output: \verbinclude LU_solve.out * * \sa TriangularView::solve(), kernel(), computeKernel(), inverse(), computeInverse() */ diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index b62ba3238..97bda5e41 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -215,10 +215,10 @@ ALIASES = "only_for_vectors=This is only for vectors (either row- "eigenvalues_module=This is defined in the %Eigenvalues module. \code #include <Eigen/Eigenvalues> \endcode" \ "label=\bug" \ "redstar=<a href='#warningarraymodule' style='color:red;text-decoration: none;'>*</a>" \ - "nonstableyet=\warning This is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\" \ - "note_about_arbitrary_choice_of_solution=If there exist more than one solution, this method will arbitrarily choose one." \ + "nonstableyet=\warning This is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" \ + "note_about_arbitrary_choice_of_solution=If there exists more than one solution, this method will arbitrarily choose one." \ "note_about_using_kernel_to_study_multiple_solutions=If you need a complete analysis of the space of solutions, take the one solution obtained by this method and add to it elements of the kernel, as determined by kernel()." \ - "note_about_inexistant_solutions=If only an approximate solution exists, then the result is only such an approximate solution. The case where no solution exists isn't treated separately, as that would require one to use an arbitrary threshold. If you want to check whether a solution exists, just call this function to get a solution and then compute the margin of error, or use MatrixBase::isApprox() directly, for instance like this: \code bool = a_solution_exists = (A*result).isApprox(b, precision); \endcode As long as the input matrices have finite numeric coefficients (no \c inf or \c nan values), the result will also have finite numeric coefficients, there is no risk of getting \nan values if no solution exists."" + "note_about_inexistant_solutions=If only an approximate solution exists, then the result is only such an approximate solution. The case where no solution exists isn't treated separately: non-existent solutions are just \"very inaccurate solutions\". If you want to check whether a solution exists, just call this function to get a solution and then compute the error margin, or use MatrixBase::isApprox() directly, for instance like this: \code bool a_solution_exists = (A*result).isApprox(b, precision); \endcode As long as the input matrices have finite numeric coefficients (no \c inf or \c nan values), the result will also have finite numeric coefficients, there is no risk of getting \c nan values if no solution exists." # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. diff --git a/doc/snippets/PartialLU_solve.cpp b/doc/snippets/PartialLU_solve.cpp index 12441437f..d9ccbe9f0 100644 --- a/doc/snippets/PartialLU_solve.cpp +++ b/doc/snippets/PartialLU_solve.cpp @@ -3,6 +3,6 @@ MatrixXd B = MatrixXd::Random(3,2); cout << "Here is the invertible matrix A:" << endl << A << endl; cout << "Here is the matrix B:" << endl << B << endl; MatrixXd X; -if(A.lu().solve(B, &X)) +A.partialLu().solve(B, &X); cout << "Here is the (unique) solution X to the equation AX=B:" << endl << X << endl; cout << "Relative error: " << (A*X-B).norm() / B.norm() << endl; |