Questions about David MacKay's Sparse graph code resources are answered here.
This is a database of sparse graph codes. Properties recorded include the codes' parity check matrices, their rates and minimum distances, their empirical performance on the binary input Gaussian noise channel, and histograms of decoding times.
These Codes and Related Data are made freely available under the conditions that (1) when they are used, the authors of the codes and the data and this archive are acknowledged; (2) the authors of the codes and data are not liable for any inaccuracies in the materials presented here or any failure of the codes to work as hoped.
Note: there are more codes that I have simulated that have not yet made it into this archive. If you have any requests for additions, email me. With appropriate incentives (eg financial support for my group), I can probably help.
Key for ascii performance files: see this file.
Further information about alist format.
Note on high rate codes:
the following numbers give the highest rate codes I have made
with column weights 3 and 4.
Rate j N M 0.889 4 1998 222 0.876 4 3584 444 0.889 3 999 111 0.9098 3 998 90 0.889 3 900 100 0.8745 3 494 62 0.878 3 492 60 0.927 4 4096 300 0.936 4 4376 282
Acknowledgements: The work of the inference group is supported by IBM Zurich research laboratory.
Under construction
| 96.44.443 (N=,K=,M=,R=) | 96.44.665 (N=,K=,M=,R=) |
| 96.44.887 (N=,K=,M=,R=) | 60.44.246 (N=,K=,M=,R=) |
| 816.55.134 (N=816,K=408,M=408,R=0.5) | 816.55.156 (N=816,K=408,M=408,R=0.5) |
| 816.55.178 (N=816,K=408,M=408,R=0.5) |
| 204.55.187 (N=204,K=102,M=102,R=0.5) | 204.55.165 (N=204,K=102,M=102,R=0.5) |
| 204.55.153 (N=204,K=102,M=102,R=0.5) |
| 816.66.634 (N=816,K=408,M=408,R=0.5) | 816.66.656 (N=816,K=408,M=408,R=0.5) |
| 816.66.678 (N=816,K=408,M=408,R=0.5) |
| 408.1A3.832 (N=,K=,M=,R=) | 408.2A3.342 (N=,K=,M=,R=) |
| 408.1A3.452 (N=,K=,M=,R=) | 408.2A3.564 (N=,K=,M=,R=) |
| 408.1A3.675 (N=,K=,M=,R=) | 408.2A3.786 (N=,K=,M=,R=) |
| 408.1A4.482 (N=,K=,M=,R=) | 408.1A4.483 (N=,K=,M=,R=) |
| 408.1A4.485 (N=,K=,M=,R=) |
| 816.1A4.842 (N=,K=,M=,R=) | 816.1A4.843 (N=816 ,K=272,M=544,R= 0.3346) |
| 816.1A4.845 (N=816,K=272,M=544,R= 0.3333) |
| 60.1A4.246 (N=,K=,M=,R=) | 60.1A4.245 (N=,K=,M=,R=) |
| 54.1A4.254 (N=,K=,M=,R=) | 54.1A4.253 (N=,K=,M=,R=) |
| 48.1A4.153 (N=,K=,M=,R=) | 48.1A4.154 (N=,K=,M=,R=) |
| 48.1A4.158 (N=,K=,M=,R=) |
| 204.1A6.138 (N=,K=,M=,R=) | 204.1A6.139 (N=,K=,M=,R=) |
| 204.1A6.338 (N=,K=,M=,R=) |
| 96.1A3.838 (N=,K=,M=,R=) | 96.2A3.343 (N=,K=,M=,R=) |
| 96.1A3.454 (N=,K=,M=,R=) | 96.2A3.565 (N=,K=,M=,R=) |
| 96.1A3.676 (N=,K=,M=,R=) | 96.2A3.787 (N=,K=,M=,R=) |
| 120.64.3.109 (N=120,K=56,M=64,R= 0.4667) | 120.64.3.110 (N=120,K=56,M=64,R= 0.4667) |
| 120.64.3.111 (N=120,K=56,M=64,R= 0.4667) |
| 271.127.3.112 (N=271,K=144,M=127,R= 0.5314) | 271.127.3.113 (N=271,K=144,M=127,R= 0.5314) |
| 271.127.3.114 (N=271,K=144,M=127,R= 0.5314) |
| 10002.3.333e (N=13298,K=3296,M=10002,R=0.5) |
| 273.82.3.353 (N=,K=,M=,R=) | 273.82.3.364 (N=,K=,M=,R=) |
| 273.82.3.378 (N=,K=,M=,R=) | 273.82.4.556 (N=,K=,M=,R=) |
| 273.82.4.2763 (N=,K=,M=,R=) | 273.82.4.3065 (N=,K=,M=,R=) |
| 1057.244.3.352 (N=,K=,M=,R=) | 1057.244.3.353 (N=,K=,M=,R=) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1057.244.3.457 (N=,K=,M=,R=) | 1057.244.4.360 (N=,K=,M=,R=) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1057.244.4.364 (N=,K=,M=,R=) | 1057.244.4.389 (N=,K=,M=,R=) |
| 495.62.3.2915 (N=495,K=433,M=62,R= 0.8747) |
| 999.111.3.5543 (N=999,K=888,M=111,R= 0.8889) | 999.111.3.5555 (N=999,K=888,M=111,R= 0.8889) |
| 999.111.3.5565 (N=999,K=888,M=111,R= 0.8889) |
| 4376.282.4.9598 (N=4376,K=4094,M=282,R= 0.9356) | 3584.5.3.4326 (N=3584,K=3140,M=444,R=0.876) |
| s2.943.349 (N=1998,K=1776,M=222,R= 0.8889) | s2.94c.194 (N=1998,K=1776,M=222,R= 0.8889) |
| 4095.737.3.101 (N=4095,K=3358,M=737,R= 0.82) | 4095.738.4.102 (N=4095,K=3357,M=738,R= 0.82) |
| 4161.731.4.352 (N=4095,K=3364,M=731,R= 0.8215) | 4161.731.4.356 (N=4095,K=3364,M=731,R= 0.8215) |
| 16383.2130.3.103 (N=16383,K=14253,M=2130,R= 0.87) | 16383.2131.4.104 (N=16383,K=14252,M=2131,R= 0.87) |
| 32000.2240.3.105 (N=32000,K=29760,M=2240,R= 0.93) | 32000.2241.4.106 (N=32000,K=29759,M=2241,R= 0.93) |
algebraic/monodec10.3 (N=15,K=5,M=10,R= 0.4)
DSC codes
Repeat-accumulate codes (Divsalar, D., Jin, H., and McEliece, R. J., 1998)Nothing here at the moment (under construction)Here are the details of individual codes: 96.3.963 (N=96,K=48,M=48,R=0.5)
96.33.964 (N=96,K=48,M=48,R=0.5)
96.3.965 (N=96,K=48,M=48,R=0.5)
96.33.966 (N=96,K=48,M=48,R=0.5)
96.3.967 (N=96,K=48,M=48,R=0.5)
96.33.968 (N=96,K=48,M=48,R=0.5)
|
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=483 N=204 GH/spec3 > GHC/204.3.483 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=484 N=204 GH/spec33 > GHC/204.33.484 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=485 N=204 GH/spec3 > GHC/204.3.485 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=486 N=204 GH/spec33 > GHC/204.33.486 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=487 N=204 GH/spec3 > GHC/204.3.487 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=488 N=204 GH/spec33 > GHC/204.33.488 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=834 N=408 GH/spec3 > GHC/408.3.834 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay (recreated March 2009) |
| R: | 0.5 |
| created: | GHG.p seed=844 N=408 GH/spec33 > GHC/408.33.844 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay (recreated March 2009) |
| R: | 0.5 |
| created: | GHG.p seed=854 N=408 GH/spec3 > GHC/408.3.854 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay (recreated March 2009) |
| R: | 0.5 |
| created: | GHG.p seed=864 N=408 GH/spec33 > GHC/408.33.864 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=874 N=408 GH/spec3 > GHC/408.3.874 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 408 |
| M: | 204 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=884 N=408 GH/spec33 > GHC/408.33.884 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=134 N=816 GH/spec3 > GHC/816.3.134 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=144 N=816 GH/spec33 > GHC/816.33.144 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=154 N=816 GH/spec3 > GHC/816.3.154 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=164 N=816 GH/spec33 > GHC/816.33.164 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| Alist file: | parity check matrix |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=174 N=816 GH/spec3 > GHC/816.3.174 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=184 N=816 GH/spec33 > GHC/816.33.184 |
| Alist file: | parity check matrix |
| N: | 504 |
| M: | 252 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | code4r -cheap 1 -n 252 -t1 3 -v 0 -rho 1 -hd 3 -seed 252 |
| Alist file: | parity check matrix |
| N: | 1008 |
| M: | 504 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 3 |
| created: | code4r -cheap 1 -n 504 -t1 3 -v 0 -rho 1 -hd 3 -seed 504 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 2640 |
| M: | 1320 |
| t: | 3 |
| R: | 0.5 |
| author: | Mike Postol + David MacKay |
| created: | This is Margulis's Cayley graph construction with p=11. It has distance <= 220. It has a (12,4) near-codeword. |
| Alist file: | parity check matrix |
| N: | 4896 |
| M: | 2448 |
| Mtrue: | 2422 |
| Ktrue: | 2474 |
| t: | 3 |
| author: | Pascal Vontobel and Joachim Rosenthal. |
| created: | Constructed using Ramanujan graphs and ideas from Margulis. (q=17, p=5) (Allerton 2000) |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 4000 |
| M: | 2000 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 3 |
| created: | code6 -n1 0 -n 4000 -t2 3 -t1 3 -v 0 -m 2000 -seed 243 -o GHC/4000.2000.3.243 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 8000 |
| M: | 4000 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 3 |
| created: | code6 -n1 0 -n 8000 -t2 3 -t1 3 -v 0 -m 4000 -seed 483 -o GHC/8000.4000.3.483 |
| Alist file: | parity check matrix |
| N: | 20000 |
| M: | 10000 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 3 |
| created: |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=383 N=816 GH/spec4 > GHC/816.4.383 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=434 N=816 GH/spec44 > GHC/816.44.434 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=545 N=816 GH/spec4 > GHC/816.4.545 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=656 N=816 GH/spec44 > GHC/816.44.656 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=767 N=816 GH/spec4 > GHC/816.4.767 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| t: | 4 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=878 N=816 GH/spec44 > GHC/816.44.878 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 4000 |
| M: | 2000 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 4 |
| created: | code6 -n1 0 -n 4000 -t2 4 -t1 4 -v 0 -m 2000 -seed 244 -o GHC/4000.2000.4.244 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 8000 |
| M: | 4000 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 4 |
| created: | code6 -n1 0 -n 8000 -t2 4 -t1 4 -v 0 -m 4000 -seed 484 -o GHC/8000.4000.4.484 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=548 N=96 GH/spec44 > GHC/96.44.443 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=665 N=96 GH/spec44 > GHC/96.44.665 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=887 N=96 GH/spec44 > GHC/96.44.887 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=548 N=60 GH/spec44 > GHC/60.44.246 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=434 N=816 GH/spec55 > GHC/816.55.134 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=656 N=816 GH/spec55 > GHC/816.55.156 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=878 N=816 GH/spec55 > GHC/816.55.178 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=837 N=204 GH/spec55 > GHC/204.55.187 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=521679 N=204 GH/spec55 > GHC/204.55.165 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 204 |
| M: | 102 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=41627 N=204 GH/spec55 > GHC/204.55.153 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=434 N=816 GH/spec66 > GHC/816.66.634 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=656 N=816 GH/spec66 > GHC/816.66.656 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 408 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| created: | GHG.p seed=878 N=816 GH/spec66 > GHC/816.66.678 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | "Super Poisson" code labelled '93x'. Simulations reported in "Comparison of Construction of Irregular Gallager Codes" in Trans. on Comm. vol 47, oct. 1999 used up to a maximum of 200 iterations. |
| created: | GH.p file=GH93xb.p spec93xb GH93xb.p seed=329 M=4986 > ../GHC/4986.93xb.329 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | "Super Poisson code" labelled '93y'. Simulations reported in "Comparison of Construction of Irregular Gallager Codes" in Trans. on Comm. vol 47, oct. 1999 used up to a maximum of 200 iterations. |
| created: | GH.p file=GH93y.p spec93y GH93y.p seed=654 M=4986 > ../GHC/4986.93y.654 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | 4986.l3u.306 Linear-time encodeable 'l3' |
| created: |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | 4986.l93.193 Linear-time encodeable 'l93y'. Note this file name contains the characters l(L) and 1(one). |
| created: |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | 4986.93.128 "Sub-Poisson code" is labelled '93a' |
| created: | GH93b.p seed=128 M=4986 > ../GHC/4986.93.128 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3,9 |
| comment: | 4986.93i.939 "Poisson" code, is labelled '93p' |
| created: | Using Matthew Davey's "irreg" software: irreg -i ispec/93 -c > ../GHC/4986.93i.939 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3 |
| comment: | 4986.3.333 Regular weight 3 code is labelled '3' |
| created: | GH3.p seed=333 M=4986 > ../GHC/4986.3.333 |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 9972 |
| M: | 4986 |
| t: | 3 |
| comment: | 4986.33.330 Regular weight 3 code is labelled '33' |
| created: | GH33.p seed=330 M=4986 > ../GHC/4986.33.330 |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 504 |
| M: | 252 |
| t: | 3 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. This is the best known regular Gallager code with these parameters (M,N,t) [Best in the sense of perfromance on AWGN, Wed 11/5/05]. The code is not quite regular in row-degree. |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 1008 |
| M: | 504 |
| t: | 3 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. This is the best known regular Gallager code with these parameters (M,N,t) [Best in the sense of perfromance on AWGN, Wed 11/5/05]. The code is not quite regular in row-degree. |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 504 |
| M: | 252 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. This is the best known code with these parameters (N,M). [Best in the sense of perfromance on AWGN, Wed 11/5/05] |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 1008 |
| M: | 504 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. The best known code with these parameters (N,M). [Best in the sense of perfromance on AWGN, Wed 11/5/05] |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 2048 |
| M: | 1030 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. This code is upper triangular, so fast-encodeable. |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | Xiao-Yu Hu, IBM Zurich research labs |
| N: | 1024 |
| M: | 518 |
| comment: | Progressive Edge Growth construction attempts to maximize girth, and empirically gives very good codes. This code is upper triangular, so fast-encodeable. |
| created: | MainPEG |
| Alist file: | parity check matrix |
| author: | D.J.C. MacKay |
| N: | 1920 |
| M: | 1280 |
| t: | 3 |
| comment: | For proposed international standard for cellular telephones |
| created: |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=833 N=816 GH/spec1A3 > GHC/816.1A3.833 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=344 N=816 GH/spec2A3 > GHC/816.2A3.344 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=455 N=816 GH/spec1A3 > GHC/816.1A3.455 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=566 N=816 GH/spec2A3 > GHC/816.2A3.566 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=677 N=816 GH/spec1A3 > GHC/816.1A3.677 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=788 N=816 GH/spec2A3 > GHC/816.2A3.788 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=832 N=408 GH/spec1A3 > GHC/408.1A3.832 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=342 N=408 GH/spec2A3 > GHC/408.2A3.342 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=452 N=408 GH/spec1A3 > GHC/408.1A3.452 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=564 N=408 GH/spec2A3 > GHC/408.2A3.564 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=675 N=408 GH/spec1A3 > GHC/408.1A3.675 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=786 N=408 GH/spec2A3 > GHC/408.2A3.786 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=482 N=408 GH/spec1A4 > GHC/408.1A4.482 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=483 N=408 GH/spec1A4 > GHC/408.1A4.483 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=485 N=408 GH/spec1A4 > GHC/408.1A4.485 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=842 N=816 GH/spec1A4 > GHC/816.1A4.842 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 544 |
| Mtrue: | 543 |
| Ktrue: | 273 |
| author: | D.J.C. MacKay |
| R: | |
| comment: | Obviously, since this code has all columns of even weight, it must have not-full rank. |
| created: | GHG.p seed=843 N=816 GH/spec1A4 > GHC/816.1A4.843 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 816 |
| M: | 544 |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=845 N=816 GH/spec1A4 > GHC/816.1A4.845 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=548 N=60 GH/spec1A4 > GHC/60.1A4.246 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=545 N=60 GH/spec1A4 > GHC/60.1A4.245 |
| comment: | has a weight 9 codeword (and none smaller) |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=142 N=54 GH/spec1A4 > GHC/54.1A4.254 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=140 N=54 GH/spec1A4 > GHC/54.1A4.253 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=1153 N=48 GH/spec1A4 > GHC/48.1A4.153 |
| comment: | has distance 8. This is an example of a code with (rate,distance) beyond the Gilbert bound: R_GV(8) = 1.0 - H(8.0/48.0) = 0.34997. |
| Ktrue: | 17 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| Ktrue: | 17 |
| created: | GHG.p seed=1163 N=48 tries=1000 GH/spec1A4 > GHC/48.1A4.154 |
| comment: | has distance 8 This is an example of a code with (rate,distance) beyond the Gilbert bound: R_GV(8) = 1.0 - H(8.0/48.0) = 0.34997. |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| Ktrue: | 17 |
| created: | GHG.p seed=1400 N=48 tries=1000 GH/spec1A4 > GHC/48.1A4.158 |
| comment: | has distance greater than 8 This is an example of a code with (rate,distance) beyond the Gilbert bound: R_GV(8) = 1.0 - H(8.0/48.0) = 0.34997. |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=6245399 N=204 GH/spec1A6 > GHC/204.1A6.138 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=46245399 N=204 GH/spec1A6 > GHC/204.1A6.139 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=263438 N=204 GH/spec1A6 > GHC/204.1A6.338 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=838 N=96 GH/spec1A3 > GHC/96.1A3.838 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=343 N=96 GH/spec2A3 > GHC/96.2A3.343 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=454 N=96 GH/spec1A3 > GHC/96.1A3.454 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=565 N=96 GH/spec2A3 > GHC/96.2A3.565 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=676 N=96 GH/spec1A3 > GHC/96.1A3.676 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | GHG.p seed=787 N=96 GH/spec2A3 > GHC/96.2A3.787 |
| Alist file: | parity check matrix |
| N: | 120 |
| M: | 64 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 120 -t1 3 -v 0 -m 64 -hd 3 -seed 1912 -o GHC/120.64.3.109 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 120 |
| M: | 64 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 120 -t1 3 -v 0 -m 64 -hd 3 -seed 1091 -o GHC/120.64.3.110 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 120 |
| M: | 64 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 120 -t1 3 -v 0 -m 64 -hd 3 -seed 1093 -o GHC/120.64.3.111 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 271 |
| M: | 127 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 271 -t1 3 -v 0 -m 127 -hd 3 -seed 1094 -o GHC/271.127.3.112 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 271 |
| M: | 127 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 271 -t1 3 -v 0 -m 127 -hd 3 -seed 1095 -o GHC/271.127.3.113 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 271 |
| M: | 127 |
| t: | 3 |
| author: | D J C MacKay |
| created: | code5 -n 271 -t1 3 -v 0 -m 127 -hd 3 -seed 10916 -o GHC/271.127.3.114 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 13298 |
| M: | 10002 |
| author: | D.J.C. MacKay |
| R: | 0.5 |
| t: | 3 |
| created: |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=273 M=82 verbose=1 docodemod=0 T=3000 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=3 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | |
| M: | |
| author: | D.J.C. MacKay |
| R: | |
| created: | beckmann.p w=4 N=1057 M=244 verbose=1 docodemod=0 T=200 s0=50 |
| Alist file: | parity check matrix |
| N: | 495 |
| M: | 62 |
| t: | 3 |
| author: | D.J.C. MacKay |
| comment: | has one 4-cycle |
| created: | see code/IBM. |
| Alist file: | parity check matrix |
| N: | 999 |
| M: | 111 |
| t: | 3 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| N: | 999 |
| M: | 111 |
| t: | 3 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| N: | 999 |
| M: | 111 |
| t: | 3 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| N: | 1908 |
| M: | 212 |
| t: | 4 |
| author: | D.J.C. MacKay |
| comment: | has no 4-cycles |
| created: | see code/IBM. Used beckmann.p. |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 4 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 4 |
| author: | D.J.C. MacKay |
| created: |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 4 |
| author: | D.J.C. MacKay |
| created: | READGHG has details of how this file was created. The code's been deleted in the move from SF. |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 4 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 4 |
| author: | D.J.C. MacKay |
| created: |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 4376 |
| M: | 282 |
| t: | 4 |
| author: | D.J.C. MacKay |
| comment: | This code was found by an intensive search using construction method 1A followed by manual pruning of two columns to remove the remaining overlaps greater than 1. It is the highest rate code I was able to make with column weight 4 and blocklength near 4376. It may be that this code is sailing too close to the wind, i.e., that its asymptotic performance for high snr is not as good as other Gallager codes. Nevertheless, in experiments so far this code competes well with RS and BCH codes. |
| Alist file: | parity check matrix |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 3584 |
| K: | 3140 |
| R: | 0.876 |
| t: | 4 |
| comment: | Construction 1A was used. |
| author: | D.J.C. MacKay |
| created: |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 3-4 |
| author: | D.J.C. MacKay |
| created: | |
| comment: | This code has a few weight 3 columns and they spoil its performance |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| N: | 1998 |
| M: | 222 |
| t: | 3-4 |
| author: | D.J.C. MacKay |
| created: | |
| comment: | This code has a few weight 3 columns and they spoil its performance |
| Alist file: | parity check matrix |
| N: | 4095 |
| M: | 737 |
| t: | 3 |
| Mtrue: | <= 737 |
| Ktrue: | 3358 |
| author: | D J C MacKay |
| created: | code5 -n 4095 -t1 3 -v 0 -m 737 -hd 3 -seed 101 -o GHC/4095.737.3.101 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 4095 |
| M: | 738 |
| t: | 4 |
| Mtrue: | <= 737 |
| Ktrue: | 3358 |
| author: | D J C MacKay |
| created: | code5 -n 4095 -t1 4 -v 0 -m 738 -hd 3 -seed 104 -o GHC/4095.738.4.102 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 4095 |
| M: | 731 |
| t: | 4 |
| comment: | Alist file is gzipped |
| Alist file: | parity check matrix |
| N: | 4095 |
| M: | 731 |
| t: | 4 |
| comment: | Alist file is gzipped |
| Alist file: | parity check matrix |
| N: | 16383 |
| M: | 2130 |
| t: | 3 |
| Mtrue: | <= 2130 |
| Ktrue: | 14253 |
| author: | D J C MacKay |
| created: | code5 -n 16383 -t1 3 -v 0 -m 2130 -hd 3 -seed 101 -o GHC/16383.2130.3.103 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 16383 |
| M: | 2131 |
| t: | 4 |
| Mtrue: | <= 2130 |
| Ktrue: | 14253 |
| author: | D J C MacKay |
| created: | code5 -n 16383 -t1 4 -v 0 -m 2131 -hd 3 -seed 104 -o GHC/16383.2131.4.104 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 32000 |
| M: | 2240 |
| t: | 3 |
| Mtrue: | <= 2240 |
| Ktrue: | 29760 |
| author: | D J C MacKay |
| created: | code5 -n 32000 -t1 3 -v 0 -m 2240 -hd 3 -seed 101 -o GHC/32000.2240.3.105 |
| comment: | This code has no 4-cycles in its graph. |
| Alist file: | parity check matrix |
| N: | 32000 |
| M: | 2241 |
| t: | 4 |
| Mtrue: | <= 2240 |
| Ktrue: | 29760 |
| author: | D J C MacKay |
| created: | code5 -n 32000 -t1 4 -v 0 -m 2241 -hd 3 -seed 108 -o GHC/32000.2241.4.106 |
| comment: | This code has no 4-cycles in its graph. |
| N: | 15 |
| M: | 10 |
| tr: | 3 |
| Mtrue: | 9 |
| Ktrue: | 6 |
| d: | 5 |
| Gaussian channel: | postscript |
| Gaussian channel: | ascii |
| author: | David MacKay |
| comment: | This code is presented on page 221 of D J C MacKay (2003), and eq 13.41. I call it the pentagonful low-density parity-check code. The graph is called the Petersen graph, so maybe a good name for this code would be the (15,6) Petersen code. It has 12 words of weight 5. |
| N: | 273 |
| M: | 273 |
| tr: | 17 |
| Mtrue: | 82 |
| Ktrue: | 191 |
| d: | 18 |
| author: | Rainer Lucas and Marc Fossorier |
| comment: | This code has no 4-cycles in its graph. It has many 6-cycles (as does any cyclic code). Its true value of M is 3.3 times smaller than its apparent value of M. Has distance 18. |