Add modified tsvd! reverse-rule with Lorentzian broadening#181
Add modified tsvd! reverse-rule with Lorentzian broadening#181
tsvd! reverse-rule with Lorentzian broadening#181Conversation
|
I'll add a test for the Lorentzian broadening tomorrow and then it should be relatively ready to be merged. But there's one thing where I'm not sure yet: I want a user verbosity kwarg for the gauge warnings in My idea to circumvent this would be the following: Add a custom SVD rrule alg for the modified @lkdvos, what do you think about this? |
Codecov ReportAttention: Patch coverage is
🚀 New features to boost your workflow:
|
…PSKit.jl into pb-lorentzian-broadening
I gave this a go and I do like it since it does improve usability quite a bit. I was previously running into cases where the gauge warning output was so verbose that it basically made the optimization run information ineligible. I think I also prefer having |
lkdvos
left a comment
There was a problem hiding this comment.
Overall looks good to me!
For the default value of the broadening, it would probably be better to have that as a relative thing (and this depends on the datatype), so maybe this could be somewhat improved?
Otherwise I can only comment on the name, FullReverse is very non-descriptive, I can't think of anything much better but I would maybe add SVD somewhere in there?
Co-authored-by: Lukas Devos <ldevos98@gmail.com>
…PSKit.jl into pb-lorentzian-broadening
|
Yes I agree, the I adjusted the default broadening value but inside the For me this would be good to go now! |
In this PR we will add a rrule for
tsvd!which supports Lorentzian broadening. To that end, I copy over TensorKit'ssvd_pullback!and modify thesave_invfunction to support a broadened inverse.Additionally, I will add a keyword argument to control the gauge-dependency warnings in that reverse-rule (which is currently not possible) since in some optimizations, the gauge-dependency warnings are really out of control even though they are non-problematic.