Absolute singular values

This commit is contained in:
Nuwan Yapa 2025-01-06 15:42:01 -05:00
parent 4815366e36
commit 9462cd43bf
1 changed files with 3 additions and 3 deletions

View File

@ -71,12 +71,12 @@ function gram_schmidt(vecs, ws, precision=1e-10, verbose=false)
end end
"Rank of a basis set (pre-normalized) under c-product" "Rank of a basis set (pre-normalized) under c-product"
c_rank(vecs, ws, threshold=1e-8) = count(abs.(c_singular_values(vecs, ws)) .> threshold) c_rank(vecs, ws, threshold=1e-8) = count(c_singular_values(vecs, ws) .> threshold)
"Singular values of a basis set (pre-normalized) under c-product" "Singular values (magnitudes) of a basis set (pre-normalized) under c-product"
function c_singular_values(vecs, ws) function c_singular_values(vecs, ws)
basis = hcat(vecs...) basis = hcat(vecs...)
N = transpose(basis) * spdiagm(ws) * basis N = transpose(basis) * spdiagm(ws) * basis
singular_values = eigvals(N) .|> complex .|> sqrt singular_values = eigvals(N) .|> abs .|> sqrt
return singular_values return singular_values
end end