Hi, folks,
We have been using your OWD implementation to test out our Multivariate Multicycle codes -- your tooling has been very valuable, thank you for making it.
In setting up some experiments for OWD, after running the experiments we noticed that some of the parameterization we gave was nonsensical, but the decoder silently reported "plausible" results. Here is what happened and a suggestion of ours for adding extra validation that makes this issue not "silent".
Let's say our code has c checks (i.e. a single-shot syndrome is a vector of length c). We ran a memory experiment with a single round, i.e. we had only c detectors. We incorrectly set the OWD decoder to have a window size of 2, i.e. bigger than the number of rounds, which does not make sense. Your already existing validation passed (the one linked below):
|
rounds = (self.window - self.commit) + self.decodings * self.commit |
I think something that can detect the nonsensical result would be to check that the number of detectors divided by the number of checks is also integer (and equal to the number of rounds maybe).
Hi, folks,
We have been using your OWD implementation to test out our Multivariate Multicycle codes -- your tooling has been very valuable, thank you for making it.
In setting up some experiments for OWD, after running the experiments we noticed that some of the parameterization we gave was nonsensical, but the decoder silently reported "plausible" results. Here is what happened and a suggestion of ours for adding extra validation that makes this issue not "silent".
Let's say our code has c checks (i.e. a single-shot syndrome is a vector of length c). We ran a memory experiment with a single round, i.e. we had only c detectors. We incorrectly set the OWD decoder to have a window size of 2, i.e. bigger than the number of rounds, which does not make sense. Your already existing validation passed (the one linked below):
ldpc/src_python/ldpc/ckt_noise/base_overlapping_window_decoder.py
Line 41 in d342996
I think something that can detect the nonsensical result would be to check that the number of detectors divided by the number of checks is also integer (and equal to the number of rounds maybe).