SubSolvers

Abstract Types

SubSolver Structures

RandLinearAlgebra.LQSolverType
LQSolver <: SubSolver

A type containing information relevant to solving the linear subsystems created by the Solver routines with the LQ factorization. As there are no user controlled parameters, if the user wishes to use this method they can simply specify LQSolver().

source
RandLinearAlgebra.LQSolverRecipeType
LQSolverRecipe <: SubSolverRecipe{M<:AbstractArray}

A mutable type containing informtation relevant to solving the linear subsytems created by the Solver routines with the LQ factorization.

Fields

  • A::M, The matrix in the linear system that will be solved with the LQ solver.
source
RandLinearAlgebra.QRSolverType
QRSolver <: SubSolver

A type containing information relevant to solving the linear subsystems created by the Solver routines with the QR factorization. As there are no user controlled parameters, if the user wishes to use this method they can simply specify QRSolver().

Fields

  • None
source
RandLinearAlgebra.QRSolverRecipeType
QRSolverRecipe{M<:AbstractArray} <: SubSolverRecipe

A mutable type containing information relevant to solving the linear subsystems created by the Solver routines with the QR factorization.

Fields

  • A::M, The matrix in the linear system that will be solved with the QR solver.
source

Exported Functions

RandLinearAlgebra.complete_sub_solverFunction
complete_sub_solver(solver::SubSolver, A::AbstractArray)

A function that generates a SubSolverRecipe given the arguments.

Arguments

  • solver::SubSolver, a user-specified sub-solving method.
  • A::AbstractArray, a coefficient matrix or vector.

Returns

  • A SubSolverRecipe object.

Throws

  • ArgumentError if no method for completing the sub-solver exists for the given sub-solver type.
source
complete_sub_solver(solver::SubSolver, A::AbstractArray, b::AbstractArray)

A function that generates a SubSolverRecipe given the arguments.

Arguments

  • solver::SubSolver, a user-specified sub-solving method.
  • A::AbstractArray, a coefficient matrix or vector.
  • b::AbstractArray, a constant matrix or vector.

Returns

  • A SubSolverRecipe object.

Throws

  • ArgumentError if no method for completing the sub-solver exists for the given sub-solver type.
source
RandLinearAlgebra.update_sub_solver!Function
update_sub_solver!(solver::SubSolverRecipe, A::AbstractArray)

A function that updates the SubSolver in place given arguments.

Arguments

  • solver::SubSolverRecipe, a fully initialized realization for a linear sub-solver.
  • A::AbstractArray, a coefficient matrix or vector.

Returns

  • Modifies the SubSolverRecipe in place given the arguments.and returns nothing.

Throws

  • ArgumentError if no method for updating the sub-solver exists for the given sub-solver type.
source
LinearAlgebra.ldiv!Function
ldiv!(x::AbstractVector, solver::SubSolverRecipe, b::AbstractVector)

An extension of LinearAlgebra.ldiv! that solves a linear system using the SubSolverRecipe and stores the result in x.

Arguments

  • x::AbstractVector, the output vector to store the solution.
  • solver::SubSolverRecipe, a fully initialized realization for a linear sub-solver.
  • b::AbstractVector, the right-hand side vector.

Returns

  • Writes the solution to solver applied to the constant vector b into x and returns x.

Throws

  • ArgumentError if no method for solving with the sub-solver exists for the given sub-solver type.
source