Closed kellertuer closed 7 months ago
Attention: 12 lines
in your changes are missing coverage. Please review.
Comparison is base (
64ae41a
) 99.54% compared to head (9500bd5
) 94.87%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
With the last few methods now I would consider this feature-complete (just not yet test&docs complete), so I moved it from draft to ready (but did not yet set the label).
Uff, next time I have to start tests along the way as well, spent much too much time on these today. Now just the projector representation is missing, but since we have no functions for these besides the checks, the only thing to come of with is a point ant a tangent vector.
Hm, I just wanted to be nice and define Matrix Multiplications for Hamiltonians, but that introduces 100+ ambiguities :( (I will also lift the boundary for the ambiguity check to include 1.10). What shall we do there best? Not define it for Hamiltonian * abstract Matrix? I will check what Symmetric does.
edit: Went for the easy way: Only defining +-* for Hamiltonian with itself.
Yes, I think you should only define +-* for Hamiltonian with itself. Alternatively, you can define getindex
and rely on the generic definitions.
Ah yes in between I got a few getindex
errors, but they looked super involved, that it was unclear to me, which variants need to be implemented. For now this should be enough for the start at least.
In principle, this is just missing my understanding how to get from a StiefelTVector on SpGr to a ProjectorTVector (to be precise to the specific representation we use).
So this one really misses the one test that verifies a correct ProjectorTVector
on SpGr, because mainly I still have to come up with a correct one.
This now covers all I wanted to be included. I already bumped the version, but I would also like to include the Multinomial PR (#702) in this version I think, since that one is basically finished as well.
It looks like tolerance in one test for SymplecticStiefel is too low.
I am already running this locally. I am a bit surprised by that since I did not change that.
this PR is a start to implement the (real) Symplectic Grassmann, which one obtains from Symplectic Stiefel the same way one obtains Grassmann from Stiefel. It will probably also revise a few symplectic Stiefel functions.
Hamiltonian
, they allow forH^+
to be nicely defined for the symplectic inverseHamiltonianMatrices
? Maybe not 100% necessary but nice for completenessSymplecticGrassmann
inner
(after (4.10) / Lemma 4.8, BZ21)test/utils.jl
functions complain since Julia 1.10 to be multiply included. We should at least move those, if not also the constants to the Manufolds.jl/Test.jl extension?SymplecticMatrix
).symplectic_inverse
when writingp^+
instead of repeating the formula.rand_hamiltonian
to berand(Hamiltonian(2n))
Symplectic
andSymplecticStiefel
, so they getrand!
methods as well. They currently just haverand
methodsBoth symplectic Stiefel and Grassmann stem from this paper https://arxiv.org/abs/2108.12447