-
Notifications
You must be signed in to change notification settings - Fork 52
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
Representing ToTs with an independent index screened out #248
Comments
ryanmrichard
added a commit
to NWChemEx/Chemist
that referenced
this issue
Jan 13, 2021
ryanmrichard
added a commit
to NWChemEx/Chemist
that referenced
this issue
Jan 13, 2021
* Locks TA version and fixes initialization error * adds Jeff's other fix * comment out tests affected by ValeevGroup/tiledarray#248
|
Makes sense. I'd think that the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Not sure how to describe this/where to attribute blame. Also, this isn't a pressing issue as I think it's unlikely to arise outside of unit testing.
This issue concerns how ToTs are represented when an entire independent index is screened out. This is probably easiest to explain with an example.
Consider the following two ToTs as printed by TA. The first ToT:
This tensor is made with
make_array
and a lambda. As you can see when TA hits the screened out independent indices (1, 3,4,5, and 6) it implicitly stores the tiles associated with those indices. Now consider another tensor:This tensor is created with an initializer list like:
Note you have to put the zero place-holder inner tensors there as all elements of the outer tensors need to be initialized. Also note you can't do something like:
inner_tile zero{TA::Range{1}, {0}}
because that's a different shape (you're now saying the independent index maps to a single dependent index, whose value is zero as opposed to mapping to nothing). The intent is for these tensors to be the same, but attempting to subtract them gives an error:So I don't know whether to call this an issue with representation (namely how to specify the initializer list for this scenario), an issue with the
SparseArray
ctor (should it have actually screened out the tile so it's implicitly stored), or an issue with operations like subtraction which don't know what to do with the empty inner tensor.The text was updated successfully, but these errors were encountered: