clarifications

This commit is contained in:
conrad
2020-10-21 14:42:22 +10:00
parent 63362ad085
commit 24b4762cbf
+18 -17
View File
@@ -2502,12 +2502,12 @@ before including the <i>armadillo</i> header file (eg. <code>#define ARMA_NO_DEB
Alternatively, the <code>.at(n)</code>, <code>.at(i,j)</code> and <code>.at(i,j,k)</code> element access forms can be used,
which do not have bounds checks.
Either way, <b>disabling the bounds checks is not recommended</b> until your code has been thoroughly tested and debugged
-- it's better to write correct code first, and then maximise its speed.
-- it is better to write correct code first, and then maximise its speed.
</li>
<br>
<li>
The indices of elements are specified via the <a href="#uword">uword</a> type, which is a typedef for an <a href="#uword">unsigned integer type</a>.
When using loops to access elements, it's best to use <i>uword</i> instead of <i>int</i>.
When using loops to access elements, it is best to use <i>uword</i> instead of <i>int</i>.
For example: <code>for(uword&nbsp;i=0;&nbsp;i&lt;X.n_elem;&nbsp;++i)&nbsp;{&nbsp;X(i)&nbsp;=&nbsp;...&nbsp;}</code>
</li>
<br>
@@ -5708,7 +5708,7 @@ If the matrix expression appears to be singular, the output matrix is reset and
<b>Caveats:</b>
<ul>
<li>
if matrix <i>A</i> is know to be symmetric positive definite, it's faster to use <a href="#inv_sympd">inv_sympd()</a> instead
if matrix <i>A</i> is know to be symmetric positive definite, it is faster to use <a href="#inv_sympd">inv_sympd()</a> instead
</li>
<li>
to solve a system of linear equations, such as <i>Z&nbsp;=&nbsp;inv(X)*Y</i>,
@@ -6928,7 +6928,7 @@ By providing either <b>hdf5_name(</b>filename<b>,</b> dataset<b>)</b> or <b>hdf5
<ul>
<li>
the <i>dataset</i> argument specifies an HDF5 dataset name (eg. "my_dataset") that can include a full path (eg. "/group_name/my_dataset");
if a blank dataset name is specified (ie.&nbsp;""), it's assumed to be "dataset"
if a blank dataset name is specified (ie.&nbsp;""), it is assumed to be "dataset"
<br>
<br>
</li>
@@ -9150,7 +9150,7 @@ A.elem( find_nonfinite(A) ).zeros();
<br>
<li>
<b>Caveat:</b> to replace instances of a specific non-finite value (eg. nan or inf),
it's more efficient to use <a href="#replace">.replace()</a>
it is more efficient to use <a href="#replace">.replace()</a>
</li>
<br>
<li>
@@ -10388,7 +10388,7 @@ mat B = repelem(A, 4, 5);
<br>
<li>
<b>Caveat:</b> to apply a vector operation on each row or column of a matrix,
it's generally more efficient to use <a href="#each_colrow">.each_row()</a> or <a href="#each_colrow">.each_col()</a>
it is generally more efficient to use <a href="#each_colrow">.each_row()</a> or <a href="#each_colrow">.each_col()</a>
</li>
<br>
<li>
@@ -12822,17 +12822,7 @@ See also:
similar functionality to the \ operator in Matlab/Octave, ie. <i>X&nbsp;=&nbsp;A&nbsp;\&nbsp;B</i>
</li>
<br>
<li>
By default, matrix <i>A</i> is analysed to automatically determine whether it is a general matrix, band matrix, diagonal matrix, or symmetric/hermitian positive definite (SPD) matrix;
based on the detected matrix structure, a specialised solver is used for faster execution
</li>
<br>
<li>
If <i>A</i> is known to be a triangular matrix,
the solution can be computed faster by explicitly indicating that <i>A</i> is triangular through <a href="#trimat">trimatu()</a> or <a href="#trimat">trimatl()</a>; see examples below
</li>
<br>
<li><i>A</i> can be square (critically determined system), or non-square (under/over-determined system)
<li><i>A</i> can be square sized (critically determined system), or non-square (under/over-determined system)
</li>
<br>
<li>
@@ -12843,6 +12833,17 @@ the solution can be computed faster by explicitly indicating that <i>A</i> is tr
The number of rows in <i>A</i> and <i>B</i> must be the same
</li>
<br>
<li>
By default, matrix <i>A</i> is analysed to automatically determine whether it is a general matrix, band matrix, diagonal matrix, or symmetric/hermitian positive definite (SPD) matrix;
based on the detected matrix structure, a specialised solver is used for faster execution;
see the <a href="armadillo_solver_2020.pdf">associated paper</a> for more details
</li>
<br>
<li>
If <i>A</i> is known to be a triangular matrix,
the solution can be computed faster by explicitly indicating that <i>A</i> is triangular through <a href="#trimat">trimatu()</a> or <a href="#trimat">trimatl()</a>; see examples below
</li>
<br>
<li>The <i>settings</i> argument is optional; it is one of the following, or a combination thereof:
<br>
<br>