{ "cells": [ { "cell_type": "code", "execution_count": 12, "source": [ "import ray\r\n", "import matplotlib.pyplot as plt\r\n", "import numpy as np\r\n", "from itertools import chain" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 2, "source": [ "global_random_seed = 3884\r\n", "np.random.seed(global_random_seed)\r\n", "\r\n", "\r\n", "def gene_test_data(num_points: int, low_val=-1, high_val=1) -> list:\r\n", " # return [np.random.uniform(low_val, high_val) for _ in range(num_points)]\r\n", " return np.linspace(-1, 1, num_points)" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 3, "source": [ "ray.init()\r\n", "test_data = gene_test_data(1000)\r\n", "\r\n", "@ray.remote\r\n", "class Predictor:\r\n", " def __init__(self):\r\n", " self.model = self.get_network(1, 1, 40, 15)\r\n", " self.result = []\r\n", "\r\n", " def get_network(self, input_dim, output_dim, width, depth):\r\n", " from tensorflow import keras\r\n", " # Random weight\r\n", " initializer = keras.initializers.RandomUniform(\r\n", " minval=-1., maxval=1., seed=global_random_seed)\r\n", "\r\n", " # trying constant weight\r\n", " # initializer = keras.initializers.Constant(1)\r\n", "\r\n", " # different activation functions\r\n", " activation_func = keras.activations.tanh\r\n", " # activation_func = keras.activations.relu\r\n", " # activation_func = tf.math.sin\r\n", " hidden_layers = [keras.layers.Dense(\r\n", " width, activation=activation_func, kernel_initializer=initializer) for _ in range(depth-1)]\r\n", " hidden_layers.append(keras.layers.Dense(\r\n", " output_dim, kernel_initializer=initializer))\r\n", " model = keras.Sequential(hidden_layers)\r\n", " return model\r\n", "\r\n", " def pred(self, input):\r\n", " for ip in input:\r\n", " self.result.append(self.model.predict([ip]))\r\n", "\r\n", " def get_result(self):\r\n", " return self.result\r\n" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "C:\\Users\\lzl12\\miniconda3\\envs\\tf\\lib\\site-packages\\ray\\_private\\services.py:238: UserWarning: Not all Ray Dashboard dependencies were found. To use the dashboard please install Ray using `pip install ray[default]`. To disable this message, set RAY_DISABLE_IMPORT_WARNING env var to '1'.\n", " warnings.warn(warning_message)\n" ] } ], "metadata": {} }, { "cell_type": "code", "execution_count": 4, "source": [ "actor_num = 2\r\n", "predictors = [Predictor.remote() for _ in range(actor_num)]\r\n", "for i in range(actor_num):\r\n", " data_piece = int((len(test_data)/actor_num))\r\n", " predictors[i].pred.remote(\r\n", " test_data[i*data_piece:(i+1)*data_piece])\r\n", "\r\n", "join_data = [p.get_result.remote() for p in predictors]\r\n", "result = ray.get(join_data)" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "\u001b[2m\u001b[36m(pid=11116)\u001b[0m 2021-09-04 23:05:21.099125: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2\n", "\u001b[2m\u001b[36m(pid=11116)\u001b[0m To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", "\u001b[2m\u001b[36m(pid=15320)\u001b[0m 2021-09-04 23:05:21.099125: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2\n", "\u001b[2m\u001b[36m(pid=15320)\u001b[0m To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", "\u001b[2m\u001b[36m(pid=11116)\u001b[0m 2021-09-04 23:05:21.709513: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 5979 MB memory: -> device: 0, name: NVIDIA GeForce RTX 2070 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5\n", "\u001b[2m\u001b[36m(pid=15320)\u001b[0m 2021-09-04 23:05:21.709140: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 5979 MB memory: -> device: 0, name: NVIDIA GeForce RTX 2070 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5\n", "\u001b[2m\u001b[36m(pid=11116)\u001b[0m 2021-09-04 23:05:22.438270: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)\n", "\u001b[2m\u001b[36m(pid=15320)\u001b[0m 2021-09-04 23:05:23.433687: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)\n" ] } ], "metadata": {} }, { "cell_type": "code", "execution_count": 15, "source": [ "from tensorflow import keras\r\n", "def get_network(input_dim, output_dim, width, depth):\r\n", " # Random weight\r\n", " initializer = keras.initializers.RandomUniform(\r\n", " minval=-1., maxval=1., seed=global_random_seed)\r\n", "\r\n", " # trying constant weight\r\n", " # initializer = keras.initializers.Constant(1)\r\n", "\r\n", " # different activation functions\r\n", " activation_func = keras.activations.tanh\r\n", " # activation_func = keras.activations.relu\r\n", " # activation_func = tf.math.sin\r\n", " hidden_layers = [keras.layers.Dense(\r\n", " width, activation=activation_func, kernel_initializer=initializer) for _ in range(depth-1)]\r\n", " hidden_layers.append(keras.layers.Dense(\r\n", " output_dim, kernel_initializer=initializer))\r\n", " model = keras.Sequential(hidden_layers)\r\n", " return model\r\n", "\r\n", "\r\n", "model = get_network(1, 1, 40, 15)\r\n", "result = list(map(lambda x: model.predict([x]), test_data))" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": 16, "source": [ "result2 = list(chain.from_iterable(result))\r\n", "fft_result = np.fft.fft(result2)\r\n", "print(fft_result)\r\n", "plt.figure()\r\n", "# plt.plot(range(len(fft_test)), fft_test)\r\n", "# # plt.scatter(range(len(test_data)), test_data, s=1)\r\n", "plt.scatter(range(len(result2)), np.real(fft_result), s=2)\r\n", "plt.title(\"FFT Result\")\r\n", "plt.show()" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[[-3.68843406e-01+0.j]\n", " [-3.67571235e-01+0.j]\n", " [-3.67215693e-01+0.j]\n", " [-3.67535055e-01+0.j]\n", " [-3.68313968e-01+0.j]\n", " [-3.69407713e-01+0.j]\n", " [-3.70649815e-01+0.j]\n", " [-3.71968508e-01+0.j]\n", " [-3.73255730e-01+0.j]\n", " [-3.74482036e-01+0.j]\n", " [-3.75605762e-01+0.j]\n", " [-3.76618922e-01+0.j]\n", " [-3.77517194e-01+0.j]\n", " [-3.78328860e-01+0.j]\n", " [-3.79095137e-01+0.j]\n", " [-3.79860401e-01+0.j]\n", " [-3.80655944e-01+0.j]\n", " [-3.81595492e-01+0.j]\n", " [-3.82709563e-01+0.j]\n", " [-3.84105265e-01+0.j]\n", " [-3.85876834e-01+0.j]\n", " [-3.88101786e-01+0.j]\n", " [-3.90900701e-01+0.j]\n", " [-3.94357443e-01+0.j]\n", " [-3.98615301e-01+0.j]\n", " [-4.03736413e-01+0.j]\n", " [-4.09870416e-01+0.j]\n", " [-4.17099863e-01+0.j]\n", " [-4.25542116e-01+0.j]\n", " [-4.35243785e-01+0.j]\n", " [-4.46328819e-01+0.j]\n", " [-4.58831757e-01+0.j]\n", " [-4.72761631e-01+0.j]\n", " [-4.88178462e-01+0.j]\n", " [-5.05049109e-01+0.j]\n", " [-5.23327112e-01+0.j]\n", " [-5.42898059e-01+0.j]\n", " [-5.63682675e-01+0.j]\n", " [-5.85515022e-01+0.j]\n", " [-6.08198404e-01+0.j]\n", " [-6.31506920e-01+0.j]\n", " [-6.55224085e-01+0.j]\n", " [-6.79092288e-01+0.j]\n", " [-7.02875257e-01+0.j]\n", " [-7.26354778e-01+0.j]\n", " [-7.49364853e-01+0.j]\n", " [-7.71761119e-01+0.j]\n", " [-7.93523192e-01+0.j]\n", " [-8.14646721e-01+0.j]\n", " [-8.35249603e-01+0.j]\n", " [-8.55484366e-01+0.j]\n", " [-8.75579476e-01+0.j]\n", " [-8.95762026e-01+0.j]\n", " [-9.16239858e-01+0.j]\n", " [-9.37170446e-01+0.j]\n", " [-9.58665669e-01+0.j]\n", " [-9.80731547e-01+0.j]\n", " [-1.00335443e+00+0.j]\n", " [-1.02637756e+00+0.j]\n", " [-1.04967153e+00+0.j]\n", " [-1.07303262e+00+0.j]\n", " [-1.09632063e+00+0.j]\n", " [-1.11935580e+00+0.j]\n", " [-1.14210546e+00+0.j]\n", " [-1.16444540e+00+0.j]\n", " [-1.18645930e+00+0.j]\n", " [-1.20819759e+00+0.j]\n", " [-1.22979593e+00+0.j]\n", " [-1.25144589e+00+0.j]\n", " [-1.27324581e+00+0.j]\n", " [-1.29527426e+00+0.j]\n", " [-1.31729901e+00+0.j]\n", " [-1.33841324e+00+0.j]\n", " [-1.35595608e+00+0.j]\n", " [-1.36371028e+00+0.j]\n", " [-1.34876788e+00+0.j]\n", " [-1.28901339e+00+0.j]\n", " [-1.15467215e+00+0.j]\n", " [-9.15939331e-01+0.j]\n", " [-5.59696138e-01+0.j]\n", " [-1.19108766e-01+0.j]\n", " [ 3.08561951e-01+0.j]\n", " [ 6.25266433e-01+0.j]\n", " [ 8.09054613e-01+0.j]\n", " [ 8.61660600e-01+0.j]\n", " [ 7.24947751e-01+0.j]\n", " [ 3.68759960e-01+0.j]\n", " [-6.58010095e-02+0.j]\n", " [-5.02939939e-01+0.j]\n", " [-9.72608447e-01+0.j]\n", " [-1.48778892e+00+0.j]\n", " [-2.06704426e+00+0.j]\n", " [-2.72745585e+00+0.j]\n", " [-3.35927320e+00+0.j]\n", " [-3.79794264e+00+0.j]\n", " [-4.06165600e+00+0.j]\n", " [-4.24036741e+00+0.j]\n", " [-4.39036226e+00+0.j]\n", " [-4.53850126e+00+0.j]\n", " [-4.69903803e+00+0.j]\n", " [-4.88473749e+00+0.j]\n", " [-5.12033081e+00+0.j]\n", " [-5.45102215e+00+0.j]\n", " [-5.94176626e+00+0.j]\n", " [-6.58864689e+00+0.j]\n", " [-7.11762047e+00+0.j]\n", " [-7.28039646e+00+0.j]\n", " [-7.07358980e+00+0.j]\n", " [-6.61224937e+00+0.j]\n", " [-6.08855724e+00+0.j]\n", " [-5.62773705e+00+0.j]\n", " [-5.28179455e+00+0.j]\n", " [-5.04626226e+00+0.j]\n", " [-4.89535332e+00+0.j]\n", " [-4.80479908e+00+0.j]\n", " [-4.75679111e+00+0.j]\n", " [-4.73749018e+00+0.j]\n", " [-4.73592806e+00+0.j]\n", " [-4.74386835e+00+0.j]\n", " [-4.75540781e+00+0.j]\n", " [-4.76652431e+00+0.j]\n", " [-4.77474785e+00+0.j]\n", " [-4.77883053e+00+0.j]\n", " [-4.77856684e+00+0.j]\n", " [-4.77463293e+00+0.j]\n", " [-4.76863003e+00+0.j]\n", " [-4.76314640e+00+0.j]\n", " [-4.76194525e+00+0.j]\n", " [-4.76996946e+00+0.j]\n", " [-4.79315186e+00+0.j]\n", " [-4.83631802e+00+0.j]\n", " [-4.89800119e+00+0.j]\n", " [-4.96422911e+00+0.j]\n", " [-5.01522493e+00+0.j]\n", " [-5.07232618e+00+0.j]\n", " [-5.25387478e+00+0.j]\n", " [-5.72003317e+00+0.j]\n", " [-6.47624254e+00+0.j]\n", " [-7.35268688e+00+0.j]\n", " [-8.15285492e+00+0.j]\n", " [-8.55309010e+00+0.j]\n", " [-8.32240200e+00+0.j]\n", " [-7.75023651e+00+0.j]\n", " [-7.44650078e+00+0.j]\n", " [-7.55978775e+00+0.j]\n", " [-7.50883055e+00+0.j]\n", " [-7.03294563e+00+0.j]\n", " [-6.57724333e+00+0.j]\n", " [-6.13811398e+00+0.j]\n", " [-5.68038130e+00+0.j]\n", " [-5.21597433e+00+0.j]\n", " [-4.78324509e+00+0.j]\n", " [-4.41056204e+00+0.j]\n", " [-4.08844662e+00+0.j]\n", " [-3.78194118e+00+0.j]\n", " [-3.46012616e+00+0.j]\n", " [-3.12975311e+00+0.j]\n", " [-2.86687183e+00+0.j]\n", " [-2.78603125e+00+0.j]\n", " [-2.92934155e+00+0.j]\n", " [-3.15268183e+00+0.j]\n", " [-3.30630326e+00+0.j]\n", " [-3.38125038e+00+0.j]\n", " [-3.39163184e+00+0.j]\n", " [-3.36210108e+00+0.j]\n", " [-3.31498384e+00+0.j]\n", " [-3.25367045e+00+0.j]\n", " [-3.16387987e+00+0.j]\n", " [-3.02257657e+00+0.j]\n", " [-2.80700517e+00+0.j]\n", " [-2.51153374e+00+0.j]\n", " [-2.15927434e+00+0.j]\n", " [-1.79165196e+00+0.j]\n", " [-1.43979454e+00+0.j]\n", " [-1.12194383e+00+0.j]\n", " [-8.64105344e-01+0.j]\n", " [-6.92668140e-01+0.j]\n", " [-6.05276704e-01+0.j]\n", " [-5.69591284e-01+0.j]\n", " [-5.47231257e-01+0.j]\n", " [-5.10823429e-01+0.j]\n", " [-4.42182243e-01+0.j]\n", " [-3.27109933e-01+0.j]\n", " [-1.62126765e-01+0.j]\n", " [ 4.11902666e-02+0.j]\n", " [ 2.62670219e-01+0.j]\n", " [ 4.85968709e-01+0.j]\n", " [ 7.05497980e-01+0.j]\n", " [ 9.21169460e-01+0.j]\n", " [ 1.13511395e+00+0.j]\n", " [ 1.34825277e+00+0.j]\n", " [ 1.55797446e+00+0.j]\n", " [ 1.76015389e+00+0.j]\n", " [ 1.94895542e+00+0.j]\n", " [ 2.11903787e+00+0.j]\n", " [ 2.26655579e+00+0.j]\n", " [ 2.38926125e+00+0.j]\n", " [ 2.48692751e+00+0.j]\n", " [ 2.55979514e+00+0.j]\n", " [ 2.60875130e+00+0.j]\n", " [ 2.63434196e+00+0.j]\n", " [ 2.63625288e+00+0.j]\n", " [ 2.61395121e+00+0.j]\n", " [ 2.56611824e+00+0.j]\n", " [ 2.49082375e+00+0.j]\n", " [ 2.38658190e+00+0.j]\n", " [ 2.25143123e+00+0.j]\n", " [ 2.08485413e+00+0.j]\n", " [ 1.88673067e+00+0.j]\n", " [ 1.66139197e+00+0.j]\n", " [ 1.41553497e+00+0.j]\n", " [ 1.15763950e+00+0.j]\n", " [ 8.98949027e-01+0.j]\n", " [ 6.48708463e-01+0.j]\n", " [ 4.14117187e-01+0.j]\n", " [ 1.97987199e-01+0.j]\n", " [ 1.70505047e-03+0.j]\n", " [-1.77252367e-01+0.j]\n", " [-3.41459811e-01+0.j]\n", " [-4.93312299e-01+0.j]\n", " [-6.35695338e-01+0.j]\n", " [-7.73001254e-01+0.j]\n", " [-9.11150038e-01+0.j]\n", " [-1.05634427e+00+0.j]\n", " [-1.21124148e+00+0.j]\n", " [-1.37308669e+00+0.j]\n", " [-1.53472197e+00+0.j]\n", " [-1.69260192e+00+0.j]\n", " [-1.85263193e+00+0.j]\n", " [-2.02879238e+00+0.j]\n", " [-2.23324633e+00+0.j]\n", " [-2.46764302e+00+0.j]\n", " [-2.72110534e+00+0.j]\n", " [-2.97733545e+00+0.j]\n", " [-3.22160625e+00+0.j]\n", " [-3.44500303e+00+0.j]\n", " [-3.64602709e+00+0.j]\n", " [-3.82916403e+00+0.j]\n", " [-4.00179434e+00+0.j]\n", " [-4.16995335e+00+0.j]\n", " [-4.33204746e+00+0.j]\n", " [-4.47609568e+00+0.j]\n", " [-4.58696985e+00+0.j]\n", " [-4.65423679e+00+0.j]\n", " [-4.67242289e+00+0.j]\n", " [-4.63159752e+00+0.j]\n", " [-4.51311445e+00+0.j]\n", " [-4.30435562e+00+0.j]\n", " [-4.00994587e+00+0.j]\n", " [-3.64530969e+00+0.j]\n", " [-3.26616120e+00+0.j]\n", " [-3.02016997e+00+0.j]\n", " [-3.01130366e+00+0.j]\n", " [-3.10531521e+00+0.j]\n", " [-3.26456642e+00+0.j]\n", " [-3.37083387e+00+0.j]\n", " [-3.36670518e+00+0.j]\n", " [-3.25003695e+00+0.j]\n", " [-3.04793096e+00+0.j]\n", " [-2.84731555e+00+0.j]\n", " [-2.77990675e+00+0.j]\n", " [-2.90899563e+00+0.j]\n", " [-3.13624573e+00+0.j]\n", " [-3.27391338e+00+0.j]\n", " [-3.16233206e+00+0.j]\n", " [-2.73371482e+00+0.j]\n", " [-2.18882275e+00+0.j]\n", " [-1.80545568e+00+0.j]\n", " [-1.58190227e+00+0.j]\n", " [-1.42463195e+00+0.j]\n", " [-1.28638029e+00+0.j]\n", " [-1.15103757e+00+0.j]\n", " [-1.00332212e+00+0.j]\n", " [-8.06789398e-01+0.j]\n", " [-5.09302497e-01+0.j]\n", " [-1.75789982e-01+0.j]\n", " [-4.72913384e-02+0.j]\n", " [-1.50555611e-01+0.j]\n", " [-2.59944141e-01+0.j]\n", " [-2.57438242e-01+0.j]\n", " [-2.51962513e-01+0.j]\n", " [-1.92499101e-01+0.j]\n", " [ 2.32785463e-01+0.j]\n", " [ 6.93980217e-01+0.j]\n", " [ 1.10522759e+00+0.j]\n", " [ 1.33459485e+00+0.j]\n", " [ 1.33412731e+00+0.j]\n", " [ 1.22707999e+00+0.j]\n", " [ 1.04662240e+00+0.j]\n", " [ 7.47096062e-01+0.j]\n", " [ 2.42530957e-01+0.j]\n", " [-5.32144547e-01+0.j]\n", " [-1.49703860e+00+0.j]\n", " [-2.32913160e+00+0.j]\n", " [-2.66919827e+00+0.j]\n", " [-2.74321795e+00+0.j]\n", " [-3.11375070e+00+0.j]\n", " [-3.92455506e+00+0.j]\n", " [-4.54007673e+00+0.j]\n", " [-4.25394154e+00+0.j]\n", " [-3.73635817e+00+0.j]\n", " [-3.50356269e+00+0.j]\n", " [-3.54753852e+00+0.j]\n", " [-3.76472545e+00+0.j]\n", " [-3.78094578e+00+0.j]\n", " [-3.75070000e+00+0.j]\n", " [-3.75666189e+00+0.j]\n", " [-3.79901910e+00+0.j]\n", " [-3.85407472e+00+0.j]\n", " [-3.89949322e+00+0.j]\n", " [-3.91746092e+00+0.j]\n", " [-3.89511585e+00+0.j]\n", " [-3.82969451e+00+0.j]\n", " [-3.73147941e+00+0.j]\n", " [-3.61456609e+00+0.j]\n", " [-3.47735786e+00+0.j]\n", " [-3.28551912e+00+0.j]\n", " [-2.97274756e+00+0.j]\n", " [-2.49332666e+00+0.j]\n", " [-1.93158638e+00+0.j]\n", " [-1.50249100e+00+0.j]\n", " [-1.34146857e+00+0.j]\n", " [-1.39550257e+00+0.j]\n", " [-1.54379892e+00+0.j]\n", " [-1.69508052e+00+0.j]\n", " [-1.82115388e+00+0.j]\n", " [-1.94326150e+00+0.j]\n", " [-2.08828855e+00+0.j]\n", " [-2.25911665e+00+0.j]\n", " [-2.39418006e+00+0.j]\n", " [-2.34782434e+00+0.j]\n", " [-2.14201164e+00+0.j]\n", " [-1.93835950e+00+0.j]\n", " [-1.78641641e+00+0.j]\n", " [-1.66849113e+00+0.j]\n", " [-1.57046485e+00+0.j]\n", " [-1.48845303e+00+0.j]\n", " [-1.42300951e+00+0.j]\n", " [-1.37581158e+00+0.j]\n", " [-1.34902072e+00+0.j]\n", " [-1.34513199e+00+0.j]\n", " [-1.36666381e+00+0.j]\n", " [-1.41566432e+00+0.j]\n", " [-1.49302506e+00+0.j]\n", " [-1.59780443e+00+0.j]\n", " [-1.72692323e+00+0.j]\n", " [-1.87538815e+00+0.j]\n", " [-2.03651285e+00+0.j]\n", " [-2.20321870e+00+0.j]\n", " [-2.36844087e+00+0.j]\n", " [-2.52622223e+00+0.j]\n", " [-2.67226624e+00+0.j]\n", " [-2.80419445e+00+0.j]\n", " [-2.92116380e+00+0.j]\n", " [-3.02375007e+00+0.j]\n", " [-3.11349916e+00+0.j]\n", " [-3.19238162e+00+0.j]\n", " [-3.26243138e+00+0.j]\n", " [-3.32573795e+00+0.j]\n", " [-3.38405108e+00+0.j]\n", " [-3.43888378e+00+0.j]\n", " [-3.49135566e+00+0.j]\n", " [-3.54231119e+00+0.j]\n", " [-3.59222579e+00+0.j]\n", " [-3.64122939e+00+0.j]\n", " [-3.68914342e+00+0.j]\n", " [-3.73558044e+00+0.j]\n", " [-3.77999115e+00+0.j]\n", " [-3.82180238e+00+0.j]\n", " [-3.86070848e+00+0.j]\n", " [-3.89654827e+00+0.j]\n", " [-3.92948985e+00+0.j]\n", " [-3.95997429e+00+0.j]\n", " [-3.98854971e+00+0.j]\n", " [-4.01587725e+00+0.j]\n", " [-4.04242277e+00+0.j]\n", " [-4.06841516e+00+0.j]\n", " [-4.09370708e+00+0.j]\n", " [-4.11767244e+00+0.j]\n", " [-4.13928175e+00+0.j]\n", " [-4.15705347e+00+0.j]\n", " [-4.16920805e+00+0.j]\n", " [-4.17364359e+00+0.j]\n", " [-4.16805124e+00+0.j]\n", " [-4.14993906e+00+0.j]\n", " [-4.11667109e+00+0.j]\n", " [-4.06559277e+00+0.j]\n", " [-3.99412823e+00+0.j]\n", " [-3.89988184e+00+0.j]\n", " [-3.78070784e+00+0.j]\n", " [-3.63446426e+00+0.j]\n", " [-3.45888662e+00+0.j]\n", " [-3.25207758e+00+0.j]\n", " [-3.01399136e+00+0.j]\n", " [-2.74903870e+00+0.j]\n", " [-2.46882153e+00+0.j]\n", " [-2.19199920e+00+0.j]\n", " [-1.94174385e+00+0.j]\n", " [-1.74173951e+00+0.j]\n", " [-1.61279523e+00+0.j]\n", " [-1.56851077e+00+0.j]\n", " [-1.60460377e+00+0.j]\n", " [-1.68595767e+00+0.j]\n", " [-1.75760055e+00+0.j]\n", " [-1.78056526e+00+0.j]\n", " [-1.74614537e+00+0.j]\n", " [-1.66481674e+00+0.j]\n", " [-1.55778873e+00+0.j]\n", " [-1.45108724e+00+0.j]\n", " [-1.36561441e+00+0.j]\n", " [-1.31070161e+00+0.j]\n", " [-1.28569889e+00+0.j]\n", " [-1.28438306e+00+0.j]\n", " [-1.29860747e+00+0.j]\n", " [-1.32079291e+00+0.j]\n", " [-1.34539795e+00+0.j]\n", " [-1.36920738e+00+0.j]\n", " [-1.39100480e+00+0.j]\n", " [-1.41082621e+00+0.j]\n", " [-1.42942166e+00+0.j]\n", " [-1.44784665e+00+0.j]\n", " [-1.46728897e+00+0.j]\n", " [-1.48895621e+00+0.j]\n", " [-1.51406074e+00+0.j]\n", " [-1.54381275e+00+0.j]\n", " [-1.57935667e+00+0.j]\n", " [-1.62161696e+00+0.j]\n", " [-1.67095423e+00+0.j]\n", " [-1.72661579e+00+0.j]\n", " [-1.78596890e+00+0.j]\n", " [-1.84393585e+00+0.j]\n", " [-1.89440560e+00+0.j]\n", " [-1.93503797e+00+0.j]\n", " [-1.97101045e+00+0.j]\n", " [-2.01550984e+00+0.j]\n", " [-2.09743786e+00+0.j]\n", " [-2.24730539e+00+0.j]\n", " [-2.41695929e+00+0.j]\n", " [-2.50145173e+00+0.j]\n", " [-2.52137852e+00+0.j]\n", " [-2.51650095e+00+0.j]\n", " [-2.43398595e+00+0.j]\n", " [-2.10480881e+00+0.j]\n", " [-1.13131487e+00+0.j]\n", " [-2.64914900e-01+0.j]\n", " [-2.69986838e-01+0.j]\n", " [-1.14987862e+00+0.j]\n", " [-2.96250963e+00+0.j]\n", " [-3.71296525e+00+0.j]\n", " [-5.50671864e+00+0.j]\n", " [-3.81527257e+00+0.j]\n", " [-3.75765848e+00+0.j]\n", " [-2.00597644e+00+0.j]\n", " [-1.44833183e+00+0.j]\n", " [-1.56277001e+00+0.j]\n", " [-1.83851540e+00+0.j]\n", " [-2.45959473e+00+0.j]\n", " [-2.70424199e+00+0.j]\n", " [-3.21301699e+00+0.j]\n", " [-3.58605099e+00+0.j]\n", " [-3.95081282e+00+0.j]\n", " [-4.05938625e+00+0.j]\n", " [-3.75923800e+00+0.j]\n", " [-3.24865651e+00+0.j]\n", " [-2.97768044e+00+0.j]\n", " [-3.11593080e+00+0.j]\n", " [-3.58894706e+00+0.j]\n", " [-3.94799328e+00+0.j]\n", " [-3.95222569e+00+0.j]\n", " [-3.89127636e+00+0.j]\n", " [-3.64354968e+00+0.j]\n", " [-7.60439444e+00+0.j]\n", " [-6.60079050e+00+0.j]\n", " [-7.28571749e+00+0.j]\n", " [-6.82833529e+00+0.j]\n", " [-5.07973623e+00+0.j]\n", " [-4.60832691e+00+0.j]\n", " [-3.54462671e+00+0.j]\n", " [-3.23114038e+00+0.j]\n", " [-4.31903839e+00+0.j]\n", " [-5.60481119e+00+0.j]\n", " [-5.26443815e+00+0.j]\n", " [-4.81074858e+00+0.j]\n", " [-5.44915199e+00+0.j]\n", " [-7.82553911e+00+0.j]\n", " [-8.87035942e+00+0.j]\n", " [-6.76853561e+00+0.j]\n", " [-4.81653929e+00+0.j]\n", " [-5.03583670e+00+0.j]\n", " [-4.94893360e+00+0.j]\n", " [-6.04101038e+00+0.j]\n", " [-5.48278809e+00+0.j]\n", " [-1.20577097e+00+0.j]\n", " [-3.43606681e-01+0.j]\n", " [-5.36508083e-01+0.j]\n", " [-5.88653684e-01+0.j]\n", " [-3.63473082e+00+0.j]\n", " [-2.56081963e+00+0.j]\n", " [-2.90304923e+00+0.j]\n", " [-2.95644307e+00+0.j]\n", " [ 2.95644307e+00+0.j]\n", " [ 2.90304923e+00+0.j]\n", " [ 2.56081963e+00+0.j]\n", " [ 3.63473082e+00+0.j]\n", " [ 5.88653684e-01+0.j]\n", " [ 5.36508083e-01+0.j]\n", " [ 3.43606681e-01+0.j]\n", " [ 1.20577097e+00+0.j]\n", " [ 5.48278809e+00+0.j]\n", " [ 6.04101038e+00+0.j]\n", " [ 4.94893360e+00+0.j]\n", " [ 5.03583670e+00+0.j]\n", " [ 4.81653929e+00+0.j]\n", " [ 6.76853561e+00+0.j]\n", " [ 8.87035942e+00+0.j]\n", " [ 7.82553911e+00+0.j]\n", " [ 5.44915199e+00+0.j]\n", " [ 4.81074858e+00+0.j]\n", " [ 5.26443815e+00+0.j]\n", " [ 5.60481119e+00+0.j]\n", " [ 4.31903839e+00+0.j]\n", " [ 3.23114038e+00+0.j]\n", " [ 3.54462671e+00+0.j]\n", " [ 4.60832691e+00+0.j]\n", " [ 5.07973623e+00+0.j]\n", " [ 6.82833529e+00+0.j]\n", " [ 7.28571749e+00+0.j]\n", " [ 6.60079050e+00+0.j]\n", " [ 7.60439444e+00+0.j]\n", " [ 3.64354968e+00+0.j]\n", " [ 3.89127636e+00+0.j]\n", " [ 3.95222569e+00+0.j]\n", " [ 3.94799328e+00+0.j]\n", " [ 3.58894706e+00+0.j]\n", " [ 3.11593080e+00+0.j]\n", " [ 2.97768044e+00+0.j]\n", " [ 3.24865651e+00+0.j]\n", " [ 3.75923800e+00+0.j]\n", " [ 4.05938625e+00+0.j]\n", " [ 3.95081282e+00+0.j]\n", " [ 3.58605099e+00+0.j]\n", " [ 3.21301699e+00+0.j]\n", " [ 2.70424199e+00+0.j]\n", " [ 2.45959473e+00+0.j]\n", " [ 1.83851540e+00+0.j]\n", " [ 1.56277001e+00+0.j]\n", " [ 1.44833183e+00+0.j]\n", " [ 2.00597644e+00+0.j]\n", " [ 3.75765848e+00+0.j]\n", " [ 3.81527257e+00+0.j]\n", " [ 5.50671864e+00+0.j]\n", " [ 3.71296525e+00+0.j]\n", " [ 2.96250963e+00+0.j]\n", " [ 1.14987862e+00+0.j]\n", " [ 2.69986838e-01+0.j]\n", " [ 2.64914900e-01+0.j]\n", " [ 1.13131487e+00+0.j]\n", " [ 2.10480881e+00+0.j]\n", " [ 2.43398595e+00+0.j]\n", " [ 2.51650095e+00+0.j]\n", " [ 2.52137852e+00+0.j]\n", " [ 2.50145173e+00+0.j]\n", " [ 2.41695929e+00+0.j]\n", " [ 2.24730539e+00+0.j]\n", " [ 2.09743786e+00+0.j]\n", " [ 2.01550984e+00+0.j]\n", " [ 1.97101045e+00+0.j]\n", " [ 1.93503797e+00+0.j]\n", " [ 1.89440560e+00+0.j]\n", " [ 1.84393585e+00+0.j]\n", " [ 1.78596890e+00+0.j]\n", " [ 1.72661579e+00+0.j]\n", " [ 1.67095423e+00+0.j]\n", " [ 1.62161696e+00+0.j]\n", " [ 1.57935667e+00+0.j]\n", " [ 1.54381275e+00+0.j]\n", " [ 1.51406074e+00+0.j]\n", " [ 1.48895621e+00+0.j]\n", " [ 1.46728897e+00+0.j]\n", " [ 1.44784665e+00+0.j]\n", " [ 1.42942166e+00+0.j]\n", " [ 1.41082621e+00+0.j]\n", " [ 1.39100480e+00+0.j]\n", " [ 1.36920738e+00+0.j]\n", " [ 1.34539795e+00+0.j]\n", " [ 1.32079291e+00+0.j]\n", " [ 1.29860747e+00+0.j]\n", " [ 1.28438306e+00+0.j]\n", " [ 1.28569889e+00+0.j]\n", " [ 1.31070161e+00+0.j]\n", " [ 1.36561441e+00+0.j]\n", " [ 1.45108724e+00+0.j]\n", " [ 1.55778873e+00+0.j]\n", " [ 1.66481674e+00+0.j]\n", " [ 1.74614537e+00+0.j]\n", " [ 1.78056526e+00+0.j]\n", " [ 1.75760055e+00+0.j]\n", " [ 1.68595767e+00+0.j]\n", " [ 1.60460377e+00+0.j]\n", " [ 1.56851077e+00+0.j]\n", " [ 1.61279523e+00+0.j]\n", " [ 1.74173951e+00+0.j]\n", " [ 1.94174385e+00+0.j]\n", " [ 2.19199920e+00+0.j]\n", " [ 2.46882153e+00+0.j]\n", " [ 2.74903870e+00+0.j]\n", " [ 3.01399136e+00+0.j]\n", " [ 3.25207758e+00+0.j]\n", " [ 3.45888662e+00+0.j]\n", " [ 3.63446426e+00+0.j]\n", " [ 3.78070784e+00+0.j]\n", " [ 3.89988184e+00+0.j]\n", " [ 3.99412823e+00+0.j]\n", " [ 4.06559277e+00+0.j]\n", " [ 4.11667109e+00+0.j]\n", " [ 4.14993906e+00+0.j]\n", " [ 4.16805124e+00+0.j]\n", " [ 4.17364359e+00+0.j]\n", " [ 4.16920805e+00+0.j]\n", " [ 4.15705347e+00+0.j]\n", " [ 4.13928175e+00+0.j]\n", " [ 4.11767244e+00+0.j]\n", " [ 4.09370708e+00+0.j]\n", " [ 4.06841516e+00+0.j]\n", " [ 4.04242277e+00+0.j]\n", " [ 4.01587725e+00+0.j]\n", " [ 3.98854971e+00+0.j]\n", " [ 3.95997429e+00+0.j]\n", " [ 3.92948985e+00+0.j]\n", " [ 3.89654827e+00+0.j]\n", " [ 3.86070848e+00+0.j]\n", " [ 3.82180238e+00+0.j]\n", " [ 3.77999115e+00+0.j]\n", " [ 3.73558044e+00+0.j]\n", " [ 3.68914342e+00+0.j]\n", " [ 3.64122939e+00+0.j]\n", " [ 3.59222579e+00+0.j]\n", " [ 3.54231119e+00+0.j]\n", " [ 3.49135566e+00+0.j]\n", " [ 3.43888378e+00+0.j]\n", " [ 3.38405108e+00+0.j]\n", " [ 3.32573795e+00+0.j]\n", " [ 3.26243138e+00+0.j]\n", " [ 3.19238162e+00+0.j]\n", " [ 3.11349916e+00+0.j]\n", " [ 3.02375007e+00+0.j]\n", " [ 2.92116380e+00+0.j]\n", " [ 2.80419445e+00+0.j]\n", " [ 2.67226624e+00+0.j]\n", " [ 2.52622223e+00+0.j]\n", " [ 2.36844087e+00+0.j]\n", " [ 2.20321870e+00+0.j]\n", " [ 2.03651285e+00+0.j]\n", " [ 1.87538815e+00+0.j]\n", " [ 1.72692323e+00+0.j]\n", " [ 1.59780443e+00+0.j]\n", " [ 1.49302506e+00+0.j]\n", " [ 1.41566432e+00+0.j]\n", " [ 1.36666381e+00+0.j]\n", " [ 1.34513199e+00+0.j]\n", " [ 1.34902072e+00+0.j]\n", " [ 1.37581158e+00+0.j]\n", " [ 1.42300951e+00+0.j]\n", " [ 1.48845303e+00+0.j]\n", " [ 1.57046485e+00+0.j]\n", " [ 1.66849113e+00+0.j]\n", " [ 1.78641641e+00+0.j]\n", " [ 1.93835950e+00+0.j]\n", " [ 2.14201164e+00+0.j]\n", " [ 2.34782434e+00+0.j]\n", " [ 2.39418006e+00+0.j]\n", " [ 2.25911665e+00+0.j]\n", " [ 2.08828855e+00+0.j]\n", " [ 1.94326150e+00+0.j]\n", " [ 1.82115388e+00+0.j]\n", " [ 1.69508052e+00+0.j]\n", " [ 1.54379892e+00+0.j]\n", " [ 1.39550257e+00+0.j]\n", " [ 1.34146857e+00+0.j]\n", " [ 1.50249100e+00+0.j]\n", " [ 1.93158638e+00+0.j]\n", " [ 2.49332666e+00+0.j]\n", " [ 2.97274756e+00+0.j]\n", " [ 3.28551912e+00+0.j]\n", " [ 3.47735786e+00+0.j]\n", " [ 3.61456609e+00+0.j]\n", " [ 3.73147941e+00+0.j]\n", " [ 3.82969451e+00+0.j]\n", " [ 3.89511585e+00+0.j]\n", " [ 3.91746092e+00+0.j]\n", " [ 3.89949322e+00+0.j]\n", " [ 3.85407472e+00+0.j]\n", " [ 3.79901910e+00+0.j]\n", " [ 3.75666189e+00+0.j]\n", " [ 3.75070000e+00+0.j]\n", " [ 3.78094578e+00+0.j]\n", " [ 3.76472545e+00+0.j]\n", " [ 3.54753852e+00+0.j]\n", " [ 3.50356269e+00+0.j]\n", " [ 3.73635817e+00+0.j]\n", " [ 4.25394154e+00+0.j]\n", " [ 4.54007673e+00+0.j]\n", " [ 3.92455506e+00+0.j]\n", " [ 3.11375070e+00+0.j]\n", " [ 2.74321795e+00+0.j]\n", " [ 2.66919827e+00+0.j]\n", " [ 2.32913160e+00+0.j]\n", " [ 1.49703860e+00+0.j]\n", " [ 5.32144547e-01+0.j]\n", " [-2.42530957e-01+0.j]\n", " [-7.47096062e-01+0.j]\n", " [-1.04662240e+00+0.j]\n", " [-1.22707999e+00+0.j]\n", " [-1.33412731e+00+0.j]\n", " [-1.33459485e+00+0.j]\n", " [-1.10522759e+00+0.j]\n", " [-6.93980217e-01+0.j]\n", " [-2.32785463e-01+0.j]\n", " [ 1.92499101e-01+0.j]\n", " [ 2.51962513e-01+0.j]\n", " [ 2.57438242e-01+0.j]\n", " [ 2.59944141e-01+0.j]\n", " [ 1.50555611e-01+0.j]\n", " [ 4.72913384e-02+0.j]\n", " [ 1.75789982e-01+0.j]\n", " [ 5.09302497e-01+0.j]\n", " [ 8.06789398e-01+0.j]\n", " [ 1.00332212e+00+0.j]\n", " [ 1.15103757e+00+0.j]\n", " [ 1.28638029e+00+0.j]\n", " [ 1.42463195e+00+0.j]\n", " [ 1.58190227e+00+0.j]\n", " [ 1.80545568e+00+0.j]\n", " [ 2.18882275e+00+0.j]\n", " [ 2.73371482e+00+0.j]\n", " [ 3.16233206e+00+0.j]\n", " [ 3.27391338e+00+0.j]\n", " [ 3.13624573e+00+0.j]\n", " [ 2.90899563e+00+0.j]\n", " [ 2.77990675e+00+0.j]\n", " [ 2.84731555e+00+0.j]\n", " [ 3.04793096e+00+0.j]\n", " [ 3.25003695e+00+0.j]\n", " [ 3.36670518e+00+0.j]\n", " [ 3.37083387e+00+0.j]\n", " [ 3.26456642e+00+0.j]\n", " [ 3.10531521e+00+0.j]\n", " [ 3.01130366e+00+0.j]\n", " [ 3.02016997e+00+0.j]\n", " [ 3.26616120e+00+0.j]\n", " [ 3.64530969e+00+0.j]\n", " [ 4.00994587e+00+0.j]\n", " [ 4.30435562e+00+0.j]\n", " [ 4.51311445e+00+0.j]\n", " [ 4.63159752e+00+0.j]\n", " [ 4.67242289e+00+0.j]\n", " [ 4.65423679e+00+0.j]\n", " [ 4.58696985e+00+0.j]\n", " [ 4.47609568e+00+0.j]\n", " [ 4.33204746e+00+0.j]\n", " [ 4.16995335e+00+0.j]\n", " [ 4.00179434e+00+0.j]\n", " [ 3.82916403e+00+0.j]\n", " [ 3.64602709e+00+0.j]\n", " [ 3.44500303e+00+0.j]\n", " [ 3.22160625e+00+0.j]\n", " [ 2.97733545e+00+0.j]\n", " [ 2.72110534e+00+0.j]\n", " [ 2.46764302e+00+0.j]\n", " [ 2.23324633e+00+0.j]\n", " [ 2.02879238e+00+0.j]\n", " [ 1.85263193e+00+0.j]\n", " [ 1.69260192e+00+0.j]\n", " [ 1.53472197e+00+0.j]\n", " [ 1.37308669e+00+0.j]\n", " [ 1.21124148e+00+0.j]\n", " [ 1.05634427e+00+0.j]\n", " [ 9.11150038e-01+0.j]\n", " [ 7.73001254e-01+0.j]\n", " [ 6.35695338e-01+0.j]\n", " [ 4.93312299e-01+0.j]\n", " [ 3.41459811e-01+0.j]\n", " [ 1.77252367e-01+0.j]\n", " [-1.70505047e-03+0.j]\n", " [-1.97987199e-01+0.j]\n", " [-4.14117187e-01+0.j]\n", " [-6.48708463e-01+0.j]\n", " [-8.98949027e-01+0.j]\n", " [-1.15763950e+00+0.j]\n", " [-1.41553497e+00+0.j]\n", " [-1.66139197e+00+0.j]\n", " [-1.88673067e+00+0.j]\n", " [-2.08485413e+00+0.j]\n", " [-2.25143123e+00+0.j]\n", " [-2.38658190e+00+0.j]\n", " [-2.49082375e+00+0.j]\n", " [-2.56611824e+00+0.j]\n", " [-2.61395121e+00+0.j]\n", " [-2.63625288e+00+0.j]\n", " [-2.63434196e+00+0.j]\n", " [-2.60875130e+00+0.j]\n", " [-2.55979514e+00+0.j]\n", " [-2.48692751e+00+0.j]\n", " [-2.38926125e+00+0.j]\n", " [-2.26655579e+00+0.j]\n", " [-2.11903787e+00+0.j]\n", " [-1.94895542e+00+0.j]\n", " [-1.76015389e+00+0.j]\n", " [-1.55797446e+00+0.j]\n", " [-1.34825277e+00+0.j]\n", " [-1.13511395e+00+0.j]\n", " [-9.21169460e-01+0.j]\n", " [-7.05497980e-01+0.j]\n", " [-4.85968709e-01+0.j]\n", " [-2.62670219e-01+0.j]\n", " [-4.11902666e-02+0.j]\n", " [ 1.62126765e-01+0.j]\n", " [ 3.27109933e-01+0.j]\n", " [ 4.42182243e-01+0.j]\n", " [ 5.10823429e-01+0.j]\n", " [ 5.47231257e-01+0.j]\n", " [ 5.69591284e-01+0.j]\n", " [ 6.05276704e-01+0.j]\n", " [ 6.92668140e-01+0.j]\n", " [ 8.64105344e-01+0.j]\n", " [ 1.12194383e+00+0.j]\n", " [ 1.43979454e+00+0.j]\n", " [ 1.79165196e+00+0.j]\n", " [ 2.15927434e+00+0.j]\n", " [ 2.51153374e+00+0.j]\n", " [ 2.80700517e+00+0.j]\n", " [ 3.02257657e+00+0.j]\n", " [ 3.16387987e+00+0.j]\n", " [ 3.25367045e+00+0.j]\n", " [ 3.31498384e+00+0.j]\n", " [ 3.36210108e+00+0.j]\n", " [ 3.39163184e+00+0.j]\n", " [ 3.38125038e+00+0.j]\n", " [ 3.30630326e+00+0.j]\n", " [ 3.15268183e+00+0.j]\n", " [ 2.92934155e+00+0.j]\n", " [ 2.78603125e+00+0.j]\n", " [ 2.86687183e+00+0.j]\n", " [ 3.12975311e+00+0.j]\n", " [ 3.46012616e+00+0.j]\n", " [ 3.78194118e+00+0.j]\n", " [ 4.08844662e+00+0.j]\n", " [ 4.41056204e+00+0.j]\n", " [ 4.78324509e+00+0.j]\n", " [ 5.21597433e+00+0.j]\n", " [ 5.68038130e+00+0.j]\n", " [ 6.13811398e+00+0.j]\n", " [ 6.57724333e+00+0.j]\n", " [ 7.03294563e+00+0.j]\n", " [ 7.50883055e+00+0.j]\n", " [ 7.55978775e+00+0.j]\n", " [ 7.44650078e+00+0.j]\n", " [ 7.75023651e+00+0.j]\n", " [ 8.32240200e+00+0.j]\n", " [ 8.55309010e+00+0.j]\n", " [ 8.15285492e+00+0.j]\n", " [ 7.35268688e+00+0.j]\n", " [ 6.47624254e+00+0.j]\n", " [ 5.72003317e+00+0.j]\n", " [ 5.25387478e+00+0.j]\n", " [ 5.07232618e+00+0.j]\n", " [ 5.01522493e+00+0.j]\n", " [ 4.96422911e+00+0.j]\n", " [ 4.89800119e+00+0.j]\n", " [ 4.83631802e+00+0.j]\n", " [ 4.79315186e+00+0.j]\n", " [ 4.76996946e+00+0.j]\n", " [ 4.76194525e+00+0.j]\n", " [ 4.76314640e+00+0.j]\n", " [ 4.76863003e+00+0.j]\n", " [ 4.77463293e+00+0.j]\n", " [ 4.77856684e+00+0.j]\n", " [ 4.77883053e+00+0.j]\n", " [ 4.77474785e+00+0.j]\n", " [ 4.76652431e+00+0.j]\n", " [ 4.75540781e+00+0.j]\n", " [ 4.74386835e+00+0.j]\n", " [ 4.73592806e+00+0.j]\n", " [ 4.73749018e+00+0.j]\n", " [ 4.75679111e+00+0.j]\n", " [ 4.80479908e+00+0.j]\n", " [ 4.89535332e+00+0.j]\n", " [ 5.04626226e+00+0.j]\n", " [ 5.28179455e+00+0.j]\n", " [ 5.62773705e+00+0.j]\n", " [ 6.08855724e+00+0.j]\n", " [ 6.61224937e+00+0.j]\n", " [ 7.07358980e+00+0.j]\n", " [ 7.28039646e+00+0.j]\n", " [ 7.11762047e+00+0.j]\n", " [ 6.58864689e+00+0.j]\n", " [ 5.94176626e+00+0.j]\n", " [ 5.45102215e+00+0.j]\n", " [ 5.12033081e+00+0.j]\n", " [ 4.88473749e+00+0.j]\n", " [ 4.69903803e+00+0.j]\n", " [ 4.53850126e+00+0.j]\n", " [ 4.39036226e+00+0.j]\n", " [ 4.24036741e+00+0.j]\n", " [ 4.06165600e+00+0.j]\n", " [ 3.79794264e+00+0.j]\n", " [ 3.35927320e+00+0.j]\n", " [ 2.72745585e+00+0.j]\n", " [ 2.06704426e+00+0.j]\n", " [ 1.48778892e+00+0.j]\n", " [ 9.72608447e-01+0.j]\n", " [ 5.02939939e-01+0.j]\n", " [ 6.58010095e-02+0.j]\n", " [-3.68759960e-01+0.j]\n", " [-7.24947751e-01+0.j]\n", " [-8.61660600e-01+0.j]\n", " [-8.09054613e-01+0.j]\n", " [-6.25266433e-01+0.j]\n", " [-3.08561951e-01+0.j]\n", " [ 1.19108766e-01+0.j]\n", " [ 5.59696138e-01+0.j]\n", " [ 9.15939331e-01+0.j]\n", " [ 1.15467215e+00+0.j]\n", " [ 1.28901339e+00+0.j]\n", " [ 1.34876788e+00+0.j]\n", " [ 1.36371028e+00+0.j]\n", " [ 1.35595608e+00+0.j]\n", " [ 1.33841324e+00+0.j]\n", " [ 1.31729901e+00+0.j]\n", " [ 1.29527426e+00+0.j]\n", " [ 1.27324581e+00+0.j]\n", " [ 1.25144589e+00+0.j]\n", " [ 1.22979593e+00+0.j]\n", " [ 1.20819759e+00+0.j]\n", " [ 1.18645930e+00+0.j]\n", " [ 1.16444540e+00+0.j]\n", " [ 1.14210546e+00+0.j]\n", " [ 1.11935580e+00+0.j]\n", " [ 1.09632063e+00+0.j]\n", " [ 1.07303262e+00+0.j]\n", " [ 1.04967153e+00+0.j]\n", " [ 1.02637756e+00+0.j]\n", " [ 1.00335443e+00+0.j]\n", " [ 9.80731547e-01+0.j]\n", " [ 9.58665669e-01+0.j]\n", " [ 9.37170446e-01+0.j]\n", " [ 9.16239858e-01+0.j]\n", " [ 8.95762026e-01+0.j]\n", " [ 8.75579476e-01+0.j]\n", " [ 8.55484366e-01+0.j]\n", " [ 8.35249603e-01+0.j]\n", " [ 8.14646721e-01+0.j]\n", " [ 7.93523192e-01+0.j]\n", " [ 7.71761119e-01+0.j]\n", " [ 7.49364853e-01+0.j]\n", " [ 7.26354778e-01+0.j]\n", " [ 7.02875257e-01+0.j]\n", " [ 6.79092288e-01+0.j]\n", " [ 6.55224085e-01+0.j]\n", " [ 6.31506920e-01+0.j]\n", " [ 6.08198404e-01+0.j]\n", " [ 5.85515022e-01+0.j]\n", " [ 5.63682675e-01+0.j]\n", " [ 5.42898059e-01+0.j]\n", " [ 5.23327112e-01+0.j]\n", " [ 5.05049109e-01+0.j]\n", " [ 4.88178462e-01+0.j]\n", " [ 4.72761631e-01+0.j]\n", " [ 4.58831757e-01+0.j]\n", " [ 4.46328819e-01+0.j]\n", " [ 4.35243785e-01+0.j]\n", " [ 4.25542116e-01+0.j]\n", " [ 4.17099863e-01+0.j]\n", " [ 4.09870416e-01+0.j]\n", " [ 4.03736413e-01+0.j]\n", " [ 3.98615301e-01+0.j]\n", " [ 3.94357443e-01+0.j]\n", " [ 3.90900701e-01+0.j]\n", " [ 3.88101786e-01+0.j]\n", " [ 3.85876834e-01+0.j]\n", " [ 3.84105265e-01+0.j]\n", " [ 3.82709563e-01+0.j]\n", " [ 3.81595492e-01+0.j]\n", " [ 3.80655944e-01+0.j]\n", " [ 3.79860401e-01+0.j]\n", " [ 3.79095137e-01+0.j]\n", " [ 3.78328860e-01+0.j]\n", " [ 3.77517194e-01+0.j]\n", " [ 3.76618922e-01+0.j]\n", " [ 3.75605762e-01+0.j]\n", " [ 3.74482036e-01+0.j]\n", " [ 3.73255730e-01+0.j]\n", " [ 3.71968508e-01+0.j]\n", " [ 3.70649815e-01+0.j]\n", " [ 3.69407713e-01+0.j]\n", " [ 3.68313968e-01+0.j]\n", " [ 3.67535055e-01+0.j]\n", " [ 3.67215693e-01+0.j]\n", " [ 3.67571235e-01+0.j]\n", " [ 3.68843406e-01+0.j]]\n" ] }, { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [], "outputs": [], "metadata": {} } ], "metadata": { "orig_nbformat": 4, "language_info": { "name": "python", "version": "3.8.11", "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, "pygments_lexer": "ipython3", "nbconvert_exporter": "python", "file_extension": ".py" }, "kernelspec": { "name": "python3", "display_name": "Python 3.8.11 64-bit ('tf': conda)" }, "interpreter": { "hash": "83eb3a94852d7da6265f5c02f9c348bfbb051e60fbf28829dfd0a8aff7ca6bfd" } }, "nbformat": 4, "nbformat_minor": 2 }