In[]:=
PacletInstall["https://wolfr.am//DevWQCF",ForceVersionInstall->True];
In[]:=
<<Wolfram`QuantumFramework`
This is how a ZRotation on 2 qubits is defined now:
In[]:=
QuantumOperator[{"ZRotation",θ},{1,2}]["Matrix"]//MatrixForm
Out[]//MatrixForm=
-θ | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | θ |
which is simply equal to the tensor product of two rotations:
In[]:=
QuantumTensorProduct[{QuantumOperator[{"ZRotation",θ}],QuantumOperator[{"ZRotation",θ}]}]["Matrix"]//MatrixForm
Out[]//MatrixForm=
-θ | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | θ |
but what I want (and used to be) is :
R=Exp-Z⊗Z
θ
2
In[]:=
ExpθQuantumTensorProduct[{QuantumOperator["PauliZ"],QuantumOperator["PauliZ"]}]["Matrix"]//MatrixForm
-
2
Out[]//MatrixForm=
- θ 2 | 0 | 0 | 0 |
0 | θ 2 | 0 | 0 |
0 | 0 | θ 2 | 0 |
0 | 0 | 0 | - θ 2 |