| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
There was a problem hiding this comment.
We should probably discuss together how to best approach this, because I guess the question is if we want to implement the MatrixAlgebraKit functionality and interface directly on the tensors first, like we did for the factorizations.
I didn't even remember we have exp!, which is as far as I can tell defined in TensorKit itself, which means we could in principle indeed decide to use that for exp!((tau, t)), although my initial feeling seems to gravitate more towards just overloading the MatrixAlgebraKit versions.
That would then also at least expose the algorithm selection and in-place versions a little better?
Sorry, something went wrong.
|
I can definitely get behind just overloading the MatrixAlgebraKit version. Maybe we want to keep exp! as a (deprecated) version just to avoid breaking changes? |
Sorry, something went wrong.
|
The diagonal case needed some extra care (see also the comment above). So if there's any suggestions on tests, that would be greatly appreciated. That would also illuminate whether there are any additional type restrictions needed in MatrixAlgebraKit (preferably before tagging the new version). |
Sorry, something went wrong.
Co-authored-by: Lukas Devos <ldevos98@gmail.com>
|
Confirms this builds fine on top of QuantumKitHub/MatrixAlgebraKit.jl#255 |
Sorry, something went wrong.
There was a problem hiding this comment.
As MAK v0.6.9 is now released, I think this one is ready for review.
For me this looks great, thanks @sanderdemeyer for the work (as well as the work that is less visible here making sure that the MAK interface and implementations is compatible)!
Sorry, something went wrong.
Codecov Report❌ Patch coverage is 82.35294% with 3 lines in your changes missing coverage. Please review.
... and 5 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
* Update changelog for v0.17.1 * Bump version to v0.17.1 * Update CITATION.cff for v0.17.1 * Document #485 and MatrixAlgebraKit 0.6.9 bump in changelog * Address review comments: clarify Enzyme index-manip mode, note cuTENSOR
| Back | FazBrowse Home | New Git URL |
This changes the current way of calculating the exponential (using LinearAlgebra) to the one recently implemented in MatrixAlgebraKit (see QuantumKitHub/MatrixAlgebraKit.jl#94). This will not yet work, since there is no new version of MatrixAlgebraKit tagged yet. I just wanted to start the discussion here already.
I added both exp!(t) and exp!(tau, t). I added the special case where t is real and tau is complex, when exp! cannot overwrite the original tensor and instead a new one is allocated. Suggestions on how to best do this are definitely appreciated.
I still need to add some tests. We can definitely add some tests on whether the output tensor has the expected scalartype, and whether exp!(copy(a)) == exp!((1.0, copy(a)), but suggestions on more nontrivial tests are also welcome.