Skip to content

Commit

Permalink
use smallest magnitude eigenvalue
Browse files Browse the repository at this point in the history
  • Loading branch information
tyler-a-cox committed Feb 14, 2025
1 parent c4cbe4e commit d7293e4
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions hera_filters/dspec.py
Original file line number Diff line number Diff line change
Expand Up @@ -2987,16 +2987,16 @@ def sparse_linear_fit_2D(

# Compute the preconditioner for the first axis
XTX_axis_1 = np.dot(axis_1_basis.T.conj() * axis_1_wgts, axis_1_basis)
eigenval = sparse.linalg.eigs(XTX_axis_1, k=1, which='SR', return_eigenvectors=False)
axis_1_lambda = eigenval.real * eig_scaling_factor
eigenval = sparse.linalg.eigs(XTX_axis_1, k=1, which='SM', return_eigenvectors=False)
axis_1_lambda = np.abs(eigenval) * eig_scaling_factor
axis_1_pcond = np.linalg.pinv(
XTX_axis_1 + np.eye(XTX_axis_1.shape[0]) * axis_1_lambda
)

# Compute the preconditioner for the second axis
XTX_axis_2 = np.dot(axis_2_basis.T.conj() * axis_2_wgts, axis_2_basis)
eigenval = sparse.linalg.eigs(XTX_axis_2, k=1, which='SR', return_eigenvectors=False)
axis_2_lambda = eigenval.real * eig_scaling_factor
eigenval = sparse.linalg.eigs(XTX_axis_2, k=1, which='SM', return_eigenvectors=False)
axis_2_lambda = np.abs(eigenval) * eig_scaling_factor
axis_2_pcond = np.linalg.pinv(
XTX_axis_2 + np.eye(XTX_axis_2.shape[0]) * axis_2_lambda
)
Expand Down

0 comments on commit d7293e4

Please sign in to comment.