# Complex conjugate transpose

**URL:** <https://itensor.discourse.group/t/complex-conjugate-transpose/1799>\
**Category:** ITensor C++ Questions\
**Tags:** mps\
**Created:** [June 11, 2024, 5:57pm UTC](https://itensor.discourse.group/t/complex-conjugate-transpose/1799 "2024-06-11T17:57:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![4psireal2](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/4psireal2/32/575_2.png) [@4psireal2](https://itensor.discourse.group/u/4psireal2)\
**Post date:** [June 11, 2024, 5:57pm UTC](https://itensor.discourse.group/t/complex-conjugate-transpose/1799/1 "2024-06-11T17:57:24Z")

</div>

I’m trying to compute the complex conjugate transpose of a vectorized MPO where the 2 physical legs are fused. For example, I have an MPS `rho0`

```auto
rho0 = 

ITensor ord=2: (dim=4|id=79|"n=1,Site,Boson") (dim=1|id=297|"l=1,Link") 
{norm=0.56 (Dense Cplx)}
(2,1) 0.000000+0.250000i
(3,1) 0.000000+0.500000i

ITensor ord=3: (dim=1|id=297|"l=1,Link") (dim=4|id=828|"n=2,Site,Boson") (dim=1|id=749|"l=2,Link") 
{norm=0.56 (Dense Cplx)}
(1,2,1) 0.000000+0.250000i
(1,3,1) 0.000000+0.500000i

ITensor ord=2: (dim=1|id=749|"l=2,Link") (dim=4|id=908|"n=3,Site,Boson") 
{norm=0.56 (Dense Cplx)}
(1,2) 0.000000+0.250000i
(1,3) 0.000000+0.500000i

```

I think its complex conjugate transpose should be

```auto
rho0DAG = 

ITensor ord=2: (dim=4|id=79|"n=1,Site,Boson") (dim=1|id=297|"l=1,Link")
{norm=0.56 (Dense Cplx)}
(2,1) 0.000000-0.500000i
(3,1) 0.000000-0.250000i

ITensor ord=3: (dim=1|id=297|"l=1,Link")(dim=4|id=828|"n=2,Site,Boson") (dim=1|id=749|"l=2,Link") 
{norm=0.56 (Dense Cplx)}
(1,2,1) 0.000000-0.500000i
(1,3,1) 0.000000-0.250000i

ITensor ord=2: (dim=1|id=749|"l=2,Link") (dim=4|id=908|"n=3,Site,Boson")
{norm=0.56 (Dense Cplx)}
(1,2) 0.000000-0.500000i
(1,3) 0.000000-0.250000i

```

However, I only know how to take the complex conjugate with `dag` but not tranpose the legs. My questions are

1. Is `rho0DAG` the complex conjugate tranpose of `rho0`?
2. How to create `rho0DAG` with ITensor in C++?
