Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use reallinsolve for solving the CTMRG gradient linear problem #94

Merged
merged 6 commits into from
Jan 28, 2025

Conversation

pbrehmer
Copy link
Collaborator

This PR replaces linsolve with reallinsolve for the CTMRG fixed-point gradient linear problem, as implemented and explained in this recent PR. Since the Jacobians $\partial f / \partial A$ and $\partial f/\partial x$ are not complex linear but only real linear operators (see added test), using linsolve directly is not valid in principle.

@pbrehmer pbrehmer marked this pull request as draft November 14, 2024 16:47
Copy link

codecov bot commented Nov 14, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
src/algorithms/peps_opt.jl 95.49% <100.00%> (ø)

... and 1 file with indirect coverage changes

@lkdvos
Copy link
Member

lkdvos commented Nov 14, 2024

boundarymps errors are unrelated and should be fixed by #95

@pbrehmer pbrehmer marked this pull request as ready for review December 12, 2024 16:14
@pbrehmer
Copy link
Collaborator Author

This PR should be essentially ready to go. It only switches to reallinsolve and adds a linearity test for the CTMRG Jacobians. However, we need to wait until KrylovKit tags a new release because as of now, the reallinsolve functionality is only available on the master branch.

One thing I'm confused about is that using FullInfiniteProjector the Jacobians somehow stop being properly linear even for real coefficients. (See the jacobian_real_linear.jl test.) Somehow the full-infinite projector algorithm really doesn't differentiate too well - at least in its current implementation.

@pbrehmer pbrehmer requested a review from lkdvos January 28, 2025 15:01
@pbrehmer pbrehmer merged commit 9d33743 into master Jan 28, 2025
27 checks passed
@pbrehmer pbrehmer deleted the pb-reallinsolve branch January 28, 2025 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants