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

Incorporated an alg argument for GD which can be set to SDD(fast, unstable) or SVD(slow, stable) #175

Closed
wants to merge 6 commits into from

Conversation

Gertian
Copy link
Collaborator

@Gertian Gertian commented Aug 13, 2024

Together with Jutho/TensorKitManifolds.jl#11 this implements functionality that allows the user to choose which SVD algorithm is being used internally in the gradient descent gradient calculation.

The options are SDD(fast but potentially unstable) vs SVD(slow but stable).

These two PR should fix the issue : #109

Copy link

codecov bot commented Aug 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
src/algorithms/grassmann.jl 100.00% <100.00%> (+0.86%) ⬆️
src/algorithms/groundstate/gradient_grassmann.jl 80.00% <100.00%> (+3.07%) ⬆️

@lkdvos
Copy link
Member

lkdvos commented Aug 13, 2024

I think you swapped SDD (fast, unstable) with SVD (slower, stable).
Can you try and run the formatter as well?

@Gertian Gertian changed the title Incorporated an alg argument for GD which can be set to SVD(fast, unstable) or SDD(slow, stable) Incorporated an alg argument for GD which can be set to SDD(fast, unstable) or SVD(slow, stable) Aug 13, 2024
Gertian and others added 4 commits August 13, 2024 14:06
I removed the explicit mention of SVD() and SDD() from the documentation.
@Gertian
Copy link
Collaborator Author

Gertian commented Aug 20, 2024

@lkdvos I updated everything according to your input.
Somehow the Format suggestion test keeps failing. Despite me formatting all files I touched.

@Gertian
Copy link
Collaborator Author

Gertian commented Aug 20, 2024

@lkdvos I updated everything according to your input. Somehow the Format suggestion test keeps failing. Despite me formatting all files I touched.

Ok, this has been resolved. For later reference, I had to make sure VSCode had the correct workspace loaded (so that .JuliaFormatter.toml was in my working directory) and then just run the normal formatter :)

@lkdvos
Copy link
Member

lkdvos commented Aug 20, 2024

If you want, you can always manually run the formatter on the entire repository:

using JuliaFormatter
format("src")

@Gertian
Copy link
Collaborator Author

Gertian commented Sep 2, 2024

@Jutho , @lkdvos what is the status here ?
Can this and the corresponding TensorKitManifolds PR Jutho/TensorKitManifolds.jl#11 be merged ? Or is there still work to be done ?

@Jutho
Copy link
Member

Jutho commented Sep 2, 2024

Again, apologies for the late response here too. With my suggestions for the TensorKitManifolds.jl, I don't think this is necessary anymore. I agree this approach is nicer, and so maybe this PR can stay open, but this only makes sense after a larger TensorKitManifolds.jl overhaul. As mentioned TensorKitManifolds.jl, there are also different retraction schemes possible for Grassmann, and the alg keyword of retract should be used for that, and might then be configurable in the GrassmannMPS algorithm.

@Gertian
Copy link
Collaborator Author

Gertian commented Sep 2, 2024

Ok. I personally don't mind the specific implementation as long as I have access to the stable SVD through some option in either MPSKit or TensorKitManifolds 👍

@lkdvos
Copy link
Member

lkdvos commented Sep 2, 2024

Given the recent discussions, I will close this for now. There is definitely some clean up work that can be done for the entire Grassman part of the code, but this will probably be for a different PR...

@lkdvos lkdvos closed this Sep 2, 2024
@lkdvos lkdvos deleted the alg_SVD/SDD_argument_for_Gradient_Descent branch November 28, 2024 16:35
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.

3 participants