diff --git a/content/BACH.typ b/content/BACH.typ index 7e2cd1f..e1b02aa 100644 --- a/content/BACH.typ +++ b/content/BACH.typ @@ -1,8 +1,8 @@ -#import "@preview/glossarium:0.4.1": * +#import "@preview/glossarium:0.4.1": * = Boundary Adaptive Clustering with Helper Data -Instead of generating helper-data to improve the quantization process itself, like in #gls("smhdt"), we can also try to find helper-data before performing enrollment that will optimize our input values before the quantization step to minimize the risk of bit and symbol errors during the reconstruction phase. +Instead of generating helper-data to improve the quantization process itself, like in #gls("smhdt"), or using some kind of error correcting code after the quantization process, we can also try to find helper-data before performing the quantization that will optimize our input values before quantizing them to minimize the risk of bit and symbol errors during the reconstruction phase. Since this #gls("hda") modifies the input values before the quantization takes place, we will consider the input values as zero-mean Gaussian distributed and not use a CDF to transform these values into the tilde-domain. @@ -20,17 +20,71 @@ Considering that the margin of error of the value $x$ is comparable with the one This means that the quantizer used here is very unreliable without generated helper-data. Now, to increase the reliability of this quantizer, we can try to move our input values further away from the value $x = 0$. -To do so, we can define a new input value $x^"lin"$ as a linear combination of two realizations of $X$, $x_1$ and $x_2$ with a set of weights $h_1$ and $h_2$: +To do so, we can define a new input value $z$ as a linear combination of two realizations of $X$, $x_1$ and $x_2$ with a set of weights $h_1$ and $h_2$: $ -x^"lin" = h_1 dot x_1 + h_2 dot x_2 . +z = h_1 dot x_1 + h_2 dot x_2 . $ -We can define the vector of all possible linear combinations $bold(x^"lin")$ as the vector-matrix multiplication of the two input values $x_i$ and the matrix of all weight combinations: + +=== Derivation of the resulting distribution + +To find a description for the random distribution $Z$ of $z$ we can interpret this process mathematically as a maximisation of a sum. +This can be realized by replacing the values of $x_i$ with their absolute values: $ -bold(x^"lin") &= vec(x_1, x_2) dot mat(delim: "[", h_1, -h_1, h_1, -h_1; h_2, h_2, -h_2, -h_2)\ +z = abs(x_1) + abs(x_2) +$ +Taking into account, that $x_i$ are realizations of a normal distribution -- that we can assume without loss of generality to have its expected value at $x=0$ and a standard deviation of $sigma = 1$ -- we can define the overall resulting random distribution $Z$ to be: +$ +Z = abs(X) + abs(X). +$ +We will redefine $abs(X)$ as a half-normal distribution $Y$ whose PDF is +$ +f_Y(y, sigma) &= frac(sqrt(2), sigma sqrt(pi)) lr(exp(-frac(y^2, 2 sigma^2)) mid(|))_(sigma = 1), y >= 0 \ +&= sqrt(frac(2, pi)) exp(- frac(y^2, sigma^2)) . +$ +Now, $Z$ simplifies to +$ +Z = Y + Y. +$ +We can assume that the realizations of $Y$ are independent of each other. +The PDF of the addition of these two distributions can be described through the convolution of their respective PDFs: +$ +f_Z(z) &= integral_0^z f_Y (y) f_Y (z-y) \dy\ +&= integral_0^z [sqrt(2/pi) exp(-frac(y^2,2)) sqrt(2/pi) exp(-frac((z-x)^2, 2))] \dx\ +&= 2/pi integral_0^z exp(- frac(x^2 + (z-x)^2, 2)) \dx # +$ +Evaluating the integral of @eq:z_integral, we can now describe the resulting distribution of this maximisation process analytically: +$ +f_Z = 2/sqrt(pi) exp(-frac(2^2, 4)) "erf"(z/2) z >= 0. +$ +Our derivation of $f_Z$ currently only accounts for the addition of positive values of $x_i$, but two negative $x_i$ values would also return the maximal distance to the coordinate origin. +The derivation for the corresponding PDF is identical, except that the half-normal distribution @eq:half_normal is mirrored around the y-axis. +Because the resulting PDF $f_Z^"neg"$ is a mirrored variant of $f_Z$ and $f_Z$ is symmetrical arranged around the origin, we can define a new PDF $f_Z^*$ as +$ +f_Z^* (z) = abs(f_Z (z)), +$ +on the entire z-axis. +$f_Z^* (z)$ now describes the final random distribution after the application of our optimization of the input values $x_i$. +#figure( + include("../graphics/plots/z_distribution.typ"), + caption: [Optimized input values $z$ overlaid with sign-based quantizer $cal(Q)$] +) + +@fig:z_pdf shows two key properties of this optimization: +1. Adjusting the input values using the method described above does not require any adjustment of the decision threshold of the sign-based quantizer. +2. The resulting PDF + +=== Generating helper-data + +To find the optimal set of helper-data that will result in the distribution shown in @fig:z_pdf, we can define the vector of all possible linear combinations $bold(z)$ as the vector-matrix multiplication of the two input values $x_i$ and the matrix of all weight combinations: +$ +bold(z) &= vec(x_1, x_2) dot mat(delim: "[", h_1, -h_1, h_1, -h_1; h_2, h_2, -h_2, -h_2)\ &= vec(x_1, x_2) dot mat(delim: "[", +1, -1, +1, -1; +1, +1, -1, -1) $ -We will choose the optimal weights based on the highest absolute value of $bold(x^"lin")$, as that value will be the furthest away from $0$. -We may encounter two entries in $bold(x^"lin")$ that both have the same highest absolute value. +We will choose the optimal weights based on the highest absolute value of $bold(z)$, as that value will be the furthest away from $0$. +We may encounter two entries in $bold(z)$ that both have the same highest absolute value. +In that case, we will choose the combination of weights randomly out of our possible options. + +If we take a look at the dimensionality of the matrix of all weight combinations, we notice that we will need to store $log_2(2) = 1$ helper-data bit. +In fact, we will show later, that the amount of helper-data bits used by this HDA is directly linked to the number of input values used instead of the number of bits we want to extract during quantization. -Lets take a look at the resulting random distribution of this process: diff --git a/data/z_distribution/calculate_function_values.py b/data/z_distribution/calculate_function_values.py new file mode 100644 index 0000000..0ffdd0b --- /dev/null +++ b/data/z_distribution/calculate_function_values.py @@ -0,0 +1,11 @@ +import csv +import numpy as np +import math + +with open('z_distribution.csv', "w") as csvfile: + writer = csv.writer(csvfile) + for i in np.linspace(-10, 10, 1000): + calculation = 2/math.sqrt(math.pi) * math.exp(-(i**2)/4) * math.erf(i/2) + if i < 0: + calculation = calculation * -1 + writer.writerow([i, calculation]) diff --git a/data/z_distribution/flake.lock b/data/z_distribution/flake.lock new file mode 100644 index 0000000..ae74e2e --- /dev/null +++ b/data/z_distribution/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/data/z_distribution/flake.nix b/data/z_distribution/flake.nix new file mode 100644 index 0000000..3eddf4b --- /dev/null +++ b/data/z_distribution/flake.nix @@ -0,0 +1,32 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { + inherit system; + }; + in { + devShell = pkgs.mkShell rec { + buildInputs = with pkgs; [ + ]; + nativeBuildInputs = with pkgs; [ + python312Packages.pandas + python312Packages.matplotlib + python312Packages.imageio + python312Packages.requests + python312Packages.csvw + python312 + ]; + }; + + packages.default = pkgs.mkDerivation {}; + + + + } + ); +} diff --git a/data/z_distribution/z_distribution.csv b/data/z_distribution/z_distribution.csv new file mode 100644 index 0000000..8f17016 --- /dev/null +++ b/data/z_distribution/z_distribution.csv @@ -0,0 +1,1000 @@ +-10.0,1.5670866530993244e-11 +-9.97997997997998,1.731898421572835e-11 +-9.95995995995996,1.913660039744377e-11 +-9.93993993993994,2.1140737179795716e-11 +-9.91991991991992,2.3350083243845715e-11 +-9.8998998998999,2.57851526231251e-11 +-9.87987987987988,2.8468458165120247e-11 +-9.85985985985986,3.142470099460374e-11 +-9.83983983983984,3.4680977407952604e-11 +-9.81981981981982,3.826700475075735e-11 +-9.7997997997998,4.2215367964389906e-11 +-9.77977977977978,4.656178863156737e-11 +-9.75975975975976,5.134541850719675e-11 +-9.73973973973974,5.6609159689839135e-11 +-9.71971971971972,6.240001377199487e-11 +-9.6996996996997,6.876946250516688e-11 +-9.67967967967968,7.577388272945277e-11 +-9.65965965965966,8.347499854850021e-11 +-9.63963963963964,9.194037398035494e-11 +-9.61961961961962,1.012439495844808e-10 +-9.5995995995996,1.114666268565524e-10 +-9.57957957957958,1.226969044971726e-10 +-9.55955955955956,1.3503157100019476e-10 +-9.53953953953954,1.4857645837274253e-10 +-9.51951951951952,1.6344726219431744e-10 +-9.4994994994995,1.7977043364875085e-10 +-9.47947947947948,1.9768414962249373e-10 +-9.45945945945946,2.1733936745835158e-10 +-9.43943943943944,2.3890097148788503e-10 +-9.41941941941942,2.6254901904118343e-10 +-9.3993993993994,2.884800942525761e-10 +-9.37937937937938,3.1690877864837094e-10 +-9.35935935935936,3.480692482213214e-10 +-9.33933933933934,3.8221700746994e-10 +-9.31931931931932,4.1963077171299245e-10 +-9.2992992992993,4.6061450988468017e-10 +-9.27927927927928,5.054996609787182e-10 +-9.25925925925926,5.546475383444925e-10 +-9.23923923923924,6.084519371509368e-10 +-9.21921921921922,6.673419615290896e-10 +-9.1991991991992,7.317850891883775e-10 +-9.17917917917918,8.022904926806516e-10 +-9.15915915915916,8.794126379666174e-10 +-9.13913913913914,9.637551825284225e-10 +-9.11911911911912,1.0559751969774664e-09 +-9.0990990990991,1.1567877359357649e-09 +-9.07907907907908,1.266970785931154e-09 +-9.05905905905906,1.38737062015004e-09 +-9.03903903903904,1.5189075921459597e-09 +-9.01901901901902,1.6625824030183372e-09 +-8.998998998999,1.8194828791637996e-09 +-8.97897897897898,1.9907913004742718e-09 +-8.95895895895896,2.1777923218238912e-09 +-8.93893893893894,2.3818815338630113e-09 +-8.91891891891892,2.604574712536835e-09 +-8.8988988988989,2.847517810382273e-09 +-8.87887887887888,3.1124977465452213e-09 +-8.85885885885886,3.401454056618205e-09 +-8.83883883883884,3.716491467841983e-09 +-8.81881881881882,4.059893469963204e-09 +-8.7987987987988,4.434136957112363e-09 +-8.77877877877878,4.841908021483401e-09 +-8.75875875875876,5.28611898537923e-09 +-8.73873873873874,5.7699267643599956e-09 +-8.71871871871872,6.296752660816444e-09 +-8.6986986986987,6.870303694316149e-09 +-8.67867867867868,7.494595582561493e-09 +-8.65865865865866,8.173977494784034e-09 +-8.63863863863864,8.913158707911974e-09 +-8.618618618618619,9.717237304914516e-09 +-8.598598598598599,1.0591731064385666e-08 +-8.578578578578579,1.1542610700715167e-08 +-8.558558558558559,1.2576335625140197e-08 +-8.538538538538539,1.3699892409622672e-08 +-8.518518518518519,1.4920836147889933e-08 +-8.498498498498499,1.6247334921157145e-08 +-8.478478478478479,1.768821759006418e-08 +-8.458458458458459,1.925302514925403e-08 +-8.438438438438439,2.0952065896847053e-08 +-8.418418418418419,2.279647468787558e-08 +-8.398398398398399,2.4798276558596732e-08 +-8.378378378378379,2.697045502755155e-08 +-8.358358358358359,2.9327025399350928e-08 +-8.338338338338339,3.188311341850448e-08 +-8.318318318318319,3.465503964323947e-08 +-8.298298298298299,3.766040993324921e-08 +-8.278278278278279,4.0918212470738604e-08 +-8.258258258258259,4.444892176108461e-08 +-8.238238238238239,4.8274610087966266e-08 +-8.218218218218219,5.2419066928043386e-08 +-8.198198198198199,5.6907926862259885e-08 +-8.178178178178179,6.176880655469655e-08 +-8.158158158158159,6.703145140571939e-08 +-8.138138138138139,7.272789252404431e-08 +-8.118118118118119,7.889261470237839e-08 +-8.098098098098099,8.556273612362166e-08 +-8.078078078078079,9.277820056931877e-08 +-8.058058058058059,1.005819829492733e-07 +-8.038038038038039,1.090203090210869e-07 +-8.018018018018019,1.1814289022100969e-07 +-7.997997997997998,1.280031745830038e-07 +-7.977977977977978,1.3865861478146744e-07 +-7.957957957957958,1.5017095439483e-07 +-7.937937937937938,1.6260653355226902e-07 +-7.917917917917918,1.760366151943899e-07 +-7.897897897897898,1.9053773325091437e-07 +-7.877877877877878,2.0619206411446424e-07 +-7.857857857857858,2.2308782286955728e-07 +-7.837837837837838,2.4131968582014157e-07 +-7.817817817817818,2.60989240947569e-07 +-7.797797797797798,2.8220546802402006e-07 +-7.777777777777778,3.0508525020428403e-07 +-7.757757757757758,3.297539190216215e-07 +-7.737737737737738,3.5634583482144844e-07 +-7.717717717717718,3.850050047799669e-07 +-7.697697697697698,4.1588574077388583e-07 +-7.677677677677678,4.491533594922085e-07 +-7.657657657657658,4.849849273120141e-07 +-7.637637637637638,5.235700525974041e-07 +-7.617617617617618,5.651117282246177e-07 +-7.597597597597598,6.098272272870181e-07 +-7.5775775775775776,6.57949055091367e-07 +-7.5575575575575575,7.09725960721983e-07 +-7.5375375375375375,7.65424011622138e-07 +-7.5175175175175175,8.253277348227375e-07 +-7.4974974974974975,8.897413286372491e-07 +-7.4774774774774775,9.589899488392686e-07 +-7.4574574574574575,1.0334210735453198e-06 +-7.4374374374374375,1.1134059512408164e-06 +-7.4174174174174174,1.199341136611844e-06 +-7.397397397397397,1.2916501190799208e-06 +-7.377377377377377,1.3907850491813618e-06 +-7.357357357357357,1.4972285681878009e-06 +-7.337337337337337,1.611495746629939e-06 +-7.317317317317317,1.7341361376632257e-06 +-7.297297297297297,1.8657359515020452e-06 +-7.277277277277277,2.006920357448644e-06 +-7.257257257257257,2.1583559203545643e-06 +-7.237237237237237,2.320753178676383e-06 +-7.217217217217217,2.494869371624047e-06 +-7.197197197197197,2.6815113232498275e-06 +-7.177177177177177,2.88153849168874e-06 +-7.157157157157157,3.0958661921378957e-06 +-7.137137137137137,3.325469002552811e-06 +-7.117117117117117,3.5713843614435337e-06 +-7.097097097097097,3.834716367572821e-06 +-7.077077077077077,4.116639791792958e-06 +-7.057057057057057,4.418404311707384e-06 +-7.037037037037037,4.7413389803081e-06 +-7.017017017017017,5.0868569402207576e-06 +-6.996996996996997,5.4564603956860075e-06 +-6.976976976976977,5.851745854918396e-06 +-6.956956956956957,6.27440965601412e-06 +-6.936936936936937,6.726253790124496e-06 +-6.916916916916917,7.209192036175427e-06 +-6.896896896896897,7.725256421992914e-06 +-6.876876876876877,8.276604027292446e-06 +-6.856856856856857,8.865524144603897e-06 +-6.836836836836837,9.494445814836332e-06 +-6.816816816816817,1.0165945754836244e-05 +-6.796796796796797,1.0882756694959566e-05 +-6.776776776776776,1.164777614536284e-05 +-6.756756756756756,1.2464075610420089e-05 +-6.736736736736736,1.333491027139234e-05 +-6.716716716716716,1.4263729158212225e-05 +-6.696696696696696,1.5254185832000592e-05 +-6.676676676676676,1.631014960070239e-05 +-6.656656656656656,1.7435717291016563e-05 +-6.636636636636636,1.863522560059733e-05 +-6.616616616616616,1.9913264055325213e-05 +-6.596596596596596,2.127468859727959e-05 +-6.576576576576576,2.2724635829895226e-05 +-6.556556556556556,2.426853794764979e-05 +-6.536536536536536,2.5912138378506833e-05 +-6.516516516516516,2.7661508168229998e-05 +-6.496496496496496,2.9523063136588983e-05 +-6.476476476476476,3.150358183639016e-05 +-6.456456456456456,3.361022434719256e-05 +-6.436436436436436,3.5850551936503606e-05 +-6.416416416416416,3.8232547622191276e-05 +-6.396396396396396,4.0764637670801285e-05 +-6.376376376376376,4.345571406742176e-05 +-6.356356356356356,4.63151579936988e-05 +-6.336336336336336,4.935286435156909e-05 +-6.316316316316316,5.257926737124008e-05 +-6.296296296296296,5.600536734290842e-05 +-6.276276276276276,5.964275851267281e-05 +-6.256256256256256,6.350365818404851e-05 +-6.236236236236236,6.760093706744167e-05 +-6.216216216216216,7.194815092088287e-05 +-6.196196196196196,7.655957352624463e-05 +-6.176176176176176,8.145023104608553e-05 +-6.156156156156156,8.663593780715748e-05 +-6.136136136136136,9.213333355749476e-05 +-6.116116116116116,9.795992224485415e-05 +-6.096096096096096,0.00010413411236510995 +-6.076076076076076,0.00011067525893000403 +-6.056056056056056,0.00011760370710442046 +-6.036036036036036,0.0001249408375640866 +-6.016016016016016,0.0001327091136252933 +-5.995995995995996,0.00014093213019887355 +-5.975975975975976,0.00014963466462127818 +-5.955955955955956,0.00015884272941613561 +-5.935935935935936,0.0001685836270401698 +-5.915915915915916,0.00017888600666777975 +-5.895895895895896,0.00018977992306894084 +-5.875875875875876,0.00020129689763538565 +-5.8558558558558556,0.00021346998161022183 +-5.8358358358358355,0.00022633382157628671 +-5.8158158158158155,0.00023992472725856636 +-5.7957957957957955,0.0002542807416959667 +-5.7757757757757755,0.0002694417138375578 +-5.7557557557557555,0.0002854493736181665 +-5.7357357357357355,0.0003023474095678058 +-5.7157157157157155,0.00032018154900895126 +-5.6956956956956954,0.0003389996408950473 +-5.675675675675675,0.00035885174134287574 +-5.655655655655655,0.0003797902019105335 +-5.635635635635635,0.0004018697606717221 +-5.615615615615615,0.0004251476361358544 +-5.595595595595595,0.0004496836240621328 +-5.575575575575575,0.00047554019721421945 +-5.555555555555555,0.0005027826081004157 +-5.535535535535535,0.0005314789947423646 +-5.515515515515515,0.0005617004895132139 +-5.495495495495495,0.0005935213310838689 +-5.475475475475475,0.0006270189795134673 +-5.455455455455455,0.0006622742345174681 +-5.435435435435435,0.0006993713569438073 +-5.415415415415415,0.0007383981934843471 +-5.395395395395395,0.000779446304645428 +-5.375375375375375,0.0008226110959976018 +-5.355355355355355,0.000867991952720666 +-5.335335335335335,0.0009156923774558751 +-5.315315315315315,0.0009658201314726541 +-5.295295295295295,0.001018487379152321 +-5.275275275275275,0.0010738108357861902 +-5.255255255255255,0.0011319119186799756 +-5.235235235235235,0.001192916901550638 +-5.215215215215215,0.0012569570721957229 +-5.195195195195195,0.0013241688934087711 +-5.175175175175175,0.001394694167107605 +-5.155155155155155,0.0014686802016351133 +-5.135135135135135,0.0015462799821846208 +-5.115115115115115,0.0016276523442940464 +-5.095095095095095,0.0017129621503447277 +-5.075075075075075,0.0018023804689920857 +-5.055055055055055,0.0018960847574462532 +-5.035035035035035,0.001994259046511198 +-5.015015015015015,0.0020970941282810306 +-4.994994994994995,0.0022047877463817387 +-4.974974974974975,0.0023175447886358397 +-4.954954954954955,0.002435577482016225 +-4.934934934934935,0.002559105589743716 +-4.914914914914915,0.0026883566103707754 +-4.894894894894895,0.0028235659786812048 +-4.874874874874875,0.002964977268222571 +-4.854854854854855,0.003112842395274624 +-4.834834834834835,0.0032674218240429324 +-4.814814814814815,0.003428984772852527 +-4.794794794794795,0.0035978094211013725 +-4.774774774774775,0.00377418311671811 +-4.754754754754755,0.003958402583852563 +-4.734734734734735,0.004150774130511219 +-4.714714714714715,0.004351613855833014 +-4.694694694694695,0.004561247856683402 +-4.674674674674675,0.004780012433227109 +-4.654654654654655,0.005008254293121478 +-4.634634634634635,0.005246330753953948 +-4.614614614614615,0.0054946099435278575 +-4.594594594594595,0.00575347099758133 +-4.574574574574575,0.006023304254504144 +-4.554554554554555,0.006304511446596883 +-4.534534534534535,0.006597505887396182 +-4.514514514514515,0.006902712654568585 +-4.494494494494495,0.007220568767854154 +-4.474474474474475,0.007551523361519132 +-4.454454454454455,0.007896037850754864 +-4.434434434434435,0.008254586091437772 +-4.414414414414415,0.008627654532642649 +-4.394394394394395,0.009015742361278398 +-4.374374374374375,0.009419361638192679 +-4.354354354354355,0.00983903742506844 +-4.334334334334335,0.010275307901411965 +-4.314314314314315,0.01072872447090897 +-4.2942942942942945,0.011199851856401556 +-4.2742742742742745,0.01168926818271556 +-4.2542542542542545,0.012197565046544496 +-4.2342342342342345,0.012725347572573213 +-4.2142142142142145,0.013273234455001096 +-4.1941941941941945,0.013841857983602079 +-4.1741741741741745,0.014431864053436409 +-4.1541541541541545,0.015043912157306556 +-4.134134134134134,0.015678675360028607 +-4.114114114114114,0.016336840253568966 +-4.094094094094094,0.017019106892075923 +-4.074074074074074,0.017726188705815753 +-4.054054054054054,0.018458812393004165 +-4.034034034034034,0.019217717788505423 +-4.014014014014014,0.020003657708354907 +-3.9939939939939944,0.02081739776904414 +-3.9739739739739743,0.02165971618049301 +-3.9539539539539543,0.022531403511619683 +-3.9339339339339343,0.023433262427407193 +-3.9139139139139143,0.024366107396354447 +-3.8938938938938943,0.02533076436719051 +-3.8738738738738743,0.026328070413723918 +-3.8538538538538543,0.027358873346693253 +-3.8338338338338342,0.02842403129148174 +-3.8138138138138142,0.029524412230557802 +-3.7937937937937942,0.030660893509504135 +-3.773773773773774,0.03183436130550208 +-3.753753753753754,0.03304571005714362 +-3.733733733733734,0.0342958418544526 +-3.713713713713714,0.03558566578800867 +-3.693693693693694,0.03691609725608191 +-3.673673673673674,0.03828805722870484 +-3.653653653653654,0.039702471467628966 +-3.633633633633634,0.04116026970113942 +-3.613613613613614,0.042662384752728134 +-3.593593593593594,0.044209751622660116 +-3.573573573573573,0.0458033065215029 +-3.553553553553553,0.047443985854729656 +-3.533533533533533,0.04913272515755299 +-3.513513513513513,0.050870457979193213 +-3.493493493493493,0.05265811471584135 +-3.473473473473473,0.05449662139163453 +-3.453453453453453,0.05638689838702504 +-3.433433433433433,0.05832985911399387 +-3.413413413413413,0.0603264086376319 +-3.393393393393393,0.062377442243692585 +-3.373373373373373,0.064483843951803 +-3.353353353353353,0.06664648497411085 +-3.333333333333333,0.06886622211924037 +-3.313313313313313,0.07114389614153088 +-3.293293293293293,0.07348033003563922 +-3.273273273273273,0.07587632727669916 +-3.253253253253253,0.07833267000635018 +-3.233233233233233,0.08085011716507168 +-3.213213213213213,0.08342940257138931 +-3.193193193193193,0.08607123294865582 +-3.173173173173173,0.08877628590025081 +-3.153153153153153,0.09154520783419165 +-3.133133133133133,0.0943786118383004 +-3.113113113113113,0.09727707550723183 +-3.093093093093093,0.10024113872283032 +-3.073073073073073,0.10327130138945494 +-3.053053053053053,0.10636802112608579 +-3.033033033033033,0.10953171091720558 +-3.013013013013013,0.11276273672463424 +-2.992992992992993,0.11606141506268455 +-2.972972972972973,0.11942801053920006 +-2.952952952952953,0.1228627333652338 +-2.932932932932933,0.12636573683632818 +-2.9129129129129128,0.1299371147885596 +-2.8928928928928928,0.1335768990327204 +-2.8728728728728727,0.1372850567702184 +-2.8528528528528527,0.14106148799448787 +-2.8328328328328327,0.1449060228819167 +-2.8128128128128127,0.14881841917651079 +-2.7927927927927927,0.15279835957272928 +-2.7727727727727727,0.15684544910113893 +-2.7527527527527527,0.16095921252174966 +-2.7327327327327327,0.16513909173010413 +-2.7127127127127126,0.16938444318140403 +-2.6926926926926926,0.17369453533816254 +-2.6726726726726726,0.17806854614707487 +-2.6526526526526526,0.18250556055099768 +-2.6326326326326326,0.18700456804211996 +-2.6126126126126126,0.19156446026259658 +-2.5925925925925926,0.19618402865909465 +-2.5725725725725725,0.2008619621978751 +-2.5525525525525525,0.20559684514719556 +-2.5325325325325325,0.2103871549339737 +-2.5125125125125125,0.2152312600817946 +-2.4924924924924925,0.22012741823747614 +-2.4724724724724725,0.22507377429352604 +-2.4524524524524525,0.23006835861392994 +-2.4324324324324325,0.23510908537080208 +-2.4124124124124124,0.24019375099950463 +-2.3923923923923924,0.24532003277990322 +-2.3723723723723724,0.2504854875514676 +-2.3523523523523524,0.25568755056995285 +-2.3323323323323324,0.2609235345133989 +-2.3123123123123124,0.26619062864517573 +-2.2922922922922924,0.27148589814176244 +-2.2722722722722724,0.27680628359289655 +-2.2522522522522523,0.28214860068164466 +-2.2322322322322323,0.28750954005185 +-2.2122122122122123,0.29288566737028165 +-2.1921921921921923,0.2982734235906623 +-2.1721721721721723,0.3036691254265737 +-2.1521521521521523,0.3090689660400416 +-2.1321321321321323,0.31446901595237053 +-2.1121121121121122,0.3198652241835473 +-2.0920920920920922,0.3252534196262526 +-2.0720720720720722,0.330629312660209 +-2.052052052052052,0.33598849701226363 +-2.032032032032032,0.3413264518672368 +-2.012012012012012,0.3466385442341817 +-1.9919919919919913,0.3519200315722841 +-1.9719719719719713,0.3571660646801803 +-1.9519519519519513,0.3623716908520156 +-1.9319319319319312,0.3675318573030495 +-1.9119119119119112,0.37264141486710983 +-1.8918918918918912,0.3776951219676369 +-1.8718718718718712,0.3826876488634936 +-1.8518518518518512,0.3876135821701197 +-1.8318318318318312,0.39246742965598913 +-1.8118118118118112,0.3972436253136903 +-1.7917917917917912,0.401936534704289 +-1.7717717717717711,0.40654046057295334 +-1.7517517517517511,0.41104964873312405 +-1.7317317317317311,0.41545829421579805 +-1.711711711711711,0.41976054767977017 +-1.691691691691691,0.423950522077931 +-1.671671671671671,0.4280222995739732 +-1.651651651651651,0.4319699387030971 +-1.631631631631631,0.43578748176953475 +-1.611611611611611,0.43946896247294936 +-1.591591591591591,0.4430084137549828 +-1.571571571571571,0.4463998758564555 +-1.551551551551551,0.44963740457495227 +-1.531531531531531,0.4527150797117528 +-1.511511511511511,0.4556270136963157 +-1.491491491491491,0.4583673603757667 +-1.471471471471471,0.4609303239561081 +-1.451451451451451,0.4633101680811427 +-1.431431431431431,0.46550122503440133 +-1.411411411411411,0.46749790504867855 +-1.391391391391391,0.4692947057071206 +-1.3713713713713709,0.4708862214191754 +-1.3513513513513509,0.47226715295410504 +-1.3313313313313309,0.4734323170141925 +-1.3113113113113108,0.474376655829227 +-1.2912912912912908,0.47509524675335163 +-1.2712712712712708,0.4755833118448928 +-1.2512512512512508,0.47583622740936404 +-1.2312312312312308,0.47584953348546066 +-1.2112112112112108,0.47561894325352555 +-1.1911911911911908,0.4751403523456854 +-1.1711711711711708,0.4744098480366173 +-1.1511511511511507,0.4734237182937297 +-1.1311311311311307,0.47217846066540864 +-1.1111111111111107,0.4706707909859138 +-1.0910910910910907,0.46889765187548965 +-1.0710710710710707,0.4668562210143071 +-1.0510510510510507,0.46454391916895027 +-1.0310310310310307,0.4619584179503327 +-1.0110110110110107,0.45909764728215247 +-0.9909909909909906,0.4559598025592853 +-0.9709709709709706,0.45254335147586633 +-0.9509509509509506,0.4488470405032282 +-0.9309309309309306,0.44486990099833645 +-0.9109109109109106,0.4406112549239086 +-0.8908908908908906,0.43607072016199944 +-0.8708708708708706,0.43124821540350194 +-0.8508508508508505,0.4261439645967348 +-0.8308308308308305,0.4207585009390703 +-0.8108108108108105,0.41509267039639447 +-0.7907907907907905,0.4091476347360894 +-0.7707707707707705,0.40292487406017524 +-0.7507507507507505,0.3964261888262516 +-0.7307307307307305,0.3896537013449287 +-0.7107107107107105,0.38260985674353837 +-0.6906906906906904,0.3752974233870535 +-0.6706706706706704,0.3677194927483342 +-0.6506506506506504,0.359879478721034 +-0.6306306306306304,0.3517811163697624 +-0.6106106106106104,0.3434284601133834 +-0.5905905905905904,0.33482588133865004 +-0.5705705705705704,0.3259780654427104 +-0.5505505505505504,0.3168900083043852 +-0.5305305305305303,0.3075670121854888 +-0.5105105105105103,0.29801468106485723 +-0.4904904904904903,0.2882389154091395 +-0.4704704704704703,0.27824590638580954 +-0.4504504504504503,0.2680421295252516 +-0.4304304304304303,0.2576343378401671 +-0.41041041041041026,0.24702955441193125 +-0.39039039039039025,0.23623506445489637 +-0.37037037037037024,0.22525840687098933 +-0.3503503503503502,0.21410736530827468 +-0.3303303303303302,0.20278995873845546 +-0.3103103103103102,0.19131443156954947 +-0.2902902902902902,0.17968924331120906 +-0.2702702702702702,0.16792305781134376 +-0.25025025025025016,0.15602473208385073 +-0.23023023023023015,0.14400330474835524 +-0.21021021021021014,0.1318679841039111 +-0.19019019019019012,0.11962813585960007 +-0.1701701701701701,0.10729327054590174 +-0.1501501501501501,0.09487303063157487 +-0.13013013013013008,0.08237717737159582 +-0.11011011011011007,0.06981557741243653 +-0.09009009009009006,0.05719818918163008 +-0.07007007007007005,0.04453504908916654 +-0.05005005005005003,0.03183625756877909 +-0.03003003003003002,0.01911196498762333 +-0.010010010010010006,0.006372357453216047 +0.010010010010010006,0.006372357453216047 +0.03003003003003002,0.01911196498762333 +0.05005005005005003,0.03183625756877909 +0.07007007007007005,0.04453504908916654 +0.09009009009009006,0.05719818918163008 +0.11011011011011007,0.06981557741243653 +0.13013013013013008,0.08237717737159582 +0.1501501501501501,0.09487303063157487 +0.1701701701701701,0.10729327054590174 +0.19019019019019012,0.11962813585960007 +0.21021021021021014,0.1318679841039111 +0.23023023023023015,0.14400330474835524 +0.25025025025025016,0.15602473208385073 +0.2702702702702702,0.16792305781134376 +0.2902902902902902,0.17968924331120906 +0.3103103103103102,0.19131443156954947 +0.3303303303303302,0.20278995873845546 +0.3503503503503502,0.21410736530827468 +0.37037037037037024,0.22525840687098933 +0.39039039039039025,0.23623506445489637 +0.41041041041041026,0.24702955441193125 +0.4304304304304303,0.2576343378401671 +0.4504504504504503,0.2680421295252516 +0.4704704704704703,0.27824590638580954 +0.4904904904904903,0.2882389154091395 +0.5105105105105103,0.29801468106485723 +0.5305305305305303,0.3075670121854888 +0.5505505505505504,0.3168900083043852 +0.5705705705705704,0.3259780654427104 +0.5905905905905904,0.33482588133865004 +0.6106106106106104,0.3434284601133834 +0.6306306306306304,0.3517811163697624 +0.6506506506506504,0.359879478721034 +0.6706706706706704,0.3677194927483342 +0.6906906906906904,0.3752974233870535 +0.7107107107107105,0.38260985674353837 +0.7307307307307305,0.3896537013449287 +0.7507507507507505,0.3964261888262516 +0.7707707707707705,0.40292487406017524 +0.7907907907907905,0.4091476347360894 +0.8108108108108105,0.41509267039639447 +0.8308308308308305,0.4207585009390703 +0.8508508508508505,0.4261439645967348 +0.8708708708708706,0.43124821540350194 +0.8908908908908906,0.43607072016199944 +0.9109109109109106,0.4406112549239086 +0.9309309309309306,0.44486990099833645 +0.9509509509509506,0.4488470405032282 +0.9709709709709706,0.45254335147586633 +0.9909909909909906,0.4559598025592853 +1.0110110110110107,0.45909764728215247 +1.0310310310310307,0.4619584179503327 +1.0510510510510507,0.46454391916895027 +1.0710710710710707,0.4668562210143071 +1.0910910910910907,0.46889765187548965 +1.1111111111111107,0.4706707909859138 +1.1311311311311307,0.47217846066540864 +1.1511511511511507,0.4734237182937297 +1.1711711711711708,0.4744098480366173 +1.1911911911911908,0.4751403523456854 +1.2112112112112108,0.47561894325352555 +1.2312312312312308,0.47584953348546066 +1.2512512512512508,0.47583622740936404 +1.2712712712712708,0.4755833118448928 +1.2912912912912908,0.47509524675335163 +1.3113113113113108,0.474376655829227 +1.3313313313313309,0.4734323170141925 +1.3513513513513509,0.47226715295410504 +1.3713713713713709,0.4708862214191754 +1.391391391391391,0.4692947057071206 +1.411411411411411,0.46749790504867855 +1.431431431431431,0.46550122503440133 +1.451451451451451,0.4633101680811427 +1.471471471471471,0.4609303239561081 +1.491491491491491,0.4583673603757667 +1.511511511511511,0.4556270136963157 +1.531531531531531,0.4527150797117528 +1.551551551551551,0.44963740457495227 +1.571571571571571,0.4463998758564555 +1.591591591591591,0.4430084137549828 +1.611611611611611,0.43946896247294936 +1.631631631631631,0.43578748176953475 +1.651651651651651,0.4319699387030971 +1.671671671671671,0.4280222995739732 +1.691691691691691,0.423950522077931 +1.711711711711711,0.41976054767977017 +1.7317317317317311,0.41545829421579805 +1.7517517517517511,0.41104964873312405 +1.7717717717717711,0.40654046057295334 +1.7917917917917912,0.401936534704289 +1.8118118118118112,0.3972436253136903 +1.8318318318318312,0.39246742965598913 +1.8518518518518512,0.3876135821701197 +1.8718718718718712,0.3826876488634936 +1.8918918918918912,0.3776951219676369 +1.9119119119119112,0.37264141486710983 +1.9319319319319312,0.3675318573030495 +1.9519519519519513,0.3623716908520156 +1.9719719719719713,0.3571660646801803 +1.9919919919919913,0.3519200315722841 +2.0120120120120113,0.34663854423418194 +2.0320320320320313,0.3413264518672369 +2.0520520520520513,0.3359884970122639 +2.0720720720720713,0.3306293126602093 +2.0920920920920913,0.32525341962625287 +2.1121121121121114,0.31986522418354757 +2.1321321321321314,0.31446901595237076 +2.1521521521521514,0.30906896604004186 +2.1721721721721714,0.30366912542657387 +2.1921921921921914,0.29827342359066256 +2.2122122122122114,0.29288566737028193 +2.2322322322322314,0.2875095400518502 +2.2522522522522515,0.28214860068164493 +2.2722722722722715,0.27680628359289683 +2.2922922922922915,0.27148589814176277 +2.3123123123123115,0.2661906286451759 +2.3323323323323315,0.2609235345133992 +2.3523523523523515,0.2556875505699531 +2.3723723723723715,0.2504854875514678 +2.3923923923923915,0.24532003277990344 +2.4124124124124116,0.2401937509995049 +2.4324324324324316,0.2351090853708023 +2.4524524524524516,0.23006835861393016 +2.4724724724724716,0.22507377429352624 +2.4924924924924916,0.2201274182374764 +2.5125125125125116,0.21523126008179483 +2.5325325325325316,0.21038715493397392 +2.5525525525525516,0.20559684514719578 +2.5725725725725717,0.20086196219787533 +2.5925925925925917,0.19618402865909484 +2.6126126126126117,0.19156446026259677 +2.6326326326326317,0.18700456804212012 +2.6526526526526517,0.18250556055099787 +2.6726726726726717,0.17806854614707507 +2.6926926926926917,0.1736945353381627 +2.7127127127127117,0.16938444318140422 +2.7327327327327318,0.1651390917301043 +2.7527527527527518,0.16095921252174983 +2.772772772772772,0.1568454491011391 +2.792792792792792,0.15279835957272947 +2.812812812812812,0.14881841917651098 +2.8328328328328336,0.1449060228819165 +2.8528528528528536,0.1410614879944877 +2.8728728728728736,0.13728505677021827 +2.8928928928928936,0.13357689903272021 +2.9129129129129137,0.12993711478855943 +2.9329329329329337,0.12636573683632804 +2.9529529529529537,0.12286273336523365 +2.9729729729729737,0.11942801053919991 +2.9929929929929937,0.11606141506268441 +3.0130130130130137,0.11276273672463409 +3.0330330330330337,0.10953171091720544 +3.0530530530530537,0.10636802112608565 +3.0730730730730738,0.10327130138945477 +3.0930930930930938,0.10024113872283019 +3.113113113113114,0.09727707550723172 +3.133133133133134,0.09437861183830025 +3.153153153153154,0.09154520783419148 +3.173173173173174,0.0887762859002507 +3.193193193193194,0.08607123294865572 +3.213213213213214,0.0834294025713892 +3.233233233233234,0.08085011716507157 +3.253253253253254,0.07833267000635004 +3.273273273273274,0.07587632727669905 +3.293293293293294,0.07348033003563913 +3.313313313313314,0.07114389614153079 +3.333333333333334,0.06886622211924029 +3.353353353353354,0.06664648497411077 +3.373373373373374,0.06448384395180291 +3.393393393393394,0.0623774422436925 +3.413413413413414,0.06032640863763181 +3.433433433433434,0.058329859113993784 +3.453453453453454,0.05638689838702498 +3.473473473473474,0.05449662139163443 +3.493493493493494,0.052658114715841274 +3.513513513513514,0.050870457979193116 +3.533533533533534,0.0491327251575529 +3.553553553553554,0.047443985854729594 +3.573573573573574,0.045803306521502836 +3.593593593593594,0.044209751622660116 +3.613613613613614,0.042662384752728134 +3.633633633633634,0.04116026970113942 +3.653653653653654,0.039702471467628966 +3.673673673673674,0.03828805722870484 +3.693693693693694,0.03691609725608191 +3.713713713713714,0.03558566578800867 +3.733733733733734,0.0342958418544526 +3.753753753753754,0.03304571005714362 +3.773773773773774,0.03183436130550208 +3.7937937937937942,0.030660893509504135 +3.8138138138138142,0.029524412230557802 +3.8338338338338342,0.02842403129148174 +3.8538538538538543,0.027358873346693253 +3.8738738738738743,0.026328070413723918 +3.8938938938938943,0.02533076436719051 +3.9139139139139143,0.024366107396354447 +3.9339339339339343,0.023433262427407193 +3.9539539539539543,0.022531403511619683 +3.9739739739739743,0.02165971618049301 +3.9939939939939944,0.02081739776904414 +4.014014014014014,0.020003657708354907 +4.034034034034034,0.019217717788505423 +4.054054054054054,0.018458812393004165 +4.074074074074074,0.017726188705815753 +4.094094094094094,0.017019106892075923 +4.114114114114114,0.016336840253568966 +4.134134134134134,0.015678675360028607 +4.1541541541541545,0.015043912157306556 +4.1741741741741745,0.014431864053436409 +4.1941941941941945,0.013841857983602079 +4.2142142142142145,0.013273234455001096 +4.2342342342342345,0.012725347572573213 +4.2542542542542545,0.012197565046544496 +4.2742742742742745,0.01168926818271556 +4.2942942942942945,0.011199851856401556 +4.314314314314315,0.01072872447090897 +4.334334334334335,0.010275307901411965 +4.354354354354355,0.00983903742506844 +4.374374374374375,0.009419361638192679 +4.394394394394395,0.009015742361278398 +4.414414414414415,0.008627654532642649 +4.434434434434435,0.008254586091437772 +4.454454454454455,0.007896037850754864 +4.474474474474475,0.007551523361519132 +4.494494494494495,0.007220568767854154 +4.514514514514515,0.006902712654568585 +4.534534534534535,0.006597505887396182 +4.554554554554555,0.006304511446596883 +4.574574574574575,0.006023304254504144 +4.594594594594595,0.00575347099758133 +4.614614614614615,0.0054946099435278575 +4.634634634634635,0.005246330753953948 +4.654654654654655,0.005008254293121478 +4.674674674674675,0.004780012433227109 +4.694694694694695,0.004561247856683402 +4.714714714714715,0.004351613855833014 +4.734734734734735,0.004150774130511219 +4.754754754754755,0.003958402583852563 +4.774774774774775,0.00377418311671811 +4.794794794794795,0.0035978094211013725 +4.814814814814815,0.003428984772852527 +4.834834834834835,0.0032674218240429324 +4.854854854854855,0.003112842395274624 +4.874874874874875,0.002964977268222571 +4.894894894894895,0.0028235659786812048 +4.914914914914915,0.0026883566103707754 +4.934934934934935,0.002559105589743716 +4.954954954954955,0.002435577482016225 +4.974974974974975,0.0023175447886358397 +4.994994994994995,0.0022047877463817387 +5.015015015015015,0.0020970941282810306 +5.035035035035035,0.001994259046511198 +5.055055055055055,0.0018960847574462532 +5.075075075075075,0.0018023804689920857 +5.095095095095095,0.0017129621503447277 +5.115115115115115,0.0016276523442940464 +5.135135135135135,0.0015462799821846208 +5.155155155155155,0.0014686802016351133 +5.175175175175175,0.001394694167107605 +5.195195195195195,0.0013241688934087711 +5.215215215215215,0.0012569570721957229 +5.235235235235235,0.001192916901550638 +5.255255255255255,0.0011319119186799756 +5.275275275275275,0.0010738108357861902 +5.295295295295295,0.001018487379152321 +5.315315315315315,0.0009658201314726541 +5.335335335335335,0.0009156923774558751 +5.355355355355355,0.000867991952720666 +5.375375375375375,0.0008226110959976018 +5.395395395395395,0.000779446304645428 +5.415415415415415,0.0007383981934843471 +5.435435435435435,0.0006993713569438073 +5.455455455455455,0.0006622742345174681 +5.475475475475475,0.0006270189795134673 +5.495495495495495,0.0005935213310838689 +5.515515515515515,0.0005617004895132139 +5.535535535535535,0.0005314789947423646 +5.555555555555555,0.0005027826081004157 +5.575575575575575,0.00047554019721421945 +5.595595595595595,0.0004496836240621328 +5.615615615615615,0.0004251476361358544 +5.635635635635635,0.0004018697606717221 +5.655655655655655,0.0003797902019105335 +5.675675675675675,0.00035885174134287574 +5.6956956956956954,0.0003389996408950473 +5.7157157157157155,0.00032018154900895126 +5.7357357357357355,0.0003023474095678058 +5.7557557557557555,0.0002854493736181665 +5.7757757757757755,0.0002694417138375578 +5.7957957957957955,0.0002542807416959667 +5.8158158158158155,0.00023992472725856636 +5.8358358358358355,0.00022633382157628671 +5.8558558558558556,0.00021346998161022183 +5.875875875875876,0.00020129689763538565 +5.895895895895896,0.00018977992306894084 +5.915915915915916,0.00017888600666777975 +5.935935935935936,0.0001685836270401698 +5.955955955955956,0.00015884272941613561 +5.975975975975976,0.00014963466462127818 +5.995995995995996,0.00014093213019887355 +6.016016016016017,0.00013270911362529258 +6.0360360360360374,0.0001249408375640859 +6.0560560560560575,0.00011760370710441984 +6.0760760760760775,0.00011067525893000344 +6.0960960960960975,0.00010413411236510938 +6.1161161161161175,9.795992224485362e-05 +6.1361361361361375,9.213333355749412e-05 +6.1561561561561575,8.663593780715703e-05 +6.1761761761761775,8.145023104608508e-05 +6.1961961961961975,7.65595735262442e-05 +6.216216216216218,7.194815092088248e-05 +6.236236236236238,6.76009370674413e-05 +6.256256256256258,6.350365818404818e-05 +6.276276276276278,5.9642758512672495e-05 +6.296296296296298,5.6005367342908116e-05 +6.316316316316318,5.25792673712398e-05 +6.336336336336338,4.9352864351568826e-05 +6.356356356356358,4.6315157993698466e-05 +6.376376376376378,4.3455714067421535e-05 +6.396396396396398,4.076463767080106e-05 +6.416416416416418,3.8232547622191e-05 +6.436436436436438,3.585055193650334e-05 +6.456456456456458,3.361022434719238e-05 +6.476476476476478,3.150358183638999e-05 +6.496496496496498,2.9523063136588824e-05 +6.516516516516518,2.766150816822985e-05 +6.536536536536538,2.5912138378506647e-05 +6.556556556556558,2.426853794764966e-05 +6.576576576576578,2.2724635829895104e-05 +6.596596596596598,2.1274688597279437e-05 +6.616616616616618,1.9913264055325105e-05 +6.636636636636638,1.8635225600597198e-05 +6.656656656656658,1.7435717291016437e-05 +6.676676676676678,1.63101496007023e-05 +6.696696696696698,1.5254185832000485e-05 +6.716716716716718,1.426372915821215e-05 +6.736736736736738,1.3334910271392269e-05 +6.756756756756758,1.246407561042e-05 +6.776776776776778,1.1647776145362758e-05 +6.796796796796798,1.0882756694959527e-05 +6.816816816816818,1.0165945754836208e-05 +6.836836836836838,9.4944458148363e-06 +6.856856856856858,8.865524144603866e-06 +6.876876876876878,8.276604027292432e-06 +6.896896896896898,7.7252564219929e-06 +6.916916916916918,7.209192036175401e-06 +6.936936936936938,6.726253790124483e-06 +6.956956956956958,6.274409656014098e-06 +6.976976976976978,5.851745854918375e-06 +6.996996996996998,5.456460395685988e-06 +7.017017017017018,5.086856940220749e-06 +7.037037037037038,4.741338980308082e-06 +7.057057057057058,4.418404311707375e-06 +7.077077077077078,4.116639791792951e-06 +7.097097097097098,3.834716367572807e-06 +7.117117117117118,3.571384361443521e-06 +7.137137137137138,3.3254690025527993e-06 +7.157157157157158,3.0958661921378847e-06 +7.177177177177178,2.8815384916887304e-06 +7.197197197197198,2.6815113232498177e-06 +7.217217217217218,2.4948693716240375e-06 +7.237237237237238,2.320753178676375e-06 +7.257257257257258,2.1583559203545567e-06 +7.277277277277278,2.0069203574486368e-06 +7.297297297297298,1.8657359515020388e-06 +7.317317317317318,1.7341361376632196e-06 +7.337337337337338,1.6114957466299333e-06 +7.357357357357358,1.4972285681877958e-06 +7.377377377377378,1.390785049181357e-06 +7.397397397397398,1.2916501190799161e-06 +7.417417417417418,1.1993411366118397e-06 +7.437437437437438,1.1134059512408126e-06 +7.457457457457458,1.0334210735453162e-06 +7.477477477477478,9.589899488392652e-07 +7.497497497497498,8.89741328637246e-07 +7.517517517517518,8.253277348227345e-07 +7.537537537537538,7.654240116221353e-07 +7.557557557557558,7.097259607219805e-07 +7.577577577577578,6.579490550913645e-07 +7.5975975975975985,6.098272272870159e-07 +7.6176176176176185,5.651117282246155e-07 +7.6376376376376385,5.235700525974022e-07 +7.6576576576576585,4.849849273120124e-07 +7.6776776776776785,4.4915335949220685e-07 +7.6976976976976985,4.1588574077388435e-07 +7.7177177177177185,3.8500500477996553e-07 +7.7377377377377385,3.563458348214471e-07 +7.7577577577577586,3.2975391902162033e-07 +7.777777777777779,3.050852502042829e-07 +7.797797797797799,2.8220546802401906e-07 +7.817817817817819,2.60989240947568e-07 +7.837837837837839,2.4131968582014115e-07 +7.857857857857859,2.2308782286955646e-07 +7.877877877877879,2.061920641144635e-07 +7.897897897897899,1.905377332509137e-07 +7.917917917917919,1.7603661519438925e-07 +7.937937937937939,1.6260653355226847e-07 +7.957957957957959,1.5017095439482947e-07 +7.977977977977979,1.3865861478146696e-07 +7.997997997997999,1.2800317458300336e-07 +8.018018018018019,1.1814289022100969e-07 +8.038038038038039,1.090203090210869e-07 +8.058058058058059,1.005819829492733e-07 +8.078078078078079,9.277820056931877e-08 +8.098098098098099,8.556273612362166e-08 +8.118118118118119,7.889261470237839e-08 +8.138138138138139,7.272789252404431e-08 +8.158158158158159,6.703145140571939e-08 +8.178178178178179,6.176880655469655e-08 +8.198198198198199,5.6907926862259885e-08 +8.218218218218219,5.2419066928043386e-08 +8.238238238238239,4.8274610087966266e-08 +8.258258258258259,4.444892176108461e-08 +8.278278278278279,4.0918212470738604e-08 +8.298298298298299,3.766040993324921e-08 +8.318318318318319,3.465503964323947e-08 +8.338338338338339,3.188311341850448e-08 +8.358358358358359,2.9327025399350928e-08 +8.378378378378379,2.697045502755155e-08 +8.398398398398399,2.4798276558596732e-08 +8.418418418418419,2.279647468787558e-08 +8.438438438438439,2.0952065896847053e-08 +8.458458458458459,1.925302514925403e-08 +8.478478478478479,1.768821759006418e-08 +8.498498498498499,1.6247334921157145e-08 +8.518518518518519,1.4920836147889933e-08 +8.538538538538539,1.3699892409622672e-08 +8.558558558558559,1.2576335625140197e-08 +8.578578578578579,1.1542610700715167e-08 +8.598598598598599,1.0591731064385666e-08 +8.618618618618619,9.717237304914516e-09 +8.63863863863864,8.913158707911974e-09 +8.65865865865866,8.173977494784034e-09 +8.67867867867868,7.494595582561493e-09 +8.6986986986987,6.870303694316149e-09 +8.71871871871872,6.296752660816444e-09 +8.73873873873874,5.7699267643599956e-09 +8.75875875875876,5.28611898537923e-09 +8.77877877877878,4.841908021483401e-09 +8.7987987987988,4.434136957112363e-09 +8.81881881881882,4.059893469963204e-09 +8.83883883883884,3.716491467841983e-09 +8.85885885885886,3.401454056618205e-09 +8.87887887887888,3.1124977465452213e-09 +8.8988988988989,2.847517810382273e-09 +8.91891891891892,2.604574712536835e-09 +8.93893893893894,2.3818815338630113e-09 +8.95895895895896,2.1777923218238912e-09 +8.97897897897898,1.9907913004742718e-09 +8.998998998999,1.8194828791637996e-09 +9.01901901901902,1.6625824030183372e-09 +9.03903903903904,1.5189075921459597e-09 +9.05905905905906,1.38737062015004e-09 +9.07907907907908,1.266970785931154e-09 +9.0990990990991,1.1567877359357649e-09 +9.11911911911912,1.0559751969774664e-09 +9.13913913913914,9.637551825284225e-10 +9.15915915915916,8.794126379666174e-10 +9.17917917917918,8.022904926806516e-10 +9.1991991991992,7.317850891883775e-10 +9.21921921921922,6.673419615290896e-10 +9.23923923923924,6.084519371509368e-10 +9.25925925925926,5.546475383444925e-10 +9.27927927927928,5.054996609787182e-10 +9.2992992992993,4.6061450988468017e-10 +9.31931931931932,4.1963077171299245e-10 +9.33933933933934,3.8221700746994e-10 +9.35935935935936,3.480692482213214e-10 +9.37937937937938,3.1690877864837094e-10 +9.3993993993994,2.884800942525761e-10 +9.41941941941942,2.6254901904118343e-10 +9.43943943943944,2.3890097148788503e-10 +9.45945945945946,2.1733936745835158e-10 +9.47947947947948,1.9768414962249373e-10 +9.4994994994995,1.7977043364875085e-10 +9.51951951951952,1.6344726219431744e-10 +9.53953953953954,1.4857645837274253e-10 +9.55955955955956,1.3503157100019476e-10 +9.57957957957958,1.226969044971726e-10 +9.5995995995996,1.114666268565524e-10 +9.61961961961962,1.012439495844808e-10 +9.63963963963964,9.194037398035494e-11 +9.65965965965966,8.347499854850021e-11 +9.67967967967968,7.577388272945277e-11 +9.6996996996997,6.876946250516688e-11 +9.71971971971972,6.240001377199487e-11 +9.73973973973974,5.6609159689839135e-11 +9.75975975975976,5.134541850719675e-11 +9.77977977977978,4.656178863156737e-11 +9.7997997997998,4.2215367964389906e-11 +9.81981981981982,3.826700475075735e-11 +9.83983983983984,3.4680977407952604e-11 +9.85985985985986,3.142470099460374e-11 +9.87987987987988,2.8468458165120247e-11 +9.8998998998999,2.57851526231251e-11 +9.91991991991992,2.3350083243845715e-11 +9.93993993993994,2.1140737179795716e-11 +9.95995995995996,1.913660039744377e-11 +9.97997997997998,1.731898421572835e-11 +10.0,1.5670866530993244e-11 diff --git a/graphics/plots/z_distribution.typ b/graphics/plots/z_distribution.typ new file mode 100644 index 0000000..1d248b5 --- /dev/null +++ b/graphics/plots/z_distribution.typ @@ -0,0 +1,26 @@ +#import "@preview/cetz:0.2.2": * + +#let data = csv("../../data/z_distribution/z_distribution.csv") +#let data = data.map(value => value.map(v => float(v))) + +#let line_style = (stroke: (paint: black, thickness: 2pt)) +#let dashed = (stroke: (dash: "dashed")) +#canvas({ + plot.plot(size: (8,3), + legend : "legend.south", + legend-style: (orientation: ltr, item: (spacing: 0.5)), + x-tick-step: none, + x-ticks: ((0, [0]), (100, [0])), + y-label: $cal(Q)(1, z), abs(f_"Z" (z))$, + x-label: $z$, + y-tick-step: none, + y-ticks: ((0, [0]), (0.6, [1])), + axis-style: "left", + x-min: -5, + x-max: 5, + y-min: 0, + y-max: 0.6,{ + plot.add((data), style: (stroke: (paint: red, thickness: 2pt)), label: [Optimized PDF]) + plot.add(((-5, 0), (0, 0), (0, 0.6), (5, 0.6)), style: line_style, label: [Quantizer]) + }) +}) diff --git a/main.pdf b/main.pdf index 2ec3774..efc78b9 100644 Binary files a/main.pdf and b/main.pdf differ