# Using TDVP for non hermitian Hamiltonians

**URL:** <https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925>\
**Category:** ITensor Julia Questions\
**Created:** [August 14, 2024, 1:34pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925 "2024-08-14T13:34:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![DavidStrachan1](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/davidstrachan1/32/165_2.png) [@DavidStrachan1](https://itensor.discourse.group/u/DavidStrachan1)\
**Post date:** [August 14, 2024, 1:34pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/1 "2024-08-14T13:34:25Z")

</div>

Hi,

Just a quick question. Does TDVP currently work for non-Hermitian Hamiltonians?

Thanks!

---

<div class="post-metadata">

**Author:** ![corbett5](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/corbett5/32/886_2.png) [@corbett5](https://itensor.discourse.group/u/corbett5)\
**Post date:** [August 18, 2024, 5:12pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/2 "2024-08-18T17:12:51Z")

</div>

I’ve been using it for this purpose. If it doesn’t work that’s news to me!

---

<div class="post-metadata">

**Author:** ![DavidStrachan1](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/davidstrachan1/32/165_2.png) [@DavidStrachan1](https://itensor.discourse.group/u/DavidStrachan1)\
**Post date:** [October 17, 2024, 1:45pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/3 "2024-10-17T13:45:18Z")

</div>

Hi Corbett, would you be able to provide some code showing this working? I have been trying but it doesn’t seem to give me any valid answers.

---

<div class="post-metadata">

**Author:** ![corbett5](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/corbett5/32/886_2.png) [@corbett5](https://itensor.discourse.group/u/corbett5)\
**Post date:** [October 17, 2024, 5:36pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/4 "2024-10-17T17:36:03Z")

</div>

Are you passing the `ishermitian` and `issymmetric` key word arguments to `tdvp`? That is all that should be required

```julia
 updater_kwargs = Dict(:ishermitian => false, :issymmetric => false)
 psi = tdvp(H, t, psi; updater_kwargs)

```

---

<div class="post-metadata">

**Author:** ![DavidStrachan1](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/davidstrachan1/32/165_2.png) [@DavidStrachan1](https://itensor.discourse.group/u/DavidStrachan1)\
**Post date:** [October 18, 2024, 11:54am UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/5 "2024-10-18T11:54:21Z")

</div>

Yes, even with this I still get divergent observables.

---

<div class="post-metadata">

**Author:** ![corbett5](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/corbett5/32/886_2.png) [@corbett5](https://itensor.discourse.group/u/corbett5)\
**Post date:** [October 18, 2024, 3:23pm UTC](https://itensor.discourse.group/t/using-tdvp-for-non-hermitian-hamiltonians/1925/6 "2024-10-18T15:23:24Z")

</div>

Maybe the non-Hermitian nature isn’t the problem then. Perhaps `tdvp` isn’t able to do the evolution you want it to. have you tried using `ITensorTDVP.expand`?

> **[GitHub - ITensor/ITensorTDVP.jl: Time dependent variational principle (TDVP) of...](https://github.com/ITensor/ITensorTDVP.jl/tree/main?tab=readme-ov-file#itensortdvpjl-v041-release-notes)**
>
> main
