{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "##### Copyright 2020 The OpenFermion Developers" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:23.233974Z", "iopub.status.busy": "2025-05-10T09:30:23.233479Z", "iopub.status.idle": "2025-05-10T09:30:23.237839Z", "shell.execute_reply": "2025-05-10T09:30:23.237138Z" } }, "outputs": [], "source": [ "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hamiltonian Time Evolution and Expectation Value Computation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " View on QuantumAI\n", " \n", " Run in Google Colab\n", " \n", " View source on GitHub\n", " \n", " Download notebook\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial describes the FQE's capabilities for Hamiltonian time-evolution and expectation value estimation\n", "\n", "Where possible, LiH will be used as an example molecule for the API." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:23.241151Z", "iopub.status.busy": "2025-05-10T09:30:23.240699Z", "iopub.status.idle": "2025-05-10T09:30:41.728867Z", "shell.execute_reply": "2025-05-10T09:30:41.727590Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\r\n", "tensorflow-metadata 1.17.1 requires protobuf<4.22,>=4.21.6; python_version < \"3.11\", but you have protobuf 5.29.4 which is incompatible.\u001b[0m\u001b[31m\r\n", "\u001b[0m" ] } ], "source": [ "try:\n", " import fqe\n", "except ImportError:\n", " !pip install fqe --quiet" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:41.732836Z", "iopub.status.busy": "2025-05-10T09:30:41.732108Z", "iopub.status.idle": "2025-05-10T09:30:43.663136Z", "shell.execute_reply": "2025-05-10T09:30:43.662291Z" }, "id": "3i55Vs4SYsm5", "scrolled": true }, "outputs": [], "source": [ "Print = True\n", "from openfermion import FermionOperator, MolecularData\n", "from openfermion.utils import hermitian_conjugated\n", "import numpy\n", "import fqe\n", "\n", "numpy.set_printoptions(floatmode='fixed', precision=6, linewidth=80, suppress=True)\n", "numpy.random.seed(seed=409)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:43.667178Z", "iopub.status.busy": "2025-05-10T09:30:43.666495Z", "iopub.status.idle": "2025-05-10T09:30:44.027530Z", "shell.execute_reply": "2025-05-10T09:30:44.026275Z" }, "id": "obExleOZZSAq" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", " Dload Upload Total Spent Left Speed\r\n", "\r", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "100 62086 100 62086 0 0 279k 0 --:--:-- --:--:-- --:--:-- 279k\r\n" ] } ], "source": [ "!curl -O https://raw.githubusercontent.com/quantumlib/OpenFermion-FQE/master/tests/unittest_data/build_lih_data.py" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:44.031421Z", "iopub.status.busy": "2025-05-10T09:30:44.031073Z", "iopub.status.idle": "2025-05-10T09:30:44.043824Z", "shell.execute_reply": "2025-05-10T09:30:44.043042Z" }, "id": "E3RaAyBkZuov" }, "outputs": [], "source": [ "import build_lih_data" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:44.047327Z", "iopub.status.busy": "2025-05-10T09:30:44.047008Z", "iopub.status.idle": "2025-05-10T09:30:44.063467Z", "shell.execute_reply": "2025-05-10T09:30:44.062541Z" }, "id": "g8XMRUw6Zb8W" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 4 : S_z = 0\n", "a'000011'b'000011' (-0.9870890035778126+0j)\n", "a'000011'b'000101' (-0.0384854879340124+0j)\n", "a'000011'b'100001' (-0.0036477466809967+0j)\n", "a'000101'b'000011' (-0.0384854879340073+0j)\n", "a'000101'b'000101' (0.0344508540105218+0j)\n", "a'000101'b'100001' (-0.0592953695921639+0j)\n", "a'000101'b'100010' (-0.0010777697106179+0j)\n", "a'001001'b'001001' (0.0271656962509733+0j)\n", "a'001001'b'001010' (-0.0031209939957822+0j)\n", "a'010001'b'010001' (0.0271656962509733+0j)\n", "a'010001'b'010010' (-0.0031209939957822+0j)\n", "a'100001'b'000011' (-0.003647746680997+0j)\n", "a'100001'b'000101' (-0.0592953695921649+0j)\n", "a'100001'b'100001' (0.1135892009408387+0j)\n", "a'000110'b'000110' (0.0037623492033852+0j)\n", "a'001010'b'001001' (-0.0031209939957822+0j)\n", "a'001010'b'001010' (0.001794202149606+0j)\n", "a'010010'b'010001' (-0.0031209939957822+0j)\n", "a'010010'b'010010' (0.001794202149606+0j)\n", "a'100010'b'000101' (-0.001077769710618+0j)\n", "a'100010'b'100010' (0.0010515758855392+0j)\n" ] } ], "source": [ "h1e, h2e, wfn = build_lih_data.build_lih_data('energy')\n", "lih_hamiltonian = fqe.get_restricted_hamiltonian(([h1e, h2e]))\n", "lihwfn = fqe.Wavefunction([[4, 0, 6]])\n", "lihwfn.set_wfn(strategy='from_data', raw_data={(4, 0): wfn})\n", "if Print:\n", " lihwfn.print_wfn()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Application of one- and two-body fermionic gates\n", "\n", "The API for time propagation can be invoked through the fqe namespace or the wavefunction object" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:44.068991Z", "iopub.status.busy": "2025-05-10T09:30:44.067741Z", "iopub.status.idle": "2025-05-10T09:30:47.243421Z", "shell.execute_reply": "2025-05-10T09:30:47.242562Z" } }, "outputs": [], "source": [ "# dummy geometry\n", "from openfermion.chem.molecular_data import spinorb_from_spatial\n", "from openfermion import jordan_wigner, get_sparse_operator, InteractionOperator, get_fermion_operator\n", "\n", "h1s, h2s = spinorb_from_spatial(h1e, numpy.einsum(\"ijlk\", -2 * h2e) * 0.5)\n", "mol = InteractionOperator(0, h1s, h2s)\n", "ham_fop = get_fermion_operator(mol)\n", "ham_mat = get_sparse_operator(jordan_wigner(ham_fop)).toarray()\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:47.246954Z", "iopub.status.busy": "2025-05-10T09:30:47.246681Z", "iopub.status.idle": "2025-05-10T09:30:54.875391Z", "shell.execute_reply": "2025-05-10T09:30:54.874433Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 4 : S_z = 0\n", "a'000011'b'000011' (-0.9832017407384288-0.08751592993809965j)\n", "a'000011'b'000101' (-0.038333927909412015-0.003412147794935153j)\n", "a'000011'b'100001' (-0.003633381455202132-0.00032341158146809005j)\n", "a'000101'b'000011' (-0.038333927909406935-0.0034121477949347074j)\n", "a'000101'b'000101' (0.03431518282571416+0.003054434433325243j)\n", "a'000101'b'100001' (-0.05906185803441181-0.005257164690403508j)\n", "a'000101'b'100010' (-0.001073525344578889-9.555564554363788e-05j)\n", "a'001001'b'001001' (0.02705871481472957+0.0024085276354275367j)\n", "a'001001'b'001010' (-0.003108703183821363-0.00027670930255657j)\n", "a'010001'b'010001' (0.02705871481472957+0.0024085276354275367j)\n", "a'010001'b'010010' (-0.003108703183821363-0.00027670930255657j)\n", "a'100001'b'000011' (-0.0036333814552024306-0.0003234115814681176j)\n", "a'100001'b'000101' (-0.0590618580344128-0.0052571646904036005j)\n", "a'100001'b'100001' (0.11314187441703756+0.010070889930469404j)\n", "a'000110'b'000110' (0.003747532670094563+0.0003335721898296519j)\n", "a'001010'b'001001' (-0.003108703183821363-0.0002767093025565706j)\n", "a'001010'b'001010' (0.0017871363875789756+0.00015907509845870593j)\n", "a'010010'b'010001' (-0.003108703183821363-0.0002767093025565706j)\n", "a'010010'b'010010' (0.0017871363875789756+0.00015907509845870593j)\n", "a'100010'b'000101' (-0.0010735253445789887-9.555564554364526e-05j)\n", "a'100010'b'100010' (0.0010474346607506372+9.323348063182962e-05j)\n", "Sector N = 4 : S_z = 0\n", "a'000011'b'000011' (-0.9832017407384288-0.08751592993809965j)\n", "a'000011'b'000101' (-0.038333927909412015-0.003412147794935153j)\n", "a'000011'b'100001' (-0.003633381455202132-0.00032341158146809005j)\n", "a'000101'b'000011' (-0.038333927909406935-0.0034121477949347074j)\n", "a'000101'b'000101' (0.03431518282571416+0.003054434433325243j)\n", "a'000101'b'100001' (-0.05906185803441181-0.005257164690403508j)\n", "a'000101'b'100010' (-0.001073525344578889-9.555564554363788e-05j)\n", "a'001001'b'001001' (0.02705871481472957+0.0024085276354275367j)\n", "a'001001'b'001010' (-0.003108703183821363-0.00027670930255657j)\n", "a'010001'b'010001' (0.02705871481472957+0.0024085276354275367j)\n", "a'010001'b'010010' (-0.003108703183821363-0.00027670930255657j)\n", "a'100001'b'000011' (-0.0036333814552024306-0.0003234115814681176j)\n", "a'100001'b'000101' (-0.0590618580344128-0.0052571646904036005j)\n", "a'100001'b'100001' (0.11314187441703756+0.010070889930469404j)\n", "a'000110'b'000110' (0.003747532670094563+0.0003335721898296519j)\n", "a'001010'b'001001' (-0.003108703183821363-0.0002767093025565706j)\n", "a'001010'b'001010' (0.0017871363875789756+0.00015907509845870593j)\n", "a'010010'b'010001' (-0.003108703183821363-0.0002767093025565706j)\n", "a'010010'b'010010' (0.0017871363875789756+0.00015907509845870593j)\n", "a'100010'b'000101' (-0.0010735253445789887-9.555564554364526e-05j)\n", "a'100010'b'100010' (0.0010474346607506372+9.323348063182962e-05j)\n" ] } ], "source": [ "from scipy.linalg import expm\n", "time = 0.01\n", "evolved1 = lihwfn.time_evolve(time, lih_hamiltonian)\n", "if Print:\n", " evolved1.print_wfn()\n", "evolved2 = fqe.time_evolve(lihwfn, time, lih_hamiltonian)\n", "if Print:\n", " evolved2.print_wfn()\n", "assert numpy.isclose(fqe.vdot(evolved1, evolved2), 1)\n", "cirq_wf = fqe.to_cirq(lihwfn)\n", "evolve_cirq = expm(-1j * time * ham_mat) @ cirq_wf\n", "test_evolve = fqe.from_cirq(evolve_cirq, thresh=1.0E-12)\n", "assert numpy.isclose(fqe.vdot(test_evolve, evolved1), 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exact evolution implementation of quadratic Hamiltonians\n", "\n", "Listed here are examples of evolving the special Hamiltonians.\n", "\n", "Diagonal Hamiltonian evolution is supported." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:54.881252Z", "iopub.status.busy": "2025-05-10T09:30:54.879959Z", "iopub.status.idle": "2025-05-10T09:30:54.898600Z", "shell.execute_reply": "2025-05-10T09:30:54.897235Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 4 : S_z = 2\n", "a'0111'b'0001' (0.06410384332680892+0.006457824553220213j)\n", "a'0111'b'0010' (-0.04750282105641742-0.004806746363757904j)\n", "a'0111'b'0100' (-0.13678251578172124-0.14669354294155937j)\n", "a'0111'b'1000' (-0.17590908446219902+0.18037032855388507j)\n", "a'1011'b'0001' (-0.024476509055323645-0.35002973813257837j)\n", "a'1011'b'0010' (-0.29306549119285774-0.24993699345042755j)\n", "a'1011'b'0100' (-0.24463823979331925+0.216230018507552j)\n", "a'1011'b'1000' (0.2630370061724331-0.3219176890144332j)\n", "a'1101'b'0001' (0.06881598452335648-0.11820307831930973j)\n", "a'1101'b'0010' (0.07453400242973146-0.06864240203689581j)\n", "a'1101'b'0100' (-0.10280462830183762-0.20883766019199357j)\n", "a'1101'b'1000' (0.18607595463278417-0.08025697543327445j)\n", "a'1110'b'0001' (0.11456775354687777+0.3103763043669054j)\n", "a'1110'b'0010' (-0.06508766236659613-0.19892441460633234j)\n", "a'1110'b'0100' (0.10203424947892725-0.20758467025020982j)\n", "a'1110'b'1000' (0.07609612213727357+0.04672521448420223j)\n", "-2.0 [0^ 0] +\n", "-1.7 [1^ 1] +\n", "-0.7 [2^ 2] +\n", "-0.55 [3^ 3] +\n", "-0.1 [4^ 4] +\n", "-0.06 [5^ 5] +\n", "0.5 [6^ 6] +\n", "0.3 [7^ 7]\n", "Sector N = 4 : S_z = 2\n", "a'0111'b'0001' (0.0637484451008294+0.009334986580321275j)\n", "a'0111'b'0010' (-0.047315172642354755-0.006395096304800911j)\n", "a'0111'b'0100' (-0.132531714879653-0.15054499897167728j)\n", "a'0111'b'1000' (-0.18036290425047674+0.17591669673256966j)\n", "a'1011'b'0001' (-0.010810197548109522-0.35071791614011905j)\n", "a'1011'b'0010' (-0.2860822817529272-0.25790077721904764j)\n", "a'1011'b'0100' (-0.24946214917080445+0.21064644645479583j)\n", "a'1011'b'1000' (0.26910559751344887-0.31686218219200535j)\n", "a'1101'b'0001' (0.07267851126583812-0.11586820724539217j)\n", "a'1101'b'0010' (0.07599247436942777-0.06702418007556614j)\n", "a'1101'b'0100' (-0.09932391825824108-0.21051536565432893j)\n", "a'1101'b'1000' (0.1871035427295063-0.07783127453836906j)\n", "a'1110'b'0001' (0.108337728499401+0.31260543349216774j)\n", "a'1110'b'0010' (-0.06339447392546516-0.19947046697326787j)\n", "a'1110'b'0100' (0.1027808914964281-0.207216002598293j)\n", "a'1110'b'1000' (0.07609612213727357+0.04672521448420223j)\n" ] } ], "source": [ "wfn = fqe.Wavefunction([[4, 2, 4]])\n", "wfn.set_wfn(strategy='random')\n", "if Print:\n", " wfn.print_wfn()\n", "\n", "diagonal = FermionOperator('0^ 0', -2.0) + \\\n", " FermionOperator('1^ 1', -1.7) + \\\n", " FermionOperator('2^ 2', -0.7) + \\\n", " FermionOperator('3^ 3', -0.55) + \\\n", " FermionOperator('4^ 4', -0.1) + \\\n", " FermionOperator('5^ 5', -0.06) + \\\n", " FermionOperator('6^ 6', 0.5) + \\\n", " FermionOperator('7^ 7', 0.3)\n", "if Print:\n", " print(diagonal)\n", " \n", "evolved = wfn.time_evolve(time, diagonal)\n", "if Print:\n", " evolved.print_wfn()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exact evolution of dense quadratic hamiltonians is supported. Here is an evolution example using a spin restricted Hamiltonian on a number and spin conserving wavefunction" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:54.905162Z", "iopub.status.busy": "2025-05-10T09:30:54.903916Z", "iopub.status.idle": "2025-05-10T09:30:55.009158Z", "shell.execute_reply": "2025-05-10T09:30:55.008279Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial Energy: (12.222344460445168+5.551115123125783e-17j)\n", "Final Energy: (12.222344460445179+1.9168694409543718e-16j)\n" ] } ], "source": [ "norb = 4 \n", "h1e = numpy.zeros((norb, norb), dtype=numpy.complex128) \n", "for i in range(norb): \n", " for j in range(norb): \n", " h1e[i, j] += (i+j) * 0.02 \n", " h1e[i, i] += i * 2.0 \n", "\n", "hamil = fqe.get_restricted_hamiltonian((h1e,)) \n", "wfn = fqe.Wavefunction([[4, 0, norb]]) \n", "wfn.set_wfn(strategy='random') \n", "initial_energy = wfn.expectationValue(hamil) \n", "print('Initial Energy: {}'.format(initial_energy))\n", "evolved = wfn.time_evolve(time, hamil) \n", "final_energy = evolved.expectationValue(hamil)\n", "print('Final Energy: {}'.format(final_energy))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The GSO Hamiltonian is for evolution of quadratic hamiltonians that are spin broken and number conserving." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.013248Z", "iopub.status.busy": "2025-05-10T09:30:55.012924Z", "iopub.status.idle": "2025-05-10T09:30:55.499936Z", "shell.execute_reply": "2025-05-10T09:30:55.499080Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial Energy: (28.720309503101298-2.393918396847994e-16j)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Final Energy: (28.72030950310126+9.020562075079397e-17j)\n" ] } ], "source": [ "norb = 4 \n", "h1e = numpy.zeros((2*norb, 2*norb), dtype=numpy.complex128) \n", "for i in range(2*norb): \n", " for j in range(2*norb): \n", " h1e[i, j] += (i+j) * 0.02 \n", " h1e[i, i] += i * 2.0 \n", "\n", "hamil = fqe.get_gso_hamiltonian((h1e,)) \n", "wfn = fqe.get_number_conserving_wavefunction(4, norb) \n", "wfn.set_wfn(strategy='random') \n", "initial_energy = wfn.expectationValue(hamil) \n", "print('Initial Energy: {}'.format(initial_energy))\n", "evolved = wfn.time_evolve(time, hamil) \n", "final_energy = evolved.expectationValue(hamil)\n", "print('Final Energy: {}'.format(final_energy))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The BCS hamiltonian evovles spin conserved and number broken wavefunctions." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.505143Z", "iopub.status.busy": "2025-05-10T09:30:55.503891Z", "iopub.status.idle": "2025-05-10T09:30:55.822247Z", "shell.execute_reply": "2025-05-10T09:30:55.821436Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6.0 [] +\n", "(0.05-0.15000000000000002j) [0 1] +\n", "(0.25-0.35000000000000003j) [0 3] +\n", "(0.45-0.55j) [0 5] +\n", "(0.65-0.75j) [0 7] +\n", "(0.05+0.05j) [0^ 1^] +\n", "(0.15000000000000002+0.15000000000000002j) [0^ 3^] +\n", "(0.25+0.25j) [0^ 5^] +\n", "(0.35000000000000003+0.35000000000000003j) [0^ 7^] +\n", "(0.05-0.05j) [1 0] +\n", "(0.15000000000000002-0.15000000000000002j) [1 2] +\n", "(0.25-0.25j) [1 4] +\n", "(0.35000000000000003-0.35000000000000003j) [1 6] +\n", "(0.05+0.15000000000000002j) [1^ 0^] +\n", "(0.15000000000000002+0.25j) [1^ 2^] +\n", "(0.25+0.35000000000000003j) [1^ 4^] +\n", "(0.35000000000000003+0.45j) [1^ 6^] +\n", "(0.15000000000000002-0.25j) [2 1] +\n", "(0.35000000000000003-0.45j) [2 3] +\n", "(0.55-0.65j) [2 5] +\n", "(0.75-0.8500000000000001j) [2 7] +\n", "(0.15000000000000002+0.15000000000000002j) [2^ 1^] +\n", "(0.25+0.25j) [2^ 3^] +\n", "(0.35000000000000003+0.35000000000000003j) [2^ 5^] +\n", "(0.45+0.45j) [2^ 7^] +\n", "(0.15000000000000002-0.15000000000000002j) [3 0] +\n", "(0.25-0.25j) [3 2] +\n", "(0.35000000000000003-0.35000000000000003j) [3 4] +\n", "(0.45-0.45j) [3 6] +\n", "(0.25+0.35000000000000003j) [3^ 0^] +\n", "(0.35000000000000003+0.45j) [3^ 2^] +\n", "(0.45+0.55j) [3^ 4^] +\n", "(0.55+0.65j) [3^ 6^] +\n", "(0.25-0.35000000000000003j) [4 1] +\n", "(0.45-0.55j) [4 3] +\n", "(0.65-0.75j) [4 5] +\n", "(0.8500000000000001-0.9500000000000001j) [4 7] +\n", "(0.25+0.25j) [4^ 1^] +\n", "(0.35000000000000003+0.35000000000000003j) [4^ 3^] +\n", "(0.45+0.45j) [4^ 5^] +\n", "(0.55+0.55j) [4^ 7^] +\n", "(0.25-0.25j) [5 0] +\n", "(0.35000000000000003-0.35000000000000003j) [5 2] +\n", "(0.45-0.45j) [5 4] +\n", "(0.55-0.55j) [5 6] +\n", "(0.45+0.55j) [5^ 0^] +\n", "(0.55+0.65j) [5^ 2^] +\n", "(0.65+0.75j) [5^ 4^] +\n", "(0.75+0.8500000000000001j) [5^ 6^] +\n", "(0.35000000000000003-0.45j) [6 1] +\n", "(0.55-0.65j) [6 3] +\n", "(0.75-0.8500000000000001j) [6 5] +\n", "(0.9500000000000001-1.05j) [6 7] +\n", "(0.35000000000000003+0.35000000000000003j) [6^ 1^] +\n", "(0.45+0.45j) [6^ 3^] +\n", "(0.55+0.55j) [6^ 5^] +\n", "(0.65+0.65j) [6^ 7^] +\n", "(0.35000000000000003-0.35000000000000003j) [7 0] +\n", "(0.45-0.45j) [7 2] +\n", "(0.55-0.55j) [7 4] +\n", "(0.65-0.65j) [7 6] +\n", "(0.65+0.75j) [7^ 0^] +\n", "(0.75+0.8500000000000001j) [7^ 2^] +\n", "(0.8500000000000001+0.9500000000000001j) [7^ 4^] +\n", "(0.9500000000000001+1.05j) [7^ 6^]\n", "Sector N = 2 : S_z = 2\n", "a'0011'b'0000' (-0.03822050376543366+0.04722267594475418j)\n", "a'0101'b'0000' (0.11266351755026058-0.08045492107765523j)\n", "a'1001'b'0000' (0.20320077458016653-0.12569862804377432j)\n", "a'0110'b'0000' (0.05619850454412105+0.09496478341558393j)\n", "a'1010'b'0000' (0.10559885537015444+0.11842688052122244j)\n", "a'1100'b'0000' (0.0077637482095351895+0.31531590367980844j)\n", "Sector N = 4 : S_z = 2\n", "a'0111'b'0001' (0.2824942893468279+0.03355206579818916j)\n", "a'0111'b'0010' (-0.05772107497136629-0.02636869741981419j)\n", "a'0111'b'0100' (0.023785796648682776-0.0020224394959580906j)\n", "a'0111'b'1000' (0.21640450174424197-0.04378508800670816j)\n", "a'1011'b'0001' (-0.05498328060358216+0.02734692187255261j)\n", "a'1011'b'0010' (-0.04928412842784853+0.14503876601698823j)\n", "a'1011'b'0100' (0.15795758958015643-0.4182365189352067j)\n", "a'1011'b'1000' (-0.17447882444539087-0.009486157624653761j)\n", "a'1101'b'0001' (-0.1445095969304484-0.18205850652200903j)\n", "a'1101'b'0010' (-0.03991499779909757-0.15433749648217981j)\n", "a'1101'b'0100' (0.06570900360151104+0.004102951665073998j)\n", "a'1101'b'1000' (0.059818195036244165-0.12107474028451727j)\n", "a'1110'b'0001' (-0.06872552283670944-0.03502572909303779j)\n", "a'1110'b'0010' (0.01187150936783494-0.08220106790262457j)\n", "a'1110'b'0100' (0.245935671612729+0.2003604108656353j)\n", "a'1110'b'1000' (-0.08678168538325304-0.15114749448953507j)\n", "Sector N = 6 : S_z = 2\n", "a'1111'b'0011' (-0.07458559356076411-0.07500964684800192j)\n", "a'1111'b'0101' (0.00026534389687275984-0.07669551428142163j)\n", "a'1111'b'1001' (-0.09607654962925911-0.03066759719778399j)\n", "a'1111'b'0110' (0.09851785462192013+0.04062010213534433j)\n", "a'1111'b'1010' (-0.06147228452062744+0.19634181999024788j)\n", "a'1111'b'1100' (0.203465187540792+0.15201301478908172j)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 2 : S_z = 2\n", "a'0011'b'0000' (-0.038097743113607495+0.047539945454499716j)\n", "a'0101'b'0000' (0.11218647680909512-0.0812198942753196j)\n", "a'1001'b'0000' (0.2025964775787488-0.1269139163437523j)\n", "a'0110'b'0000' (0.056815624811621314+0.09444679519610732j)\n", "a'1010'b'0000' (0.1060979033896154+0.1180590472361861j)\n", "a'1100'b'0000' (0.009711552915153309+0.3149941116139492j)\n", "Sector N = 4 : S_z = 2\n", "a'0111'b'0001' (0.2827334081828877+0.03191913437012366j)\n", "a'0111'b'0010' (-0.05776957775932644-0.026097211137678548j)\n", "a'0111'b'0100' (0.02376911509399819-0.002175581749758095j)\n", "a'0111'b'1000' (0.21605500834702818-0.045249841427133605j)\n", "a'1011'b'0001' (-0.054883877134095975+0.02766525346243461j)\n", "a'1011'b'0010' (-0.04852768913042599+0.14528128840122675j)\n", "a'1011'b'0100' (0.15548424682043674-0.4189660547258269j)\n", "a'1011'b'1000' (-0.17451327690229249-0.008546537415431717j)\n", "a'1101'b'0001' (-0.14555517224730116-0.18111178278510304j)\n", "a'1101'b'0010' (-0.04074794646804691-0.15419679959996305j)\n", "a'1101'b'0100' (0.06575967845578282+0.003736909200068359j)\n", "a'1101'b'1000' (0.0589613844419772-0.12164982883882651j)\n", "a'1110'b'0001' (-0.0689906450290815-0.03462388136753807j)\n", "a'1110'b'0010' (0.011244555293778628-0.08231180714509588j)\n", "a'1110'b'0100' (0.24720056742353744+0.19907277517865116j)\n", "a'1110'b'1000' (-0.08770534327870647-0.15070288403482224j)\n", "Sector N = 6 : S_z = 2\n", "a'1111'b'0011' (-0.07500249390617937-0.07463966565297969j)\n", "a'1111'b'0101' (-0.00027596423073685146-0.07657867707171727j)\n", "a'1111'b'1001' (-0.09614340563343148-0.030226554766595443j)\n", "a'1111'b'0110' (0.0988673405671825+0.040013301020912787j)\n", "a'1111'b'1010' (-0.06049739731068076+0.1966835109908999j)\n", "a'1111'b'1100' (0.20447453839378954+0.15086235436317388j)\n" ] } ], "source": [ "norb = 4\n", "time = 0.001\n", "wfn_spin = fqe.get_spin_conserving_wavefunction(2, norb)\n", "hamil = FermionOperator('', 6.0)\n", "for i in range(0, 2*norb, 2):\n", " for j in range(0, 2*norb, 2):\n", " opstring = str(i) + ' ' + str(j + 1)\n", " hamil += FermionOperator(opstring, (i+1 + j*2)*0.1 - (i+1 + 2*(j + 1))*0.1j)\n", " opstring = str(i) + '^ ' + str(j + 1) + '^ '\n", " hamil += FermionOperator(opstring, (i+1 + j)*0.1 + (i+1 + j)*0.1j)\n", "h_noncon = (hamil + hermitian_conjugated(hamil))/2.0\n", "if Print:\n", " print(h_noncon)\n", "\n", "wfn_spin.set_wfn(strategy='random')\n", "if Print:\n", " wfn_spin.print_wfn()\n", "\n", "spin_evolved = wfn_spin.time_evolve(time, h_noncon)\n", "if Print:\n", " spin_evolved.print_wfn()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exact Evolution Implementation of Diagonal Coulomb terms" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.827465Z", "iopub.status.busy": "2025-05-10T09:30:55.826256Z", "iopub.status.idle": "2025-05-10T09:30:55.839800Z", "shell.execute_reply": "2025-05-10T09:30:55.839068Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 5 : S_z = 1\n", "a'0111'b'0011' (0.1767197633238888+0.07705027591386174j)\n", "a'0111'b'0101' (0.26511616271206534+0.008961114965964636j)\n", "a'0111'b'1001' (-0.21500788967807205+0.18883222357115242j)\n", "a'0111'b'0110' (0.05899888340530983+0.24718508330513655j)\n", "a'0111'b'1010' (0.026779941886877087+0.178826903379466j)\n", "a'0111'b'1100' (0.040105194632471065-0.13765308148589672j)\n", "a'1011'b'0011' (-0.07737195675705617-0.13361350504300393j)\n", "a'1011'b'0101' (-0.13687313057404554+0.29187074296331617j)\n", "a'1011'b'1001' (-0.06315193751752252-0.015963783432630548j)\n", "a'1011'b'0110' (0.1412070788641405+0.1547599681431957j)\n", "a'1011'b'1010' (0.19284938811527336+0.05815106367478927j)\n", "a'1011'b'1100' (0.0601422593196422+0.28502769589072846j)\n", "a'1101'b'0011' (-0.18150775903742453+0.016874070450244708j)\n", "a'1101'b'0101' (-0.0348624766019713-0.13176446392846256j)\n", "a'1101'b'1001' (-0.0025269874019722425+0.15813527253622475j)\n", "a'1101'b'0110' (0.2350325470053182+0.00014186481294887606j)\n", "a'1101'b'1010' (-0.05882009410190486-0.17131076761878405j)\n", "a'1101'b'1100' (-0.0805012226704995-0.22440941132365497j)\n", "a'1110'b'0011' (0.03604887823935152+0.03924039987192205j)\n", "a'1110'b'0101' (0.01791557236805855+0.049178708081171994j)\n", "a'1110'b'1001' (0.043394070527428906+0.04684086505377531j)\n", "a'1110'b'0110' (-0.06429592223560363-0.0008430408719242828j)\n", "a'1110'b'1010' (0.2544814342392375-0.29724856959461543j)\n", "a'1110'b'1100' (0.030682862125531125+0.04316975493381036j)\n", "Sector N = 5 : S_z = 1\n", "a'0111'b'0011' (0.17246919202766037+0.08614521210711293j)\n", "a'0111'b'0101' (0.2640044105946365+0.02585638217504639j)\n", "a'0111'b'1001' (-0.22865588002522289+0.1720537410593985j)\n", "a'0111'b'0110' (0.039317599959618595+0.25106863600429263j)\n", "a'0111'b'1010' (0.01016559936487448+0.18053500283686325j)\n", "a'0111'b'1100' (0.05486817182308945-0.13246237654467485j)\n", "a'1011'b'0011' (-0.06892245945470493-0.1381618000932499j)\n", "a'1011'b'0101' (-0.15852659275216138+0.2806993121856342j)\n", "a'1011'b'1001' (-0.06148222691741648-0.021516165247931745j)\n", "a'1011'b'0110' (0.12632522987699016+0.16712876220911863j)\n", "a'1011'b'1010' (0.18549537660753673+0.0785104958599347j)\n", "a'1011'b'1100' (0.023846943350919615+0.2903260272067709j)\n", "a'1101'b'0011' (-0.18226377985147815+0.00311695341631818j)\n", "a'1101'b'0101' (-0.022781831587704093-0.13438100453072824j)\n", "a'1101'b'1001' (-0.019218653219683423+0.15698341776715583j)\n", "a'1101'b'0110' (0.2336171388678771+0.025755595598224452j)\n", "a'1101'b'1010' (-0.03682570987971141-0.1773444379284259j)\n", "a'1101'b'1100' (-0.04695986639822977-0.23374088579008845j)\n", "a'1110'b'0011' (0.03227444359792561+0.042399185073162045j)\n", "a'1110'b'0101' (0.012449211992330995+0.05083827477971962j)\n", "a'1110'b'1001' (0.037163719046413746+0.05192273088508236j)\n", "a'1110'b'0110' (-0.06364995585406888-0.00913013985728614j)\n", "a'1110'b'1010' (0.29549075882045067-0.25652041624443533j)\n", "a'1110'b'1100' (0.02295227609762028+0.047731109260085336j)\n" ] } ], "source": [ "norb = 4\n", "wfn = fqe.Wavefunction([[5, 1, norb]])\n", "vij = numpy.zeros((norb, norb, norb, norb), dtype=numpy.complex128)\n", "for i in range(norb):\n", " for j in range(norb):\n", " vij[i, j] += 4*(i % norb + 1)*(j % norb + 1)*0.21\n", " \n", "wfn.set_wfn(strategy='random')\n", "\n", "if Print:\n", " wfn.print_wfn()\n", " \n", "hamil = fqe.get_diagonalcoulomb_hamiltonian(vij)\n", " \n", "evolved = wfn.time_evolve(time, hamil)\n", "if Print:\n", " evolved.print_wfn()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exact evolution of individual n-body anti-Hermitian gnerators" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.844622Z", "iopub.status.busy": "2025-05-10T09:30:55.843388Z", "iopub.status.idle": "2025-05-10T09:30:55.861065Z", "shell.execute_reply": "2025-05-10T09:30:55.860294Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 4 : S_z = -2\n", "a'001'b'111' (0.15192470437087405+0.002030736551023001j)\n", "a'010'b'111' (-0.03463482137049871+0.27009718718635434j)\n", "a'100'b'111' (-0.227167326143701-0.042680013855770464j)\n", "Sector N = 4 : S_z = 0\n", "a'011'b'011' (-0.3135681471723931+0.02343272674191714j)\n", "a'011'b'101' (-0.02499985483324474+0.08816424695516287j)\n", "a'011'b'110' (0.08135663091791555-0.2354257740286914j)\n", "a'101'b'011' (0.10687726150559686-0.2956005054158534j)\n", "a'101'b'101' (0.17170942273731685+0.06147474695535962j)\n", "a'101'b'110' (-0.06659232012041506-0.17366091158923022j)\n", "a'110'b'011' (0.10656876871906572+0.05034757634263565j)\n", "a'110'b'101' (-0.5439254382876493-0.12805668259580452j)\n", "a'110'b'110' (0.05259450329119359+0.030994001966578325j)\n", "Sector N = 4 : S_z = 2\n", "a'111'b'001' (-0.27915567439519695-0.16997476921880741j)\n", "a'111'b'010' (0.21779510862047607-0.13520849680378372j)\n", "a'111'b'100' (-0.062444490395427814+0.08399365005639217j)\n", "Sector N = 4 : S_z = -2\n", "a'001'b'111' (0.15192470437087405+0.002030736551023001j)\n", "a'010'b'111' (-0.03463482137049871+0.27009718718635434j)\n", "a'100'b'111' (-0.2277896098680148-0.04319797642130905j)\n", "Sector N = 4 : S_z = 0\n", "a'011'b'011' (-0.3135681471723931+0.02343272674191714j)\n", "a'011'b'101' (-0.02499985483324474+0.08816424695516287j)\n", "a'011'b'110' (0.08135663091791555-0.2354257740286914j)\n", "a'101'b'011' (0.10687726150559686-0.2956005054158534j)\n", "a'101'b'101' (0.17170942273731685+0.06147474695535962j)\n", "a'101'b'110' (-0.06659232012041506-0.17366091158923022j)\n", "a'110'b'011' (0.10656876871906572+0.05034757634263565j)\n", "a'110'b'101' (-0.5439254382876493-0.12805668259580452j)\n", "a'110'b'110' (0.05259450329119359+0.030994001966578325j)\n", "Sector N = 4 : S_z = 2\n", "a'111'b'001' (-0.27915567439519695-0.16997476921880741j)\n", "a'111'b'010' (0.2174388128701414-0.13456899986199047j)\n", "a'111'b'100' (-0.062444490395427814+0.08399365005639217j)\n" ] } ], "source": [ "norb = 3\n", "nele = 4\n", "ops = FermionOperator('5^ 1^ 2 0', 3.0 - 1.j)\n", "ops += FermionOperator('0^ 2^ 1 5', 3.0 + 1.j)\n", "wfn = fqe.get_number_conserving_wavefunction(nele, norb)\n", "wfn.set_wfn(strategy='random')\n", "wfn.normalize()\n", "if Print:\n", " wfn.print_wfn()\n", "evolved = wfn.time_evolve(time, ops)\n", "if Print:\n", " evolved.print_wfn()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Approximate evolution of sums of n-body generators\n", "\n", "Approximate evolution can be done for dense operators." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.865918Z", "iopub.status.busy": "2025-05-10T09:30:55.864720Z", "iopub.status.idle": "2025-05-10T09:30:55.878014Z", "shell.execute_reply": "2025-05-10T09:30:55.877252Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 4 : S_z = 0\n", "a'000011'b'000011' (-0.9870501056639676-0.008762984250848186j)\n", "a'000011'b'000101' (-0.0384839713479148-0.00034165891188627537j)\n", "a'000011'b'100001' (-0.003647602935297334-3.238325409440231e-05j)\n", "a'000101'b'000011' (-0.0384839713479097-0.00034165891188623075j)\n", "a'000101'b'000101' (0.03444949641617426+0.0003058410149547989j)\n", "a'000101'b'100001' (-0.059293032957665366-0.000526400752638063j)\n", "a'000101'b'100010' (-0.0010777272393492372-9.568002262034463e-06j)\n", "a'001001'b'001001' (0.02716462574072948+0.0002411662625463919j)\n", "a'001001'b'001010' (-0.003120871007714629-2.770694732178501e-05j)\n", "a'010001'b'010001' (0.02716462574072948+0.0002411662625463919j)\n", "a'010001'b'010010' (-0.003120871007714629-2.770694732178501e-05j)\n", "a'100001'b'000011' (-0.0036476029352976343-3.238325409440512e-05j)\n", "a'100001'b'000101' (-0.059293032957666365-0.0005264007526380719j)\n", "a'100001'b'100001' (0.11358472476587893+0.0010083998412408197j)\n", "a'000110'b'000110' (0.0037622009416752988+3.340063743457015e-05j)\n", "a'001010'b'001001' (-0.003120871007714629-2.7706947321785068e-05j)\n", "a'001010'b'001010' (0.0017941314460251166+1.5928215395129844e-05j)\n", "a'010010'b'010001' (-0.003120871007714629-2.7706947321785068e-05j)\n", "a'010010'b'010010' (0.0017941314460251166+1.5928215395129844e-05j)\n", "a'100010'b'000101' (-0.0010777272393493371-9.568002262035205e-06j)\n", "a'100010'b'100010' (0.0010515344463539172+9.335483532366947e-06j)\n" ] } ], "source": [ "lih_evolved = lihwfn.apply_generated_unitary(time, 'taylor', lih_hamiltonian, accuracy=1.e-8)\n", "if Print:\n", " lih_evolved.print_wfn()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.882858Z", "iopub.status.busy": "2025-05-10T09:30:55.881601Z", "iopub.status.idle": "2025-05-10T09:30:55.902713Z", "shell.execute_reply": "2025-05-10T09:30:55.901953Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sector N = 2 : S_z = 0\n", "a'01'b'01' (0.3495794429313121+0.022158760002413482j)\n", "a'01'b'10' (0.5664453364412798-0.3945979322462498j)\n", "a'10'b'01' (-0.39816876837018494+0.14573910133744658j)\n", "a'10'b'10' (-0.4662060110250305-0.06007542464228622j)\n", "Sector N = 2 : S_z = 0\n", "a'01'b'01' (0.34443641067646297-0.051014551799515924j)\n", "a'01'b'10' (0.42102942409764665-0.5481625677445289j)\n", "a'10'b'01' (-0.33530047561075+0.26085960635871003j)\n", "a'10'b'10' (-0.4509597513637166+0.13105059079720657j)\n" ] } ], "source": [ "norb = 2\n", "nalpha = 1\n", "nbeta = 1\n", "nele = nalpha + nbeta\n", "time = 0.05\n", "h1e = numpy.zeros((norb*2, norb*2), dtype=numpy.complex128)\n", "for i in range(2*norb):\n", " for j in range(2*norb):\n", " h1e[i, j] += (i+j) * 0.02\n", " h1e[i, i] += i * 2.0\n", "hamil = fqe.get_general_hamiltonian((h1e,))\n", "spec_lim = [-1.13199078e-03, 6.12720338e+00]\n", "wfn = fqe.Wavefunction([[nele, nalpha - nbeta, norb]])\n", "wfn.set_wfn(strategy='random')\n", "if Print:\n", " wfn.print_wfn()\n", "evol_wfn = wfn.apply_generated_unitary(time, 'chebyshev', hamil, spec_lim=spec_lim)\n", "if Print:\n", " evol_wfn.print_wfn()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "API for determining desired expectation values" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.907588Z", "iopub.status.busy": "2025-05-10T09:30:55.906395Z", "iopub.status.idle": "2025-05-10T09:30:55.949541Z", "shell.execute_reply": "2025-05-10T09:30:55.948747Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1.999908+0.000000j -0.000284+0.000000j 0.000441+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.001285+0.000000j]\n", " [-0.000284+0.000000j 1.951766+0.000000j 0.073757+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.010948+0.000000j]\n", " [ 0.000441+0.000000j 0.073757+0.000000j 0.012402+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.017277+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.001525+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.001525+0.000000j -0.000000+0.000000j]\n", " [-0.001285+0.000000j 0.010948+0.000000j -0.017277+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.032874+0.000000j]]\n", "(0.0737569627134323+0j)\n", "[[ 0.000170-0.017754j 0.000284+0.000003j -0.000441-0.000004j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.001285+0.000011j]\n", " [ 0.000284+0.000003j 0.048311-0.017327j -0.073754-0.000655j\n", " -0.000000-0.000000j -0.000000-0.000000j -0.010948-0.000097j]\n", " [-0.000441-0.000004j -0.073754-0.000655j 1.987599-0.000110j\n", " -0.000000-0.000000j -0.000000-0.000000j 0.017276+0.000153j]\n", " [ 0.000000+0.000000j -0.000000-0.000000j -0.000000-0.000000j\n", " 1.998475-0.000014j -0.000000-0.000000j -0.000000-0.000000j]\n", " [ 0.000000+0.000000j -0.000000-0.000000j -0.000000-0.000000j\n", " -0.000000-0.000000j 1.998475-0.000014j 0.000000+0.000000j]\n", " [ 0.001285+0.000011j -0.010948-0.000097j 0.017276+0.000153j\n", " -0.000000-0.000000j 0.000000+0.000000j 1.967127-0.000292j]]\n", "(-0.07375405619488316-0.0006547850894203785j)\n" ] } ], "source": [ "rdm1 = lihwfn.expectationValue('i^ j')\n", "if Print:\n", " print(rdm1)\n", "val = lihwfn.expectationValue('5^ 3')\n", "if Print:\n", " print(2.*val)\n", "trdm1 = fqe.expectationValue(lih_evolved, 'i j^', lihwfn)\n", "if Print:\n", " print(trdm1)\n", "val = fqe.expectationValue(lih_evolved, '5 3^', lihwfn)\n", "if Print:\n", " print(2*val)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2.B.1 RDMs \n", "In addition to the above API higher order density matrices in addition to hole densities can be calculated." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:55.954615Z", "iopub.status.busy": "2025-05-10T09:30:55.953421Z", "iopub.status.idle": "2025-05-10T09:30:56.212196Z", "shell.execute_reply": "2025-05-10T09:30:56.211050Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[[-0.000047+0.000000j -0.000260+0.000000j 0.000445+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.001287+0.000000j]\n", " [ 0.000308+0.000000j 0.048269+0.000000j -0.073761+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.010927+0.000000j]\n", " [-0.000437+0.000000j -0.073761+0.000000j 1.987537+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.017274+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 1.998412+0.000000j -0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000000+0.000000j 1.998412+0.000000j 0.000000+0.000000j]\n", " [ 0.001283+0.000000j -0.010927+0.000000j 0.017274+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 1.967051+0.000000j]]\n", "\n", " [[-0.000544+0.000000j -0.096416+0.000000j 0.147514+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.021885+0.000000j]\n", " [ 0.000733+0.000000j 0.000242+0.000000j 0.000079+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000157+0.000000j]\n", " [ 0.000282+0.000000j 0.000213+0.000000j -0.000180+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000110+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000103+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000103+0.000000j -0.000000+0.000000j]\n", " [-0.000012+0.000000j 0.000449+0.000000j 0.000021+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000447+0.000000j]]\n", "\n", " [[ 0.000886+0.000000j 0.147514+0.000000j -3.975076+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.034551+0.000000j]\n", " [ 0.000282+0.000000j -0.000073+0.000000j 0.000684+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000288+0.000000j]\n", " [-0.007548+0.000000j -0.000414+0.000000j -0.000511+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000102+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000433+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000433+0.000000j 0.000000+0.000000j]\n", " [ 0.000293+0.000000j -0.003503+0.000000j 0.002338+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000595+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -3.996823+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000207+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000866+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.003666+0.000000j -0.006155+0.000000j -0.000351+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000189+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.002480+0.000000j 0.000000+0.000000j -0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -3.996823+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000207+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000866+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.003666+0.000000j -0.006155+0.000000j -0.000351+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000189+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.002480+0.000000j -0.000000+0.000000j]]\n", "\n", " [[-0.002572+0.000000j 0.021885+0.000000j -0.034551+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -3.934082+0.000000j]\n", " [-0.000012+0.000000j -0.000182+0.000000j -0.000002+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000625+0.000000j]\n", " [ 0.000293+0.000000j 0.000715+0.000000j -0.001159+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.001060+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.001240+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.001240+0.000000j 0.000000+0.000000j]\n", " [-0.002124+0.000000j -0.000521+0.000000j -0.000001+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.001252+0.000000j]]]\n", "\n", "\n", " [[[ 0.000024+0.000000j 0.000733+0.000000j 0.000282+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000012+0.000000j]\n", " [-0.000131+0.000000j -0.000326+0.000000j 0.001095+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.002122+0.000000j]\n", " [ 0.000000+0.000000j 0.000079+0.000000j -0.000180+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000021+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000103+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000103+0.000000j -0.000000+0.000000j]\n", " [-0.000011+0.000000j -0.000157+0.000000j -0.000110+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000447+0.000000j]]\n", "\n", " [[ 0.000127+0.000000j 0.000526+0.000000j -0.000514+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.001103+0.000000j]\n", " [-0.000042+0.000000j -0.003032+0.000000j 0.075980+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.007202+0.000000j]\n", " [-0.000514+0.000000j -0.071534+0.000000j 1.954703+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000282+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 1.951740+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 1.951740+0.000000j 0.000000+0.000000j]\n", " [ 0.001103+0.000000j -0.014694+0.000000j 0.000282+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 1.951786+0.000000j]]\n", "\n", " [[-0.000004+0.000000j 0.000079+0.000000j 0.000684+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000002+0.000000j]\n", " [ 0.001095+0.000000j 0.149736+0.000000j -3.900509+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000278+0.000000j]\n", " [-0.000414+0.000000j -0.068015+0.000000j -0.076410+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000251+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.073758+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.073758+0.000000j -0.000000+0.000000j]\n", " [ 0.000715+0.000000j 0.117061+0.000000j -0.017332+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.074190+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000207+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -3.903480+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.147515+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.006155+0.000000j -0.053634+0.000000j -0.002096+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000196+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.021885+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000207+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -3.903480+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.147515+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.006155+0.000000j -0.053634+0.000000j -0.002096+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000196+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.021885+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000021+0.000000j -0.000157+0.000000j -0.000288+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000625+0.000000j]\n", " [-0.002122+0.000000j 0.018150+0.000000j 0.000278+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -3.903496+0.000000j]\n", " [-0.003503+0.000000j 0.117061+0.000000j 0.015512+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.147081+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.010943+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.010943+0.000000j -0.000000+0.000000j]\n", " [-0.000521+0.000000j -0.224250+0.000000j -0.008743+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.011776+0.000000j]]]\n", "\n", "\n", " [[[ 0.000004+0.000000j 0.000282+0.000000j -0.007548+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000293+0.000000j]\n", " [ 0.000000+0.000000j -0.000073+0.000000j -0.000414+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.003503+0.000000j]\n", " [-0.000063+0.000000j 0.000116+0.000000j 0.000371+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000232+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000433+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000433+0.000000j -0.000000+0.000000j]\n", " [ 0.000003+0.000000j -0.000288+0.000000j 0.000102+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000595+0.000000j]]\n", "\n", " [[-0.000004+0.000000j 0.000213+0.000000j -0.000414+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000715+0.000000j]\n", " [ 0.000079+0.000000j 0.002223+0.000000j -0.068015+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.117061+0.000000j]\n", " [ 0.000116+0.000000j -0.021781+0.000000j 0.071104+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.004564+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.073758+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.073758+0.000000j 0.000000+0.000000j]\n", " [-0.000002+0.000000j 0.034832+0.000000j -0.000251+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.074190+0.000000j]]\n", "\n", " [[ 0.000031+0.000000j 0.000104+0.000000j -0.000952+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000126+0.000000j]\n", " [ 0.000104+0.000000j 0.015338+0.000000j -0.150167+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.004564+0.000000j]\n", " [-0.000070+0.000000j -0.002653+0.000000j -0.009998+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.004087+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.012402+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.012402+0.000000j -0.000000+0.000000j]\n", " [ 0.000126+0.000000j 0.004564+0.000000j 0.030467+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.019433+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.000866+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.147515+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.024803+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000351+0.000000j -0.002096+0.000000j 0.001890+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.003214+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.034553+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000866+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.147515+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.024803+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000351+0.000000j -0.002096+0.000000j 0.001890+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.003214+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.034553+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000003+0.000000j -0.000110+0.000000j 0.000102+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.001060+0.000000j]\n", " [ 0.000021+0.000000j -0.016995+0.000000j -0.000251+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.147081+0.000000j]\n", " [-0.000232+0.000000j 0.004564+0.000000j -0.021364+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.017766+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.017277+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.017277+0.000000j -0.000000+0.000000j]\n", " [-0.000001+0.000000j -0.008743+0.000000j 0.007835+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.003806+0.000000j]]]\n", "\n", "\n", " [[[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.003666+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.006155+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.000351+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000055+0.000000j -0.000362+0.000000j 0.000015+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.000091+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000189+0.000000j 0.000000+0.000000j -0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.006155+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.053634+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.002096+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000362+0.000000j -0.002997+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000011+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000196+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000351+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.002096+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.001890+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000015+0.000000j -0.000001+0.000000j -0.003049+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000001+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.003214+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000028+0.000000j 0.000181+0.000000j -0.000008+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000045+0.000000j]\n", " [ 0.000181+0.000000j 0.001499+0.000000j 0.000001+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.000005+0.000000j]\n", " [-0.000008+0.000000j 0.000001+0.000000j 0.001524+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.001525+0.000000j 0.000000+0.000000j]\n", " [ 0.000045+0.000000j -0.000005+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.001523+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.003049+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.001525+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000189+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000196+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.003214+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000091+0.000000j 0.000011+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.003046+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.006178+0.000000j 0.000000+0.000000j -0.000000+0.000000j]]]\n", "\n", "\n", " [[[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.003666+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.006155+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000351+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000055+0.000000j -0.000362+0.000000j 0.000015+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000091+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000189+0.000000j -0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.006155+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.053634+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.002096+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000362+0.000000j -0.002997+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000011+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000196+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000351+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.002096+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.001890+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000015+0.000000j -0.000001+0.000000j -0.003049+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000001+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.003214+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.001525+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.003049+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000028+0.000000j 0.000181+0.000000j -0.000008+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000045+0.000000j]\n", " [ 0.000181+0.000000j 0.001499+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000005+0.000000j]\n", " [-0.000008+0.000000j 0.000001+0.000000j 0.001524+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.001525+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000045+0.000000j -0.000005+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.001523+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000189+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000196+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.003214+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000091+0.000000j 0.000011+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.003046+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.006178+0.000000j 0.000000+0.000000j]]]\n", "\n", "\n", " [[[-0.000002+0.000000j -0.000012+0.000000j 0.000293+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.002124+0.000000j]\n", " [-0.000011+0.000000j -0.000182+0.000000j 0.000715+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000521+0.000000j]\n", " [ 0.000003+0.000000j -0.000002+0.000000j -0.001159+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000001+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.001240+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.001240+0.000000j -0.000000+0.000000j]\n", " [-0.000014+0.000000j 0.000057+0.000000j -0.000178+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.001319+0.000000j]]\n", "\n", " [[ 0.000021+0.000000j 0.000449+0.000000j -0.003503+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000521+0.000000j]\n", " [-0.000157+0.000000j -0.003746+0.000000j 0.117061+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.224250+0.000000j]\n", " [-0.000288+0.000000j 0.034832+0.000000j 0.015512+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.008743+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.010943+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.010943+0.000000j -0.000000+0.000000j]\n", " [ 0.000057+0.000000j -0.065713+0.000000j 0.000433+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.010120+0.000000j]]\n", "\n", " [[-0.000003+0.000000j 0.000021+0.000000j 0.002338+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000001+0.000000j]\n", " [-0.000110+0.000000j -0.016995+0.000000j -0.017332+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.008743+0.000000j]\n", " [ 0.000102+0.000000j -0.000251+0.000000j 0.013190+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.007835+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.017277+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.017277+0.000000j 0.000000+0.000000j]\n", " [-0.000178+0.000000j 0.000433+0.000000j -0.058711+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.030748+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.002480+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.021885+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.034553+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000189+0.000000j -0.000196+0.000000j -0.003214+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.006178+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.065746+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.002480+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.021885+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.034553+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000189+0.000000j -0.000196+0.000000j -0.003214+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.006178+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.065746+0.000000j -0.000000+0.000000j]]\n", "\n", " [[ 0.000017+0.000000j -0.000163+0.000000j 0.000154+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.002537+0.000000j]\n", " [-0.000163+0.000000j 0.032895+0.000000j 0.000433+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.022724+0.000000j]\n", " [ 0.000154+0.000000j 0.000433+0.000000j 0.039906+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.021083+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.032873+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.032873+0.000000j 0.000000+0.000000j]\n", " [-0.000033+0.000000j -0.000828+0.000000j -0.013471+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.007066+0.000000j]]]]\n", "[[[[-1.999862+0.000000j 0.000260+0.000000j -0.000445+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.001287+0.000000j]\n", " [ 0.000260+0.000000j -0.000733+0.000000j -0.000282+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000012+0.000000j]\n", " [-0.000445+0.000000j -0.000282+0.000000j 0.007548+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000293+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.003666+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.003666+0.000000j 0.000000+0.000000j]\n", " [ 0.001287+0.000000j 0.000012+0.000000j -0.000293+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.002124+0.000000j]]\n", "\n", " [[ 0.000260+0.000000j -3.903401+0.000000j -0.147514+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.021885+0.000000j]\n", " [ 1.951639+0.000000j 0.000042+0.000000j 0.000514+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.001103+0.000000j]\n", " [ 0.073761+0.000000j -0.001095+0.000000j 0.000414+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000715+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.006155+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.006155+0.000000j 0.000000+0.000000j]\n", " [ 0.010927+0.000000j 0.002122+0.000000j 0.003503+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000521+0.000000j]]\n", "\n", " [[-0.000445+0.000000j -0.147514+0.000000j -0.024741+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.034551+0.000000j]\n", " [ 0.073761+0.000000j -0.000079+0.000000j -0.000116+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000002+0.000000j]\n", " [ 0.012371+0.000000j -0.000104+0.000000j 0.000070+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000126+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000351+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000351+0.000000j -0.000000+0.000000j]\n", " [-0.017274+0.000000j -0.000021+0.000000j 0.000232+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000001+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.002994+0.000000j -0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000362+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000015+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.001497+0.000000j -0.000181+0.000000j 0.000008+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000045+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000091+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000000+0.000000j -0.002994+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000362+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000015+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.001497+0.000000j -0.000181+0.000000j 0.000008+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000045+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000091+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.001287+0.000000j -0.021885+0.000000j 0.034551+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j -0.065735+0.000000j]\n", " [ 0.010927+0.000000j 0.000157+0.000000j 0.000288+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000057+0.000000j]\n", " [-0.017274+0.000000j 0.000110+0.000000j -0.000102+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000178+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000189+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000189+0.000000j 0.000000+0.000000j]\n", " [ 0.032857+0.000000j 0.000163+0.000000j -0.000154+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000033+0.000000j]]]\n", "\n", "\n", " [[[ 0.000260+0.000000j 1.951639+0.000000j 0.073761+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.010927+0.000000j]\n", " [-3.903401+0.000000j 0.000042+0.000000j -0.001095+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.002122+0.000000j]\n", " [-0.147514+0.000000j 0.000514+0.000000j 0.000414+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.003503+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.006155+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.006155+0.000000j -0.000000+0.000000j]\n", " [-0.021885+0.000000j -0.001103+0.000000j -0.000715+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000521+0.000000j]]\n", "\n", " [[-0.000733+0.000000j 0.000042+0.000000j -0.000079+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000157+0.000000j]\n", " [ 0.000042+0.000000j -1.948734+0.000000j -0.075980+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.007202+0.000000j]\n", " [-0.000079+0.000000j -0.075980+0.000000j 0.068015+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.117061+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.053634+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.053634+0.000000j -0.000000+0.000000j]\n", " [ 0.000157+0.000000j -0.007202+0.000000j -0.117061+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.224250+0.000000j]]\n", "\n", " [[-0.000282+0.000000j 0.000514+0.000000j -0.000116+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000288+0.000000j]\n", " [-0.001095+0.000000j -0.075980+0.000000j -0.003023+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000278+0.000000j]\n", " [-0.000104+0.000000j -0.002937+0.000000j 0.002653+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.004564+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.002096+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.002096+0.000000j -0.000000+0.000000j]\n", " [ 0.000110+0.000000j -0.000282+0.000000j -0.004564+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.008743+0.000000j]]\n", "\n", " [[-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000362+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000052+0.000000j -0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000001+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000181+0.000000j 0.000026+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000005+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000011+0.000000j -0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000362+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000000+0.000000j -0.000052+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000001+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000181+0.000000j 0.000026+0.000000j -0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000005+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000011+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000012+0.000000j -0.001103+0.000000j 0.000002+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000057+0.000000j]\n", " [ 0.002122+0.000000j -0.007202+0.000000j -0.000278+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000036+0.000000j]\n", " [-0.000021+0.000000j -0.000282+0.000000j 0.000251+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000433+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000196+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000196+0.000000j -0.000000+0.000000j]\n", " [ 0.000163+0.000000j -0.000020+0.000000j -0.000433+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000828+0.000000j]]]\n", "\n", "\n", " [[[-0.000445+0.000000j 0.073761+0.000000j 0.012371+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.017274+0.000000j]\n", " [-0.147514+0.000000j -0.000079+0.000000j -0.000104+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000021+0.000000j]\n", " [-0.024741+0.000000j -0.000116+0.000000j 0.000070+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000232+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000351+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000351+0.000000j 0.000000+0.000000j]\n", " [ 0.034551+0.000000j 0.000002+0.000000j -0.000126+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000001+0.000000j]]\n", "\n", " [[-0.000282+0.000000j -0.001095+0.000000j -0.000104+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000110+0.000000j]\n", " [ 0.000514+0.000000j -0.075980+0.000000j -0.002937+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000282+0.000000j]\n", " [-0.000116+0.000000j -0.003023+0.000000j 0.002653+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.004564+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.002096+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.002096+0.000000j -0.000000+0.000000j]\n", " [ 0.000288+0.000000j -0.000278+0.000000j -0.004564+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.008743+0.000000j]]\n", "\n", " [[ 0.007548+0.000000j 0.000414+0.000000j 0.000070+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000102+0.000000j]\n", " [ 0.000414+0.000000j 0.068015+0.000000j 0.002653+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000251+0.000000j]\n", " [ 0.000070+0.000000j 0.002653+0.000000j -0.002404+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.004087+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.001890+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.001890+0.000000j 0.000000+0.000000j]\n", " [-0.000102+0.000000j 0.000251+0.000000j 0.004087+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.007835+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000015+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000001+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000008+0.000000j -0.000001+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000001+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000015+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000001+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000008+0.000000j -0.000001+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000001+0.000000j -0.000000+0.000000j]]\n", "\n", " [[-0.000293+0.000000j -0.000715+0.000000j -0.000126+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j 0.000178+0.000000j]\n", " [ 0.003503+0.000000j -0.117061+0.000000j -0.004564+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000433+0.000000j]\n", " [ 0.000232+0.000000j -0.004564+0.000000j 0.004087+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.007038+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.003214+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.003214+0.000000j -0.000000+0.000000j]\n", " [-0.000154+0.000000j -0.000433+0.000000j -0.007032+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.013471+0.000000j]]]\n", "\n", "\n", " [[[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.001497+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " -0.000181+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000008+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.002994+0.000000j 0.000362+0.000000j -0.000015+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000091+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000045+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000181+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000026+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " -0.000001+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000362+0.000000j -0.000052+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000011+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000005+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000008+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000001+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000015+0.000000j 0.000001+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000001+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.003666+0.000000j 0.006155+0.000000j 0.000351+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000189+0.000000j]\n", " [ 0.006155+0.000000j 0.053634+0.000000j 0.002096+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000196+0.000000j]\n", " [ 0.000351+0.000000j 0.002096+0.000000j -0.001890+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.003214+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.001525+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.001525+0.000000j 0.000000+0.000000j]\n", " [-0.000189+0.000000j 0.000196+0.000000j 0.003214+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.006178+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000045+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000005+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000091+0.000000j -0.000011+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000003+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000002+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]]\n", "\n", "\n", " [[[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.001497+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000181+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000008+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.002994+0.000000j 0.000362+0.000000j -0.000015+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000091+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000045+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000181+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000026+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000001+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000362+0.000000j -0.000052+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000011+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000005+0.000000j 0.000000+0.000000j]]\n", "\n", " [[-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000008+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000001+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000015+0.000000j 0.000001+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000001+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.003666+0.000000j 0.006155+0.000000j 0.000351+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000189+0.000000j]\n", " [ 0.006155+0.000000j 0.053634+0.000000j 0.002096+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000196+0.000000j]\n", " [ 0.000351+0.000000j 0.002096+0.000000j -0.001890+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.003214+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.001525+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.001525+0.000000j 0.000000+0.000000j]\n", " [-0.000189+0.000000j 0.000196+0.000000j 0.003214+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.006178+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000045+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000005+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000091+0.000000j -0.000011+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000003+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000002+0.000000j 0.000000+0.000000j]]]\n", "\n", "\n", " [[[ 0.001287+0.000000j 0.010927+0.000000j -0.017274+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.032857+0.000000j]\n", " [-0.021885+0.000000j 0.000157+0.000000j 0.000110+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000163+0.000000j]\n", " [ 0.034551+0.000000j 0.000288+0.000000j -0.000102+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j -0.000154+0.000000j]\n", " [-0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000189+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j -0.000189+0.000000j -0.000000+0.000000j]\n", " [-0.065735+0.000000j -0.000057+0.000000j 0.000178+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000033+0.000000j]]\n", "\n", " [[ 0.000012+0.000000j 0.002122+0.000000j -0.000021+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000163+0.000000j]\n", " [-0.001103+0.000000j -0.007202+0.000000j -0.000282+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000020+0.000000j]\n", " [ 0.000002+0.000000j -0.000278+0.000000j 0.000251+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000433+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000196+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000196+0.000000j -0.000000+0.000000j]\n", " [-0.000057+0.000000j -0.000036+0.000000j -0.000433+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.000828+0.000000j]]\n", "\n", " [[-0.000293+0.000000j 0.003503+0.000000j 0.000232+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.000154+0.000000j]\n", " [-0.000715+0.000000j -0.117061+0.000000j -0.004564+0.000000j\n", " -0.000000+0.000000j -0.000000+0.000000j -0.000433+0.000000j]\n", " [-0.000126+0.000000j -0.004564+0.000000j 0.004087+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.007032+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.003214+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.003214+0.000000j -0.000000+0.000000j]\n", " [ 0.000178+0.000000j -0.000433+0.000000j -0.007038+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.013471+0.000000j]]\n", "\n", " [[-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000091+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000011+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000001+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000045+0.000000j 0.000005+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000002+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.000003+0.000000j 0.000000+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000091+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " -0.000000+0.000000j -0.000011+0.000000j -0.000000+0.000000j]\n", " [-0.000000+0.000000j -0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000001+0.000000j -0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [-0.000045+0.000000j 0.000005+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000002+0.000000j]\n", " [ 0.000000+0.000000j -0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.000003+0.000000j 0.000000+0.000000j]]\n", "\n", " [[ 0.002124+0.000000j 0.000521+0.000000j 0.000001+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000033+0.000000j]\n", " [ 0.000521+0.000000j 0.224250+0.000000j 0.008743+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j 0.000828+0.000000j]\n", " [ 0.000001+0.000000j 0.008743+0.000000j -0.007835+0.000000j\n", " 0.000000+0.000000j -0.000000+0.000000j 0.013471+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j 0.000000+0.000000j\n", " -0.006178+0.000000j 0.000000+0.000000j 0.000000+0.000000j]\n", " [ 0.000000+0.000000j 0.000000+0.000000j -0.000000+0.000000j\n", " 0.000000+0.000000j -0.006178+0.000000j 0.000000+0.000000j]\n", " [ 0.000033+0.000000j 0.000828+0.000000j 0.013471+0.000000j\n", " 0.000000+0.000000j 0.000000+0.000000j -0.025808+0.000000j]]]]\n" ] } ], "source": [ "rdm2 = lihwfn.expectationValue('i^ j k l^')\n", "if Print:\n", " print(rdm2)\n", "rdm2 = fqe.expectationValue(lihwfn, 'i^ j^ k l', lihwfn)\n", "if Print:\n", " print(rdm2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2.B.2 Hamiltonian expectations (or any expectation values)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:56.216871Z", "iopub.status.busy": "2025-05-10T09:30:56.215779Z", "iopub.status.idle": "2025-05-10T09:30:56.307263Z", "shell.execute_reply": "2025-05-10T09:30:56.306465Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(-8.87771957038547+0j)\n", "(-8.87771957038547+0j)\n" ] } ], "source": [ "li_h_energy = lihwfn.expectationValue(lih_hamiltonian)\n", "if Print:\n", " print(li_h_energy)\n", "li_h_energy = fqe.expectationValue(lihwfn, lih_hamiltonian, lihwfn)\n", "if Print:\n", " print(li_h_energy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2.B.3 Symmetry operations" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2025-05-10T09:30:56.312452Z", "iopub.status.busy": "2025-05-10T09:30:56.311202Z", "iopub.status.idle": "2025-05-10T09:30:56.322396Z", "shell.execute_reply": "2025-05-10T09:30:56.321621Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(-1.8969111426479763e-23+0j)\n", "0j\n", "(1.0000000000000018+0j)\n", "(4.000000000000007+0j)\n" ] } ], "source": [ "op = fqe.get_s2_operator()\n", "print(lihwfn.expectationValue(op))\n", "op = fqe.get_sz_operator()\n", "print(lihwfn.expectationValue(op))\n", "op = fqe.get_time_reversal_operator()\n", "print(lihwfn.expectationValue(op))\n", "op = fqe.get_number_operator()\n", "print(lihwfn.expectationValue(op))\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.17" } }, "nbformat": 4, "nbformat_minor": 2 }