@@ -141,6 +141,7 @@ function SciMLBase.init(prob::LinearProblem, alg::SciMLLinearSolveAlgorithm,
141141 args... ;
142142 alias_A = default_alias_A (alg, prob. A, prob. b),
143143 alias_b = default_alias_b (alg, prob. A, prob. b),
144+ alias = LinearAliasSpecifier (),
144145 abstol = default_tol (real (eltype (prob. b))),
145146 reltol = default_tol (real (eltype (prob. b))),
146147 maxiters:: Int = length (prob. b),
@@ -152,6 +153,47 @@ function SciMLBase.init(prob::LinearProblem, alg::SciMLLinearSolveAlgorithm,
152153 kwargs... )
153154 (; A, b, u0, p) = prob
154155
156+ aliases = alias
157+
158+ if haskey (kwargs,:alias_A ) || haskey (kwargs,:alias_b )
159+ aliases = LinearAliasSpecifier ()
160+
161+ if haskey (kwargs, :alias_A )
162+ message = " `alias_A` keyword argument is deprecated, to set `alias_A`,
163+ please use an ODEAliasSpecifier, e.g. `solve(prob, alias = LinearAliasSpecifier(alias_A = true))"
164+ Base. depwarn (message, :init )
165+ Base. depwarn (message, :solve )
166+ aliases = LinearAliasSpecifier (alias_A = values (kwargs). alias_A)
167+ end
168+
169+ if haskey (kwargs, :alias_b )
170+ message = " `alias_b` keyword argument is deprecated, to set `alias_b`,
171+ please use an ODEAliasSpecifier, e.g. `solve(prob, alias = LinearAliasSpecifier(alias_b = true))"
172+ Base. depwarn (message, :init )
173+ Base. depwarn (message, :solve )
174+ aliases = LinearAliasSpecifier (alias_A = aliases. alias_A, alias_b = values (kwargs). alias_b)
175+ end
176+ else
177+ if alias isa Bool
178+ aliases = LinearAliasSpecifier (alias = alias)
179+ else
180+ aliases = alias
181+ end
182+ end
183+
184+ if isnothing (aliases. alias_A)
185+ alias_A = default_alias_A (alg, prob. A, prob. b)
186+ else
187+ alias_A = aliases. alias_A
188+ end
189+
190+ if isnothing (aliases. alias_b)
191+ alias_b = default_alias_b (alg, prob. A, prob. b)
192+ else
193+ alias_b = aliases. alias_b
194+ end
195+
196+
155197 A = if alias_A || A isa SMatrix
156198 A
157199 elseif A isa Array
0 commit comments