# ProjMPOSum doesn't save to disk?

**URL:** <https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614>\
**Category:** ITensor Julia Questions\
**Created:** [January 24, 2023, 5:20am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614 "2023-01-24T05:20:40Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![srwhite](https://avatars.discourse-cdn.com/v4/letter/s/d9b06d/32.png) [@srwhite](https://itensor.discourse.group/u/srwhite)\
**Post date:** [January 24, 2023, 5:20am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/1 "2023-01-24T05:20:40Z")

</div>

It looks like ProjMPOSum does not have saving to disk implemented. Is that right?  
I get an error  
no method matching disk(::ProjMPOSum; path="…

Is this implemented in the development version?

---

<div class="post-metadata">

**Author:** ![miles](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/miles/32/6_2.png) [@miles](https://itensor.discourse.group/u/miles)\
**Post date:** [January 24, 2023, 6:28am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/2 "2023-01-24T06:28:55Z")

</div>

Yes, you’re right and it’s something we should have - thanks. I just made [pull request here](https://github.com/ITensor/ITensors.jl/pull/1043) & hopefully we’ll get it merged in really soon.

---

<div class="post-metadata">

**Author:** ![srwhite](https://avatars.discourse-cdn.com/v4/letter/s/d9b06d/32.png) [@srwhite](https://itensor.discourse.group/u/srwhite)\
**Post date:** [January 24, 2023, 7:30am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/3 "2023-01-24T07:30:13Z")

</div>

Wow, such a speedy response! Thanks!

---

<div class="post-metadata">

**Author:** ![miles](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/miles/32/6_2.png) [@miles](https://itensor.discourse.group/u/miles)\
**Post date:** [January 24, 2023, 1:29pm UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/4 "2023-01-24T13:29:48Z")

</div>

No problem! It’s now merged into the development version if you want to access it that way. Please let me know of course if there are any issues with it.

---

<div class="post-metadata">

**Author:** ![srwhite](https://avatars.discourse-cdn.com/v4/letter/s/d9b06d/32.png) [@srwhite](https://itensor.discourse.group/u/srwhite)\
**Post date:** [January 24, 2023, 4:28pm UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/5 "2023-01-24T16:28:57Z")

</div>

I sort of tried it-- but I turned on threading and found that the threaded version still doesn’t have it, apparently.  
ERROR: LoadError: MethodError: no method matching disk(::ThreadedProjMPOSum; path=“/dfs4/srwhite-lab/srw/Be\_6\_0.11625\_0.465/temp”)  
Closest candidates are:

I’ll try it with threading turned off to check that.

---

<div class="post-metadata">

**Author:** ![srwhite](https://avatars.discourse-cdn.com/v4/letter/s/d9b06d/32.png) [@srwhite](https://itensor.discourse.group/u/srwhite)\
**Post date:** [January 24, 2023, 5:17pm UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/6 "2023-01-24T17:17:25Z")

</div>

The disk saving seems to work well as long as threading is not used.

---

<div class="post-metadata">

**Author:** ![miles](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/miles/32/6_2.png) [@miles](https://itensor.discourse.group/u/miles)\
**Post date:** [January 25, 2023, 8:31am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/7 "2023-01-25T08:31:52Z")

</div>

I just submitted a new PR that might make this very easy to fix. The only question I have is: where is ThreadedProjMPOSum defined? Is it a custom type you are using or from ITensors.jl?

---

<div class="post-metadata">

**Author:** ![srwhite](https://avatars.discourse-cdn.com/v4/letter/s/d9b06d/32.png) [@srwhite](https://itensor.discourse.group/u/srwhite)\
**Post date:** [January 25, 2023, 3:17pm UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/8 "2023-01-25T15:17:02Z")

</div>

ItensorParallel has ThreadedProjMPOSum

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [January 26, 2023, 1:02am UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/9 "2023-01-26T01:02:56Z")

</div>

@srwhite it would be easy to add support to `ThreadedProjMPOSum` in the same way. @miles it’s defined here: [ITensorParallel.jl/threaded\_projmposum.jl at main · ITensor/ITensorParallel.jl · GitHub](https://github.com/ITensor/ITensorParallel.jl/blob/main/src/threaded_projmposum.jl)

---

<div class="post-metadata">

**Author:** ![mtfishman](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/mtfishman/32/11_2.png) [@mtfishman](https://itensor.discourse.group/u/mtfishman)\
**Post date:** [January 27, 2023, 10:23pm UTC](https://itensor.discourse.group/t/projmposum-doesnt-save-to-disk/614/10 "2023-01-27T22:23:37Z")

</div>

A quick update that once we merge [https://github.com/ITensor/ITensors.jl/pull/1046](https://github.com/ITensor/ITensors.jl/pull/1046) it is written in a way that `disk` will then directly work for the parallelized MPO sum types in `ITensorParallel.jl` (once I update that library to make use of the new `AbstractSum` interface).
