Loggers
Abstract Types
RLinearAlgebra.Logger
— TypeLogger
An abstract supertype for structures that record the progress of a SolverRecipe
applied to a coefficient matrix and constant vector.
RLinearAlgebra.LoggerRecipe
— TypeLoggerRecipe
An abstract supertype for a structure that contains pre-allocated memory for a method that records the progress of a SolverRecipe
.
Logger Structures
RLinearAlgebra.BasicLogger
— TypeBasicLogger <: Logger
This is a mutable struct that contains the max_it
parameter and stores the error metric in a vector. Checks convergence of the solver based on the log information.
Fields
max_it::Int64
, The maximum number of iterations for the solver. If not specified by the user, it is set to 3 times the number of rows in the matrix.threshold_info::Union{Float64, Tuple}
, The parameters used for stopping the algorithm.collection_rate::Int64
, the rate that history is gathered. (Note: The last value is always recorded.)stopping_criterion::Function
, function that evaluates the stopping criterion.
RLinearAlgebra.BasicLoggerRecipe
— TypeBasicLoggerRecipe <: LoggerRecipe
This is a mutable struct that contains the max_it
parameter and stores the error metric in a vector. Checks convergence of the solver based on the log information.
Fields
max_it::Int64
, The maximum number of iterations for the solver.error::Float64
, The current error metric.threshold_info::Union{Float64, Tuple}
, The parameters used for stopping the algorithm.iteration::Int64
, the current iteration of the solver.record_location::Int64
, the location in the history vector of the most recent entry.collection_rate::Int64
, the rate that history is gathered. (Note: The last value is always recorded.)converged::Bool
, A boolean indicating whether the stopping criterion is satisfied.StoppingCriterion::Function
, function that evaluates the stopping criterion.hist:AbstractVector
, vector that contains the history of the error metric.
Exported Functions
RLinearAlgebra.complete_logger
— Functioncomplete_logger(logger::Logger)
A function that generates a LoggerRecipe
given the arguments.
Arguments
logger::Logger
, a user-specified logging method.
Returns
- A
LoggerRecipe
object.
RLinearAlgebra.update_logger!
— Functionupdate_logger!(logger::LoggerRecipe, err::Float64, iteration::Int64)
A function that updates the LoggerRecipe
in place given arguments.
Arguments
logger::LoggerRecipe
, a fully initialized realization for a logging method for a specific linear or least squares solver.err::Real
, an error value to be logged.iteration::Int64
, the iteration of the solver.
Returns
- Performs an inplace update to the
LoggerRecipe
and returns nothing.
RLinearAlgebra.reset_logger!
— Functionreset_logger!(logger::LoggerRecipe)
A function that resets the LoggerRecipe
in place.
Arguments
logger::LoggerRecipe
, a fully initialized realization for a logging method for a specific linear or least squares solver.
Returns
- Performs an inplace update to the
LoggerRecipe
and returns nothing.
RLinearAlgebra.threshold_stop
— Functionthreshold_stop(log::BasicLoggerRecipe)
Function that takes an input threshold and stops when the most recent entry in the history vector is less than the threshold.
Arguments
log::LoggerRecipe
, a structure containing the logger information
Bool
- Returns a Bool indicating if the stopping threshold is satisfied.