Fix docs of supported sparse backends for mixed_precision_solves option

- Also adds documentation of mixed precision solves to Sphinx docs.
- Fix reference to Sphinx theme used (RTD not better).
- Fix NOTE syntax in use_explicit_schur_complement Sphinx docs.

Change-Id: I7bdac0f07eb737f49b05e3fcaa3eebd087355d2d
This commit is contained in:
Alex Stewart
2021-11-19 13:18:57 +00:00
committed by Sameer Agarwal
parent 8cb441c49a
commit c2fab6502e
3 changed files with 36 additions and 5 deletions
+31 -1
View File
@@ -1408,7 +1408,7 @@ elimination group [LiSaad]_.
computed Schur complement. This can improve the performance of the
``ITERATIVE_SCHUR`` solver significantly.
.. NOTE:
.. NOTE::
This option can only be used with the ``SCHUR_JACOBI``
preconditioner.
@@ -1453,6 +1453,36 @@ elimination group [LiSaad]_.
This setting only affects the `SPARSE_NORMAL_CHOLESKY` solver.
.. member:: bool Solver::Options::use_mixed_precision_solves
Default: ``false``
.. NOTE::
This feature is EXPERIMENTAL and under development, use at your
own risk!
If true, the Gauss-Newton matrix is computed in *double* precision, but
its factorization is computed in **single** precision. This can result in
significant time and memory savings at the cost of some accuracy in the
Gauss-Newton step. Iterative refinement is used to recover some
of this accuracy back.
If ``use_mixed_precision_solves`` is true, we recommend setting
``max_num_refinement_iterations`` to 2-3.
This option is currently only available if
``sparse_linear_algebra_library_type`` is ``EIGEN_SPARSE`` or
``ACCELERATE_SPARSE``, and ``linear_solver_type`` is
``SPARSE_NORMAL_CHOLESKY`` or ``SPARSE_SCHUR``.
.. member:: int Solver::Options::max_num_refinement_iterations
Default: ``0``
Number steps of the iterative refinement process to run when
computing the Gauss-Newton step, see ``use_mixed_precision_solves``.
.. member:: int Solver::Options::min_linear_solver_iterations
Default: ``0``