0

Is anyone here aware of any textbooks or industry guides that provide a practical guide for an ordinary engineer (not a doctor of mathematics) to implement the Damm algorithm?

Specifically I would like to know how the Latin squares are generated rather than just blindly copying the base-10 one provided on Wikipedia or cutting and pasting someone else's unchecked code.

I am looking for the option of having a flexible base system, including (but not limited to) base 10, 16, 32, or 36 (10 numbers plus 26 English letters). I believe that the aforementioned scheme supports this (all bases except 2 and 6), does anyone know if that is correct?

Is H. Michael Damm's PhD thesis available in English?

Is there a method by which additional checkdigits can be added to include redundancy in a numbering scheme, i.e. extend a payload of four data digits to say seven digits where only four out of seven need to be correct and still allow complete recovery of the original data?

i.e. if 1234 had three redundant digits say 789 then 1234789 could be transmitted as 1X3XX89 where X is an unreadable digit yet still be fully recoverable.

This seems possible with the mod-97 scheme used in international bank numbers but this does not appear to have the flexibility for non base-10 Damm's scheme does, or some of the better phonetic error detection.

I wouldn't even know where to start looking.

Suhaib Janjua
  • 3,538
  • 16
  • 59
  • 73

1 Answers1

0

I am looking for the option of having a flexible base system, including (but not limited to) base 10, 16, 32, or 36 (10 numbers plus 26 English letters). I believe that the aforementioned scheme supports this (all bases except 2 and 6), does anyone know if that is correct?

Yes. See http://www.md-software.de/math/DAMM_Quasigruppen.txt containing Quasigroups for the Damm algorithm up to order 64, n ≠ 2,6

Is H. Michael Damm's PhD thesis available in English?

Not that I've seen. You could try translating it using a commercial tool though. However, you can check out http://www.sciencedirect.com/science/article/pii/S0012365X06004225

You can convert from base n to base 10 and calculate the check digit.

I wouldn't even know where to start looking.

See Check Digit Systems on Google Code with source in Java and JavaScript and Error Detection Based on Check Digit Schemes

Bond
  • 184
  • 2
  • 9