Statistics
Krylov.KrylovStats — Type
Abstract type for statistics returned by (block) Krylov solvers.
Krylov.SimpleStats — Type
Type for storing statistics returned by the majority of (block) Krylov solvers.
The fields are as follows:
niter: The total number of iterations completed by the solver;solved: Indicates whether the solver successfully reached convergence (trueif solved,falseotherwise);inconsistent: Flags whether the system was detected as inconsistent (i.e., whenbis not in the range ofA);indefinite: Flags whether the system was detected as indefinite (i.e., whenAis not positive definite);npcCount: The number of nonpositive curvature directions encountered during the solve;residuals: A vector containing the residual norms at each iteration;Aresiduals: A vector ofA'-residual norms at each iteration;Acond: An estimate of the condition number of matrixA.allocation_timer: The elapsed time (in seconds) spent on allocations;timer: The elapsed time (in seconds) taken by the solver to complete all iterations;status: A string indicating the outcome of the solve, providing additional details beyondsolved.
Krylov.LanczosStats — Type
Type for storing statistics returned by CG-LANCZOS. The fields are as follows:
- niter
- solved
- residuals
- indefinite
- Anorm
- Acond
- allocation_timer
- timer
- status
Krylov.LanczosShiftStats — Type
Type for storing statistics returned by CG-LANCZOS-SHIFT and CGLS-LANCZOS-SHIFT. The fields are as follows:
- niter
- solved
- residuals
- indefinite
- Anorm
- Acond
- allocation_timer
- timer
- status
Krylov.SymmlqStats — Type
Type for storing statistics returned by SYMMLQ. The fields are as follows:
- niter
- solved
- residuals
- residualscg
- errors
- errorscg
- Anorm
- Acond
- allocation_timer
- timer
- status
Krylov.AdjointStats — Type
Type for storing statistics returned by adjoint systems solvers BiLQR and TriLQR. The fields are as follows:
- niter
- solved_primal
- solved_dual
- residuals_primal
- residuals_dual
- allocation_timer
- timer
- status
Krylov.LNLQStats — Type
Type for storing statistics returned by the LNLQ method. The fields are as follows:
- niter
- solved
- residuals
- errorwithbnd
- errorbndx
- errorbndy
- allocation_timer
- timer
- status
Krylov.LSLQStats — Type
Type for storing statistics returned by the LSLQ method. The fields are as follows:
- niter
- solved
- inconsistent
- residuals
- Aresiduals
- err_lbnds
- errorwithbnd
- errubndslq
- errubndscg
- allocation_timer
- timer
- status
Krylov.LsmrStats — Type
Type for storing statistics returned by LSMR. The fields are as follows:
- niter
- solved
- inconsistent
- residuals
- Aresiduals
- Acond
- Anorm
- xNorm
- allocation_timer
- timer
- status
Workspaces
Krylov.KrylovWorkspace — Type
Abstract type for using Krylov solvers in-place.
Krylov.BlockKrylovWorkspace — Type
Abstract type for using block Krylov solvers in-place.
Utilities
Krylov.roots_quadratic — Function
roots = roots_quadratic(q₂, q₁, q₀; nitref)Find the real roots of the quadratic
q(x) = q₂ x² + q₁ x + q₀,where q₂, q₁ and q₀ are real. Care is taken to avoid numerical cancellation. Optionally, nitref steps of iterative refinement may be performed to improve accuracy. By default, nitref=1.
Krylov.sym_givens — Function
(c, s, ρ) = sym_givens(a, b)Numerically stable symmetric Givens reflection. Given a and b reals, return (c, s, ρ) such that
[ c s ] [ a ] = [ ρ ]
[ s -c ] [ b ] = [ 0 ].Numerically stable symmetric Givens reflection. Given a and b complexes, return (c, s, ρ) with c real and (s, ρ) complexes such that
[ c s ] [ a ] = [ ρ ]
[ s̅ -c ] [ b ] = [ 0 ].Krylov.to_boundary — Function
roots = to_boundary(n, x, d, radius; flip, xNorm2, dNorm2)Given a trust-region radius radius, a vector x lying inside the trust-region and a direction d, return σ1 and σ2 such that
‖x + σi d‖ = radius, i = 1, 2in the Euclidean norm. n is the length of vectors x and d. If known, ‖x‖² and ‖d‖² may be supplied with xNorm2 and dNorm2.
If flip is set to true, σ1 and σ2 are computed such that
‖x - σi d‖ = radius, i = 1, 2.Krylov.vec2str — Function
s = vec2str(x; ndisp)Display an array in the form
[ -3.0e-01 -5.1e-01 1.9e-01 ... -2.3e-01 -4.4e-01 2.4e-01 ]with (ndisp - 1)/2 elements on each side.
Krylov.ktypeof — Function
S = ktypeof(v)Return the most relevant storage type S based on the type of v.
Krylov.vector_to_matrix — Function
M = vector_to_matrix(S)Return the dense matrix storage type M related to the dense vector storage type S.
Krylov.matrix_to_vector — Function
S = matrix_to_vector(M)Return the dense vector storage type S related to the dense matrix storage type M.