Linear Problems
SciMLBase.LinearProblem — TypeDefines a linear system problem. Documentation Page: https://docs.sciml.ai/LinearSolve/stable/basics/LinearProblem/
Mathematical Specification of a Linear Problem
Concrete LinearProblem
To define a LinearProblem, you simply need to give the AbstractMatrix$A$ and an AbstractVector$b$ which defines the linear system:
\[Au = b\]
Matrix-Free LinearProblem
For matrix-free versions, the specification of the problem is given by an operator A(u,p,t) which computes A*u, or in-place as A(du,u,p,t). These are specified via the AbstractSciMLOperator interface. For more details, see the SciMLBase Documentation.
Note that matrix-free versions of LinearProblem definitions are not compatible with all solvers. To check a solver for compatibility, use the function needs_concrete_A(alg::AbstractLinearAlgorithm).
Problem Type
Constructors
Optionally, an initial guess $u₀$ can be supplied which is used for iterative methods.
LinearProblem{isinplace}(A,b,p=NullParameters();u0=nothing,kwargs...)
LinearProblem(f::AbstractSciMLOperator,b,p=NullParameters();u0=nothing,kwargs...)isinplace optionally sets whether the function is in-place or not, i.e. whether the solvers are allowed to mutate. By default this is true for AbstractMatrix, and for AbstractSciMLOperators it matches the choice of the operator definition.
Parameters are optional, and if not given, then a NullParameters() singleton will be used, which will throw nice errors if you try to index non-existent parameters. Any extra keyword arguments are passed on to the solvers.
Fields
A: The representation of the linear operator.b: The right-hand side of the linear system.p: The parameters for the problem. Defaults toNullParameters. Currently unused.u0: The initial condition used by iterative solvers.symbolic_interface: An instance ofSymbolicLinearInterfaceif the problem was generated by a symbolic backend.kwargs: The keyword arguments passed on to the solvers.