22# ---------
33# Generic implementation: `findtruncated` followed by indexing
44function truncate! (:: typeof (svd_trunc!), (U, S, Vᴴ), strategy:: TruncationStrategy )
5- ind = findtruncated_sorted (diagview (S), strategy)
5+ ind = findtruncated_svd (diagview (S), strategy)
66 return U[:, ind], Diagonal (diagview (S)[ind]), Vᴴ[ind, :]
77end
88function truncate! (:: typeof (eig_trunc!), (D, V), strategy:: TruncationStrategy )
2929# findtruncated
3030# -------------
3131# Generic fallback
32- function findtruncated_sorted (values:: AbstractVector , strategy:: TruncationStrategy )
32+ function findtruncated_svd (values:: AbstractVector , strategy:: TruncationStrategy )
3333 return findtruncated (values, strategy)
3434end
3535
@@ -40,7 +40,7 @@ function findtruncated(values::AbstractVector, strategy::TruncationByOrder)
4040 howmany = min (strategy. howmany, length (values))
4141 return partialsortperm (values, 1 : howmany; strategy. by, strategy. rev)
4242end
43- function findtruncated_sorted (values:: AbstractVector , strategy:: TruncationByOrder )
43+ function findtruncated_svd (values:: AbstractVector , strategy:: TruncationByOrder )
4444 @assert strategy. by === abs
4545 if strategy. by === abs
4646 howmany = min (strategy. howmany, length (values))
@@ -80,7 +80,7 @@ function findtruncated(values::AbstractVector, strategy::TruncationByError)
8080 I′ = _truncerr_impl (values, I; strategy. atol, strategy. rtol, strategy. p)
8181 return I[I′]
8282end
83- function findtruncated_sorted (values:: AbstractVector , strategy:: TruncationByError )
83+ function findtruncated_svd (values:: AbstractVector , strategy:: TruncationByError )
8484 I = eachindex (values)
8585 I′ = _truncerr_impl (values, I; strategy. atol, strategy. rtol, strategy. p)
8686 return I[I′]
@@ -108,8 +108,8 @@ function findtruncated(values::AbstractVector, strategy::TruncationIntersection)
108108 return mapreduce (Base. Fix1 (findtruncated, values), _ind_intersect, strategy. components;
109109 init= trues (length (values)))
110110end
111- function findtruncated_sorted (values:: AbstractVector , strategy:: TruncationIntersection )
112- return mapreduce (Base. Fix1 (findtruncated_sorted , values), _ind_intersect,
111+ function findtruncated_svd (values:: AbstractVector , strategy:: TruncationIntersection )
112+ return mapreduce (Base. Fix1 (findtruncated_svd , values), _ind_intersect,
113113 strategy. components; init= trues (length (values)))
114114end
115115
0 commit comments