@@ -93,32 +93,21 @@ See also [`svd_full(!)`](@ref svd_full), [`svd_compact(!)`](@ref svd_compact) an
9393for f in (:svd_full , :svd_compact , :svd_vals )
9494 f! = Symbol (f, :! )
9595 @eval begin
96- function select_algorithm (:: typeof ($ f), A; kwargs... )
97- return select_algorithm ($ f!, A; kwargs... )
96+ function default_algorithm (:: typeof ($ f), A; kwargs... )
97+ return default_algorithm ($ f!, A; kwargs... )
9898 end
99- function select_algorithm (:: typeof ($ f!), A; alg= nothing , kwargs... )
100- if alg isa AbstractAlgorithm
101- return alg
102- elseif alg isa Symbol
103- return Algorithm {alg} (; kwargs... )
104- else
105- isnothing (alg) || throw (ArgumentError (" Unknown alg $alg " ))
106- return default_svd_algorithm (A; kwargs... )
107- end
99+ function default_algorithm (:: typeof ($ f!), A; kwargs... )
100+ return default_svd_algorithm (A; kwargs... )
108101 end
109102 end
110103end
111104
112105function select_algorithm (:: typeof (svd_trunc), A; kwargs... )
113106 return select_algorithm (svd_trunc!, A; kwargs... )
114107end
115- function select_algorithm (:: typeof (svd_trunc!), A; alg= nothing , trunc= nothing , kwargs... )
116- alg_svd = select_algorithm (svd_compact!, A; alg, kwargs... )
117- alg_trunc = trunc isa TruncationStrategy ? trunc :
118- trunc isa NamedTuple ? TruncationStrategy (; trunc... ) :
119- isnothing (trunc) ? NoTruncation () :
120- throw (ArgumentError (" Unknown truncation strategy: $trunc " ))
121- return TruncatedAlgorithm (alg_svd, alg_trunc)
108+ function select_algorithm (:: typeof (svd_trunc!), A; trunc= nothing , kwargs... )
109+ alg_svd = select_algorithm (svd_compact!, A; kwargs... )
110+ return TruncatedAlgorithm (alg_svd, to_truncationstrategy (trunc))
122111end
123112
124113# Default to LAPACK SDD for `StridedMatrix{<:BlasFloat}`
0 commit comments