@@ -194,8 +194,6 @@ for (f, f_lapack!, Alg) in (
194194 # Implementation
195195 @eval begin
196196 function $f_svd! (driver:: Driver , A, U, S, Vᴴ; fixgauge:: Bool = true , kwargs... )
197- supports_svd (driver, $ (QuoteNode (f))) ||
198- throw (ArgumentError (LazyString (" driver " , driver, " does not provide `$($ (QuoteNode (f_lapack!))) `" )))
199197 isempty (A) && return one! (U), zero! (S), one! (Vᴴ)
200198 $ f_lapack! (driver, A, diagview (S), U, Vᴴ; kwargs... )
201199 fixgauge && gaugefix! (svd_compact!, U, Vᴴ)
@@ -214,8 +212,6 @@ for (f, f_lapack!, Alg) in (
214212 return U, S, Vᴴ
215213 end
216214 function $f_svd_vals! (driver:: Driver , A, S; fixgauge:: Bool = true , kwargs... )
217- supports_svd (driver, $ (QuoteNode (f))) ||
218- throw (ArgumentError (LazyString (" driver " , driver, " does not provide `$($ (QuoteNode (f_lapack!))) `" )))
219215 isempty (A) && return zero! (S)
220216 U, Vᴴ = similar (A, (0 , 0 )), similar (A, (0 , 0 ))
221217 $ f_lapack! (driver, A, S, U, Vᴴ; kwargs... )
@@ -224,8 +220,6 @@ for (f, f_lapack!, Alg) in (
224220 end
225221end
226222
227- supports_svd (:: Driver , :: Symbol ) = false
228- supports_svd (:: LAPACK , f:: Symbol ) = f in (:safe_divide_and_conquer , :divide_and_conquer , :qr_iteration , :bisection , :jacobi )
229223supports_svd_full (:: Driver , :: Symbol ) = false
230224supports_svd_full (:: LAPACK , f:: Symbol ) = f in (:safe_divide_and_conquer , :divide_and_conquer , :qr_iteration )
231225
0 commit comments