Skip to content

Use reallinsolve for solving the CTMRG gradient linear problem - #94

Merged
pbrehmer merged 6 commits into
masterfrom
pb-reallinsolve
Jan 28, 2025
Merged

Use reallinsolve for solving the CTMRG gradient linear problem#94
pbrehmer merged 6 commits into
masterfrom
pb-reallinsolve

Conversation

@pbrehmer

Copy link
Copy Markdown
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
@codecov

codecov Bot commented Nov 14, 2024

Copy link
Copy Markdown

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

lkdvos commented Nov 14, 2024

Copy link
Copy Markdown
Member

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
Copy Markdown
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
@pbrehmer
pbrehmer deleted the pb-reallinsolve branch January 28, 2025 15:29
@leburgel leburgel mentioned this pull request Mar 12, 2025
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