# change quantum number in TDVP calculation

**URL:** <https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793>\
**Category:** DMRG and Numerical Methods\
**Tags:** mps, mpo\
**Created:** [June 7, 2024, 1:26pm UTC](https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793 "2024-06-07T13:26:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZhenZhao](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/zhenzhao/32/563_2.png) [@ZhenZhao](https://itensor.discourse.group/u/ZhenZhao)\
**Post date:** [June 7, 2024, 1:26pm UTC](https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793/1 "2024-06-07T13:26:29Z")

</div>

Hi there,

I’m trying to use TDVP to calculate one-particle Green’s function like

iG(t)=\langle \Psi|c\_{i\uparrow}(t)c\_{j\uparrow}^\dagger|\Psi\rangle

for a time-independent Hubbard chain.

Following one [post](http://itensor.org/support/3725/evolution-local-green-function-applympo-spinless-fermions) on the forum, I managed to get results which agree with ED benchmark, if I set no conserved quantum numbers for the ground state MPS |\Psi\rangle and the time-evolved MPS e^{-iHt}c\_{j\uparrow}^\dagger|\Psi\rangle.

However, if I obtain the ground state |\Psi\rangle with conserved quantum numbers (say half-filling, so `conserve_nf=true,conserve_sz=true`), then using TDVP to evolve an initial state c\_{j\uparrow}^\dagger|\Psi\rangle will not give the same result. I guess the reason is that c\_{j\uparrow}^\dagger actually changes fermion number and total z-spin. I found some discussions about [mpo that changes quantum number](https://itensor.discourse.group/t/apply-mpo-to-mps-that-changes-quantum-number/143/10), but I am a bit lost there.

So my question is, if I use dmrg to get a ground state |\Psi\rangle in a subspace with fixed fermion number and total z-spin (say 2\uparrow2\downarrow), how should I create an initial state c\_{j\uparrow}^\dagger|\Psi\rangle (in 3\uparrow2\downarrow subspace)?

I really appreciate all your efforts. Any hint can be helpful.

Best,  
Zhen

---

<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:** [June 7, 2024, 1:28pm UTC](https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793/2 "2024-06-07T13:28:55Z")

</div>

You could just create the operator c^{\dagger}\_{j\uparrow} as an ITensor (say with `op(...)`) and then apply it to the state using the `apply(...)` function.

---

<div class="post-metadata">

**Author:** ![ZhenZhao](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/zhenzhao/32/563_2.png) [@ZhenZhao](https://itensor.discourse.group/u/ZhenZhao)\
**Post date:** [June 8, 2024, 11:34am UTC](https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793/3 "2024-06-08T11:34:00Z")

</div>

Hi Matt,

Thanks for the very quick reply. That perfectly solves my problem.

Best,  
Zhen

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/itensor/original/1X/d3072b13e047cd06df7f3981547c0917d940dfa4.png) [@system](https://itensor.discourse.group/u/system)\
**Post date:** [June 18, 2024, 11:34am UTC](https://itensor.discourse.group/t/change-quantum-number-in-tdvp-calculation/1793/4 "2024-06-18T11:34:47Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
