@@ -69,22 +69,22 @@ class Diagonal;
6969 * and preconditioners is that the most common operation performed on all of
7070 * them can be expressed as an application of a linear operator to a vector:
7171 *
72- * + the sparse matrix-vector product with a matrix $A $ is a linear
73- * operator application $y = Ax$;
72+ * + the sparse matrix-vector product with a matrix \f$A\f $ is a linear
73+ * operator application \f $y = Ax\f $;
7474 * + the application of a preconditioner is a linear operator application
75- * $y = M^{-1}x$, where $M $ is an approximation of the original
76- * system matrix $A $ (thus a preconditioner represents an "approximate
77- * inverse" operator $M^{-1}$).
78- * + the system solve $Ax = b$ can be viewed as linear operator
75+ * \f $y = M^{-1}x\f $, where \f$M\f $ is an approximation of the original
76+ * system matrix \f$A\f $ (thus a preconditioner represents an "approximate
77+ * inverse" operator \f $M^{-1}\f $).
78+ * + the system solve \f $Ax = b\f $ can be viewed as linear operator
7979 * application
80- * $x = A^{-1}b$ (it goes without saying that the implementation of
80+ * \f $x = A^{-1}b\f $ (it goes without saying that the implementation of
8181 * linear system solves does not follow this conceptual idea), so a linear
8282 * system solver can be viewed as a representation of the operator
83- * $A^{-1}$.
83+ * \f $A^{-1}\f $.
8484 *
8585 * Finally, direct manipulation of LinOp objects is rarely required in
8686 * simple scenarios. As an illustrative example, one could construct a
87- * fixed-point iteration routine $x_{k+1} = Lx_k + b$ as follows:
87+ * fixed-point iteration routine \f $x_{k+1} = Lx_k + b\f $ as follows:
8888 *
8989 * ```cpp
9090 * std::unique_ptr<matrix::Dense<>> calculate_fixed_point(
@@ -103,9 +103,9 @@ class Diagonal;
103103 * }
104104 * ```
105105 *
106- * Here, if $L $ is a matrix, LinOp::apply() refers to the matrix vector
107- * product, and `L->apply(a, b)` computes $b = L \cdot a$.
108- * `x->add_scaled(one, b)` is the `axpy` vector update $x:=x+b$.
106+ * Here, if \f$L\f $ is a matrix, LinOp::apply() refers to the matrix vector
107+ * product, and `L->apply(a, b)` computes \f $b = L \cdot a\f $.
108+ * `x->add_scaled(one, b)` is the `axpy` vector update \f $x:=x+b\f $.
109109 *
110110 * The interesting part of this example is the apply() routine at line 4 of the
111111 * function body. Since this routine is part of the LinOp base class, the
@@ -291,34 +291,34 @@ class LinOp : public EnableAbstractPolymorphicObject<LinOp> {
291291 * linear operator into another.
292292 *
293293 * In Ginkgo, every linear solver is viewed as a mapping. For example,
294- * given an s.p.d linear system $Ax = b$, the solution $x = A^{-1}b$
294+ * given an s.p.d linear system \f $Ax = b\f $, the solution \f $x = A^{-1}b\f $
295295 * can be computed using the CG method. This algorithm can be represented in
296296 * terms of linear operators and mappings between them as follows:
297297 *
298298 * - A Cg::Factory is a higher order mapping which, given an input operator
299- * $A $, returns a new linear operator $A^{-1}$ stored in "CG
299+ * \f$A\f $, returns a new linear operator \f $A^{-1}\f $ stored in "CG
300300 * format"
301- * - Storing the operator $A^{-1}$ in "CG format" means that the data
301+ * - Storing the operator \f $A^{-1}\f $ in "CG format" means that the data
302302 * structure used to store the operator is just a simple pointer to the
303- * original matrix $A $. The application $x = A^{-1}b$ of such an
303+ * original matrix \f$A\f $. The application \f $x = A^{-1}b\f $ of such an
304304 * operator can then be implemented by solving the linear system
305- * $Ax = b$ using the CG method. This is achieved in code by having a
305+ * \f $Ax = b\f $ using the CG method. This is achieved in code by having a
306306 * special class for each of those "formats" (e.g. the "Cg" class defines
307307 * such a format for the CG solver).
308308 *
309309 * Another example of a LinOpFactory is a preconditioner. A preconditioner for
310- * a linear operator $A $ is a linear operator $M^{-1}$, which
311- * approximates $A^{-1}$. In addition, it is stored in a way such that
312- * both the data of $M^{-1}$ is cheap to compute from $A $, and the
313- * operation $x = M^{-1}b$ can be computed quickly. These operators are
310+ * a linear operator \f$A\f $ is a linear operator \f $M^{-1}\f $, which
311+ * approximates \f $A^{-1}\f $. In addition, it is stored in a way such that
312+ * both the data of \f $M^{-1}\f $ is cheap to compute from \f$A\f $, and the
313+ * operation \f $x = M^{-1}b\f $ can be computed quickly. These operators are
314314 * useful to accelerate the convergence of Krylov solvers.
315315 * Thus, a preconditioner also fits into the LinOpFactory framework:
316316 *
317- * - The factory maps a linear operator $A $ into a preconditioner
318- * $M^{-1}$ which is stored in suitable format (e.g. as a product of
317+ * - The factory maps a linear operator \f$A\f $ into a preconditioner
318+ * \f $M^{-1}\f $ which is stored in suitable format (e.g. as a product of
319319 * two factors in case of ILU preconditioners).
320320 * - The resulting linear operator implements the application operation
321- * $x = M^{-1}b$ depending on the format the preconditioner is stored
321+ * \f $x = M^{-1}b\f $ depending on the format the preconditioner is stored
322322 * in (e.g. as two triangular solves in case of ILU)
323323 *
324324 * Example: using CG in Ginkgo
@@ -372,7 +372,7 @@ class LinOpFactory
372372 * conjugate transpose.
373373 *
374374 * The normal transpose returns the transpose of the linear operator without
375- * changing any of its elements representing the operation, $B = A^{T}$.
375+ * changing any of its elements representing the operation, \f $B = A^{T}\f $.
376376 *
377377 * The conjugate transpose returns the conjugate of each of the elements and
378378 * additionally transposes the linear operator representing the operation, $B
@@ -451,7 +451,7 @@ class Permutable {
451451 * value `(perm[i],perm[j])`.
452452 *
453453 * From the linear algebra perspective, with $P_{ij} = \delta_{i
454- * \pi(i)}$, this represents the operation $P A P^T$.
454+ * \pi(i)}$, this represents the operation \f $P A P^T\f $.
455455 *
456456 * @param permutation_indices the array of indices containing the
457457 * permutation order.
@@ -472,7 +472,7 @@ class Permutable {
472472 * contains the input value `(i,j)`.
473473 *
474474 * From the linear algebra perspective, with $P_{ij} = \delta_{i
475- * \pi(i)}$, this represents the operation $P^{-1} A P^{-T}$.
475+ * \pi(i)}$, this represents the operation \f $P^{-1} A P^{-T}\f $.
476476 *
477477 * @param permutation_indices the array of indices containing the
478478 * permutation order.
@@ -492,7 +492,7 @@ class Permutable {
492492 * In the resulting LinOp, the row `i` contains the input row `perm[i]`.
493493 *
494494 * From the linear algebra perspective, with $P_{ij} = \delta_{i
495- * \pi(i)}$, this represents the operation $P A$.
495+ * \pi(i)}$, this represents the operation \f $P A\f $.
496496 *
497497 * @param permutation_indices the array of indices containing the
498498 * permutation order.
@@ -509,7 +509,7 @@ class Permutable {
509509 * `perm[i]`.
510510 *
511511 * From the linear algebra perspective, with $P_{ij} = \delta_{i
512- * \pi(i)}$, this represents the operation $A P^T$.
512+ * \pi(i)}$, this represents the operation \f $A P^T\f $.
513513 *
514514 * @param permutation_indices the array of indices containing the
515515 * permutation order `perm`.
@@ -525,7 +525,7 @@ class Permutable {
525525 * In the resulting LinOp, the row `perm[i]` contains the input row `i`.
526526 *
527527 * From the linear algebra perspective, with $P_{ij} = \delta_{i
528- * \pi(i)}$, this represents the operation $P^{-1} A$.
528+ * \pi(i)}$, this represents the operation \f $P^{-1} A\f $.
529529 *
530530 * @param permutation_indices the array of indices containing the
531531 * permutation order `perm`.
@@ -542,7 +542,7 @@ class Permutable {
542542 * `i`.
543543 *
544544 * From the linear algebra perspective, with $P_{ij} = \delta_{i
545- * \pi(i)}$, this represents the operation $A P^{-T}$.
545+ * \pi(i)}$, this represents the operation \f $A P^{-T}\f $.
546546 *
547547 * @param permutation_indices the array of indices containing the
548548 * permutation order `perm`.
0 commit comments