Closed emstoudenmire closed 1 month ago
Ok so the status of this PR is that I've made all the changes you recommended.
I have not done the following. I.e. these will be for future PR's:
MatElem
with FillArrays.OneElem
(turned out to be a little complicated to do for reasons I can explain)SparseArraysDOK
yet (but that was for later anyway)DataGraphs
yet either (also pending more planning and design considerations for future PR's)Sounds like a reasonable place to leave things, I'll merge once tests pass.
Great. Yes this PR was mostly just about splitting the functions. The excessive arguments ought to come down once the data structures and graph analysis patterns are better (in future PR's).
This PR refactors the
ttn_svd
function into three functions,make_sparse_ttn
,svd_bond_coefs
, andcompress_ttn
.Also the
calc_qn
function and associated cache has been turned into a "function object" calledTermQN
.Other changes include:
opsum_to_ttn.jl
MatElem
andQNArrElem
types into separate filesITensors.Ops
functions tousing
statement inopsum_to_ttn.jl
src/apply.jl