-
Notifications
You must be signed in to change notification settings - Fork 125
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
[ITensors] ITensor
wrapping NamedDimsArray
#1268
Conversation
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #1268 +/- ##
===========================================
- Coverage 85.44% 53.94% -31.51%
===========================================
Files 89 98 +9
Lines 8402 8489 +87
===========================================
- Hits 7179 4579 -2600
- Misses 1223 3910 +2687 ☔ View full report in Codecov by Sentry. |
[test ITensors mps] |
Run ITensors mps tests from comment trigger: succeeded ✅ |
1 similar comment
Run ITensors mps tests from comment trigger: succeeded ✅ |
This adds functionality for using the
NamedDimsArray
type introduced in #1267 as a backend for anITensor
, entirely circumventing theTensor
andTensorStorage
types.This is along the lines of #1206, #1222, and #1226, though that was still using the
Tensor
type.Currently, a full DMRG run works if the MPO and MPS are constructed with ITensors that directly wrap a
NamedDimsArray
, though some of the tensor and linear algebra code to make that work is a bit hacky right now and needs to be rewritten in a nicer way. ITensors (as well as MPS/MPO) wrappingTensor
andTensorStorage
objects can be converted to ones wrapping aNamedDimsArray
using theto_nameddimsarray
function.The larger goal is to entirely get rid of the
TensorStorage
andTensor
types, and in the process simplify the code inNDTensors
andITensors
.@kmp5VT @emstoudenmire
Remaining items:
NamedDimsArray
addition and map code fromITensorsNamedDimsArraysExt/src/tensoralgebra.jl
toNamedDimsArrays/src/tensoralgebra.jl
.NDTensors.NamedDimsArrays.BaseExtensions
toNDTensors.BaseExtensions
.Spectrum
fromNDTensors
(has been moved toNDTensors.RankFactorization
).AlgorithmSelection
submodule.BroadcastMapConversion
submodule for converting broadcast expressions (stored in theBroadcasted
object) to expressions that can call out tomap[!]
. Currently that functionality is inNDTensors.NamedDimsArray
.Testing:
NamedDimsArraysAdaptExt
unit tests are run by the test suite.NamedDimsArrays/src/tensoralgebra.jl
.NDTensors.NamedDimsArrays.BaseExtensions
(to becomeNDTensors.BaseExtensions
).Other TODO items have been moved to #1250, and will be addressed in future work.