Closed Gertian closed 2 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Files with missing lines | Coverage Δ | |
---|---|---|
src/algorithms/grassmann.jl | 100.00% <100.00%> (+0.86%) |
:arrow_up: |
src/algorithms/groundstate/gradient_grassmann.jl | 80.00% <100.00%> (+3.07%) |
:arrow_up: |
I think you swapped SDD (fast, unstable) with SVD (slower, stable). Can you try and run the formatter as well?
@lkdvos I updated everything according to your input. Somehow the Format suggestion test keeps failing. Despite me formatting all files I touched.
@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 :)
If you want, you can always manually run the formatter on the entire repository:
using JuliaFormatter
format("src")
@Jutho , @lkdvos what is the status here ? Can this and the corresponding TensorKitManifolds PR https://github.com/Jutho/TensorKitManifolds.jl/pull/11 be merged ? Or is there still work to be done ?
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.
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 :+1:
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...
Together with https://github.com/Jutho/TensorKitManifolds.jl/pull/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 : https://github.com/QuantumKitHub/MPSKit.jl/issues/109