Compare commits
11 Commits
635c0aab18
...
0848e5dea6
| Author | SHA1 | Date | |
|---|---|---|---|
| 0848e5dea6 | |||
| 7e18985b86 | |||
| 152e784546 | |||
| 15190ccf48 | |||
| 606d68e2c1 | |||
| 47493a6beb | |||
| 76a91c7d32 | |||
| 1632f19c47 | |||
| 3d3556689e | |||
| 4555570665 | |||
| 3b7618e1d1 |
@@ -224,25 +224,25 @@ construction for the [7,4,3]-Hamming code.
|
|||||||
}
|
}
|
||||||
|
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
\node[VN, label=above:$x_1$] (vn1) {};
|
\node[VN, label=above:$x_0$] (vn1) {};
|
||||||
\node[VN, right=12mm of vn1, label=above:$x_2$] (vn2) {};
|
\node[VN, right=12mm of vn1, label=above:$x_1$] (vn2) {};
|
||||||
\node[VN, right=12mm of vn2, label=above:$x_3$] (vn3) {};
|
\node[VN, right=12mm of vn2, label=above:$x_2$] (vn3) {};
|
||||||
\node[VN, right=12mm of vn3, label=above:$x_4$] (vn4) {};
|
\node[VN, right=12mm of vn3, label=above:$x_3$] (vn4) {};
|
||||||
\node[VN, right=12mm of vn4, label=above:$x_5$] (vn5) {};
|
\node[VN, right=12mm of vn4, label=above:$x_4$] (vn5) {};
|
||||||
\node[VN, right=12mm of vn5, label=above:$x_6$] (vn6) {};
|
\node[VN, right=12mm of vn5, label=above:$x_5$] (vn6) {};
|
||||||
\node[VN, right=12mm of vn6, label=above:$x_7$] (vn7) {};
|
\node[VN, right=12mm of vn6, label=above:$x_6$] (vn7) {};
|
||||||
|
|
||||||
\node[
|
\node[
|
||||||
CN, below=25mm of vn4,
|
CN, below=25mm of vn4,
|
||||||
label={below:$x_1 + x_3 + x_4 + x_6 = 0$}
|
label={below:$x_0 + x_2 + x_3 + x_5 = 0$}
|
||||||
] (cn2) {};
|
] (cn2) {};
|
||||||
\node[
|
\node[
|
||||||
CN, left=40mm of cn2,
|
CN, left=40mm of cn2,
|
||||||
label={below:$x_2 + x_3 + x_4 + x_5 = 0$}
|
label={below:$x_1 + x_2 + x_3 + x_4 = 0$}
|
||||||
] (cn1) {};
|
] (cn1) {};
|
||||||
\node[
|
\node[
|
||||||
CN, right=40mm of cn2,
|
CN, right=40mm of cn2,
|
||||||
label={below:$x_1 + x_2 + x_4 + x_7 = 0$}
|
label={below:$x_0 + x_1 + x_3 + x_6 = 0$}
|
||||||
] (cn3) {};
|
] (cn3) {};
|
||||||
|
|
||||||
\foreach \n in {2,3,4,5} {
|
\foreach \n in {2,3,4,5} {
|
||||||
@@ -268,9 +268,9 @@ construction for the [7,4,3]-Hamming code.
|
|||||||
%
|
%
|
||||||
|
|
||||||
Mathematically, we represent a \ac{vn} using the index $i \in
|
Mathematically, we represent a \ac{vn} using the index $i \in
|
||||||
\mathcal{I} := \left[
|
\mathcal{I} := \left[ 0:n-1 \right] := \left\{ 0,1,\ldots,n-1 \right\}$
|
||||||
1 : n \right]$ and a \ac{cn} using the index $j \in \mathcal{J}
|
and a \ac{cn} using the index $j \in \mathcal{J}
|
||||||
:= \left[ 1 : m \right]$.
|
:= \left[ 0 : m-1 \right]$.
|
||||||
We can then encode the information contained in the graph by defining
|
We can then encode the information contained in the graph by defining
|
||||||
the neighborhood of a variable node $i$ as
|
the neighborhood of a variable node $i$ as
|
||||||
$\mathcal{N}_\text{V} (i) = \left\{ j \in \mathcal{J} : \bm{H}_{j,i}
|
$\mathcal{N}_\text{V} (i) = \left\{ j \in \mathcal{J} : \bm{H}_{j,i}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ address both.
|
|||||||
% Definition of fault tolerance
|
% Definition of fault tolerance
|
||||||
|
|
||||||
We model the possible occurrence of errors during any processing
|
We model the possible occurrence of errors during any processing
|
||||||
stage as different \emph{error locations} $E_i,~i\in \{1,\ldots,N\}$
|
stage as different \emph{error locations} $E_i,~i\in [1:N]$
|
||||||
in the circuit.
|
in the circuit.
|
||||||
$N \in \mathbb{N}$ is the total number of considered error locations.
|
$N \in \mathbb{N}$ is the total number of considered error locations.
|
||||||
The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector
|
The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector
|
||||||
@@ -861,7 +861,7 @@ can add the results from the previous round, as illustrated in
|
|||||||
\Cref{fig:detectors_from_measurements_general}.
|
\Cref{fig:detectors_from_measurements_general}.
|
||||||
We thus have $D=n-k$.
|
We thus have $D=n-k$.
|
||||||
Concretely, we denote the outcome of
|
Concretely, we denote the outcome of
|
||||||
measurement $\ell \in \{1,\ldots,n-k\}$ in round $r \in \{1,\ldots,R\}$ by
|
measurement $\ell \in [1:n-k]$ in round $r \in [1:R]$ by
|
||||||
$m_\ell^{(r)} \in \mathbb{F}_2$
|
$m_\ell^{(r)} \in \mathbb{F}_2$
|
||||||
and define
|
and define
|
||||||
\begin{gather*}
|
\begin{gather*}
|
||||||
@@ -873,7 +873,7 @@ and define
|
|||||||
\end{pmatrix}
|
\end{pmatrix}
|
||||||
.%
|
.%
|
||||||
\end{gather*}
|
\end{gather*}
|
||||||
Similarly, we denote the outcome of detector $j\in\{1,\ldots,D\}$ in
|
Similarly, we denote the outcome of detector $j\in[1:D]$ in
|
||||||
round $r$ by $d_j^{(r)} \in \mathbb{F}_2$ and define
|
round $r$ by $d_j^{(r)} \in \mathbb{F}_2$ and define
|
||||||
\begin{gather}
|
\begin{gather}
|
||||||
\label{eq:measurement_combination}
|
\label{eq:measurement_combination}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -129,6 +129,24 @@ sp="/-\|"
|
|||||||
# done
|
# done
|
||||||
# done
|
# done
|
||||||
|
|
||||||
|
# Copy whole BP over max iter. results
|
||||||
|
|
||||||
|
echo -e "\rCopying whole over max_iter simulation results..."
|
||||||
|
echo -n ' '
|
||||||
|
for decoder in "SyndromeMinSumDecoder"; do
|
||||||
|
for p in 0.001 0.0025 0.004; do
|
||||||
|
SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bp,decoder.class_name=${decoder},simulation.phy_err_rate=${p}/"
|
||||||
|
LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||||
|
SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||||
|
DEST_DIR="res/sim/max_iter/${decoder}/p_${p}/"
|
||||||
|
mkdir -p ${DEST_DIR}
|
||||||
|
DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||||
|
cp ${SRC_FILE} ${DEST_FILE}
|
||||||
|
post_process_LERs ${DEST_FILE}
|
||||||
|
printf "\b${sp:i++%${#sp}:1}"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
# # Copy BPGD decimation passing
|
# # Copy BPGD decimation passing
|
||||||
#
|
#
|
||||||
# echo -e "\rCopying BPGD param exploration results..."
|
# echo -e "\rCopying BPGD param exploration results..."
|
||||||
@@ -151,20 +169,20 @@ sp="/-\|"
|
|||||||
|
|
||||||
# Copy BPGD with decimation info passing over max iter. results
|
# Copy BPGD with decimation info passing over max iter. results
|
||||||
|
|
||||||
echo -e "\rCopying BPGD over max. iter. results..."
|
# echo -e "\rCopying BPGD over max. iter. results..."
|
||||||
echo -n ' '
|
# echo -n ' '
|
||||||
for pass_soft_info in "True" "False"; do
|
# for pass_soft_info in "True" "False"; do
|
||||||
for F in 1 2 3; do
|
# for F in 1 2 3; do
|
||||||
for W in 3 4 5; do
|
# for W in 3 4 5; do
|
||||||
SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=0.0025,system.F=${F},system.W=${W}/"
|
# SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=0.0025,system.F=${F},system.W=${W}/"
|
||||||
LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||||
SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||||
DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoderPassDecimation/p_0.0025/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
# DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoderPassDecimation/p_0.0025/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||||
mkdir -p ${DEST_DIR}
|
# mkdir -p ${DEST_DIR}
|
||||||
DEST_FILE="${DEST_DIR}/LERs.csv"
|
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||||
cp ${SRC_FILE} ${DEST_FILE}
|
# cp ${SRC_FILE} ${DEST_FILE}
|
||||||
post_process_LERs ${DEST_FILE}
|
# post_process_LERs ${DEST_FILE}
|
||||||
printf "\b${sp:i++%${#sp}:1}"
|
# printf "\b${sp:i++%${#sp}:1}"
|
||||||
done
|
# done
|
||||||
done
|
# done
|
||||||
done
|
# done
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||||
|
32,10528,0.0354293313069908,0.0030015014232951387,372.99999999999915
|
||||||
|
128,68422,0.0029230364502645,0.00024391332035389457,199.99999999999764
|
||||||
|
256,100000,0.00184,0.00015346279666106355,184.0
|
||||||
|
512,100000,0.00122,0.00010172355962756452,122.0
|
||||||
|
1024,100000,0.00084,7.002696447200307e-05,84.0
|
||||||
|
2048,100000,0.00052,4.33436645435048e-05,51.99999999999999
|
||||||
|
4096,100000,0.00042,3.5006739308451884e-05,42.0
|
||||||
|
@@ -0,0 +1,8 @@
|
|||||||
|
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||||
|
32,5264,0.3575227963525836,0.03619728900635699,1882.0
|
||||||
|
128,5264,0.1118920972644376,0.00983977212107956,588.9999999999995
|
||||||
|
256,5264,0.0818768996960486,0.007093372523371166,430.99999999999983
|
||||||
|
512,5264,0.0645896656534954,0.005548714177492475,339.9999999999998
|
||||||
|
1024,5264,0.0524316109422492,0.004477957765848362,275.9999999999998
|
||||||
|
2048,5264,0.0442629179331307,0.0037655941776483237,233.0
|
||||||
|
4096,10528,0.0361892097264437,0.0030669771276242708,380.99999999999926
|
||||||
|
@@ -0,0 +1,8 @@
|
|||||||
|
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||||
|
32,5264,0.8651215805471124,0.15375677320993897,4554.0
|
||||||
|
128,5264,0.5987841945288754,0.0732807818579091,3152.0000000000005
|
||||||
|
256,5264,0.5184270516717325,0.05907464062706547,2729.0
|
||||||
|
512,5264,0.4591565349544073,0.04992921073125611,2417.0
|
||||||
|
1024,5264,0.4209726443768997,0.04451268995716784,2216.0
|
||||||
|
2048,5264,0.3865881458966565,0.03990837706831185,2035.0
|
||||||
|
4096,5264,0.3563829787234042,0.036054914686007855,1875.9999999999995
|
||||||
|
Reference in New Issue
Block a user