@@ -4,7 +4,7 @@ using LinearSolve: LinearSolve, BLASELTYPES, pattern_changed, ArrayInterface,
44 @get_cacheval , CHOLMODFactorization, GenericFactorization,
55 GenericLUFactorization,
66 KLUFactorization, LUFactorization, NormalCholeskyFactorization,
7- OperatorAssumptions, LinearVerbosity,
7+ OperatorAssumptions, LinearVerbosity, RequiresConcreteMatrixError,
88 QRFactorization, RFLUFactorization, UMFPACKFactorization, solve, has_concretization
99using SciMLOperators: AbstractSciMLOperator
1010using ArrayInterface: ArrayInterface
@@ -284,7 +284,7 @@ function LinearSolve.init_cacheval(
284284 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
285285 maxiters, abstol, reltol, verbose, assumptions)
286286 else
287- error ( " KLUFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
287+ throw ( RequiresConcreteMatrixError ( " KLUFactorization" ) )
288288 end
289289end
290290
@@ -296,7 +296,7 @@ function LinearSolve.init_cacheval(
296296 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
297297 maxiters, abstol, reltol, verbose, assumptions)
298298 else
299- error ( " UMFPACKFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
299+ throw ( RequiresConcreteMatrixError ( " UMFPACKFactorization" ) )
300300 end
301301end
302302
@@ -308,7 +308,7 @@ function LinearSolve.init_cacheval(
308308 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
309309 maxiters, abstol, reltol, verbose, assumptions)
310310 else
311- error ( " LUFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
311+ throw ( RequiresConcreteMatrixError ( " LUFactorization" ) )
312312 end
313313end
314314
@@ -320,7 +320,7 @@ function LinearSolve.init_cacheval(
320320 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
321321 maxiters, abstol, reltol, verbose, assumptions)
322322 else
323- error ( " CHOLMODFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
323+ throw ( RequiresConcreteMatrixError ( " CHOLMODFactorization" ) )
324324 end
325325end
326326
@@ -332,7 +332,7 @@ function LinearSolve.init_cacheval(
332332 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
333333 maxiters, abstol, reltol, verbose, assumptions)
334334 else
335- error ( " GenericFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
335+ throw ( RequiresConcreteMatrixError ( " GenericFactorization" ) )
336336 end
337337end
338338
@@ -344,7 +344,7 @@ function LinearSolve.init_cacheval(
344344 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
345345 maxiters, abstol, reltol, verbose, assumptions)
346346 else
347- error ( " GenericLUFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
347+ throw ( RequiresConcreteMatrixError ( " GenericLUFactorization" ) )
348348 end
349349end
350350
@@ -356,7 +356,7 @@ function LinearSolve.init_cacheval(
356356 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
357357 maxiters, abstol, reltol, verbose, assumptions)
358358 else
359- error ( " QRFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
359+ throw ( RequiresConcreteMatrixError ( " QRFactorization" ) )
360360 end
361361end
362362
@@ -368,7 +368,7 @@ function LinearSolve.init_cacheval(
368368 return LinearSolve. init_cacheval (alg, convert (AbstractMatrix, A), b, u, Pl, Pr,
369369 maxiters, abstol, reltol, verbose, assumptions)
370370 else
371- error ( " NormalCholeskyFactorization requires a concrete matrix. The provided operator does not support concretization. Use a Krylov method instead. " )
371+ throw ( RequiresConcreteMatrixError ( " NormalCholeskyFactorization" ) )
372372 end
373373end
374374
0 commit comments