# How does ITensor DMRG compute excited states?

**URL:** <https://itensor.discourse.group/t/how-does-itensor-dmrg-compute-excited-states/48>\
**Category:** ITensor Julia Questions\
**Tags:** dmrg, excited\_states\
**Created:** [April 17, 2022, 5:48pm UTC](https://itensor.discourse.group/t/how-does-itensor-dmrg-compute-excited-states/48 "2022-04-17T17:48:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![itensor\_questions](https://avatars.discourse-cdn.com/v4/letter/i/b9e5f3/32.png) [@itensor\_questions](https://itensor.discourse.group/u/itensor_questions)\
**Post date:** [April 17, 2022, 5:48pm UTC](https://itensor.discourse.group/t/how-does-itensor-dmrg-compute-excited-states/48/1 "2022-04-17T17:48:09Z")

</div>

_This is a previously asked question reposted here to make searching our new forum more useful. ZhiyaoNing [asked](https://itensor.org/support/3784/the-principle-of-calculating-excited-states-using-dmrg?show=3784#q3784):_

In ITensor we can use ‘DMRG’ to target excited states using ground state and Hamiltonian.  
I am curious about the principle of it.  
Would you please share the papers to calculate excited state that ITensor referred to?  
Thank you so much for your sharing and this wonderful ITensor library.

---

<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:** [April 17, 2022, 5:49pm UTC](https://itensor.discourse.group/t/how-does-itensor-dmrg-compute-excited-states/48/2 "2022-04-17T17:49:29Z")

</div>

Hi, you can see section III.C. on page 7 of this paper for a discussion about the technique we have made available to compute excited states: [https://arxiv.org/pdf/1105.1374](https://arxiv.org/pdf/1105.1374)

There is a discussion of this feature in the Julia documentation:

[https://itensor.github.io/ITensors.jl/stable/examples/DMRG.html#Compute-excited-states-with-DMRG](https://itensor.github.io/ITensors.jl/stable/examples/DMRG.html#Compute-excited-states-with-DMRG)

It’s an idea which is used in other numerical methods too, just to change the objective of the code to require the state being computed to be orthogonal to a previous state.

Thanks for the kind words about ITensor!

Best regards,  
Miles
