The unifrnd() function was moved to the statistics package in
Octave 4.4:
https://octave.org/NEWS-4.4.html
We add "pkg load statistics;" where necessary, and now implicitly
depend on the statistics package.
%
% - ``A`` -- A symmetric, positive definite matrix.
%
+
+ % provides unifrnd()
+ pkg load statistics;
+
U = random_orthogonal_matrix(integerN);
d = unifrnd(eps, max_entry, 1, integerN);
D = diag(d);
+## provides unifrnd()
+pkg load statistics;
+
## Used throughout. The CGM uses the infinity norm as the stopping
## condition, so we had better also.
max_iterations = 10000;
+## provides unifrnd()
+pkg load statistics;
+
## Used throughout. The PCGM uses the infinity norm as the stopping
## condition, so we had better also.
max_iterations = 10000;
+## provides unifrnd()
+pkg load statistics;
+
## We can use the steepest descent method to solve Qx=b as in the
## conjugate gradient method. Like we did there, we test that the
## steepest descent method agrees with Octave's PCGM and our CGM.