Vedic Literature > Mathematics > Error correcting code > Krama Mala (progressive – garland)

The definition of Krama-maala is described in a phrase [1] detailed in the appendix.  Consider a verse M = a1,…,am, am having m words ai, i = 1,…,m. Krama means making m pairs of adjacent words and arranging them as a matrix. Note the repetition in the mth line.

a1        a2
a2      a3
    ……
am-1   am
am       am

Next take a copy, flip it left to right , top to bottom and place it next to the original matrix so that the bottom lines of the two matrices are in line, giving the impression of a garland.

a1    a2    am    am
a2    a-3   am    am-1
.......         ......
am-1 am    a3     a2
am    am    a2    a1

String the m lines together into a single line, left to right, top to bottom.

I = a1,......,am   a2,......am-1     amama2a1
  = i1 i2 i3 ..........................i4m-1 i4m

This is the output of encoder, labelled as I, and the verse to be chanted, having 4m words. In I, right half is mirror-symmetrical of the left. Hence, bend I in the middle and place the right half below the left half, to look like a matrix with 2 rows and 2m columns.
I= [ i1      i2            ....  i2m
i4m     i4m-1            ... i2m+1
]

It should not be a surprise that every column in I has only one distinct member among a1,…,am.

We assume that i1 will not be corrupted. Using I, we can recover M in 4 ways, namely M(1), M(2), M(3), M(4).

M(1) = { i1, i5, i9, .... }

       = { i4(k-1)+1, k=1,..,n }

M(2) = { a1, i2, i6, i10,... }

        = { a1, i4(k-1)+2, k=1,...,(m-1) }

M(3) is the mirror reflection of M(2) and M(4), that of M(1).

M(4) = { i4m, i4m-4,... }

       = { i4(m-k), k=0,1,...,(m-1) }

M(3) = { a1, i4(m-k), k=0,1,...,(m-1) }

This suggests the decoding procedure. When I is recited, let the output heard be O, which differs from I because of the unconscious errors introduced by the reciter. Some of the words of O may not be in I. Assume that O has 4m words and that there is no error in the first symbol of I. Write the output string as 2 x 2m matrix, by bending O at midpoint and twisting it to the left.
 
O = [ o1   o2  ..... o2m
o4m o4m-1... o2m+1
]

All the columns in O having 2 distinct words have an error. We do not know which is the error. Based on the Mi, i = 1,…,4, write four estimates of M, from O, labeled M’1,…,M’4.

M'1 =  { O1, O5, O9,... }

      = { O4(k-1)+1, k=1,...,m }

M'2 =  { a1, i2, i6 ... }

      = {a1, O4(k-1)+2, k=1,...,(m-1) }

M'4  = {O4(m-k), k=0,1,...,(m-1) }

M'3  = {a1, O4(m-k), k=0,...,(m-1) }

 

Merge the four estimates by a majority vote on the corresponding members.

M' =  { a1, MAJ[ O5, O2, O4m-4, O4m-1], MAJ[O9, O3, ….], ….. }

MAJ[xi, i = 1,...,4] = majority vote operation, the symbol occurring most among xi.

 

Theorem:

  1. Assume that there is no error in a1,
  2. Assume that there are no more than two errors per ai among its four appearances,
  3. No error is repeated, i.e. if a2 is modified into a’2 and a’’2 in M’i and M’j, then a’2 # a’’2.

Under these conditions, output of the decoder equals the correct value.

 

Comment I : The system thus allows for for at most 2(m-1) errors among the 4m words in I, no error if the same symbol being repeated.

Comment II : The only information being used is the output and the rules behind the encoder.

 

Example 1: Let m = 4. Let M = a b c d.
Construction of encoder:

a b d d
b c d c
c d c b
d d b a

I = a b d d b c d c
     a b d d b c d c

Let O = a b' d' d b c' d c                    @ errors = 6
            a b d d'' b'' c d c''

where b' # b'', etc.

Then the four estimates M'i are:

M'1 = a b c'' d''
M'2 = a b' c' d
M'3 = a b c d
M'4 = a b'' c d

U   M'i = a b c d = M

MAJ

i= 1,...,4

 

Details:

From the half verse M, we construct M’ using the encoder rules or vikrati. Again, M’ must be in a form which can be recited. Reciting the same verse many times does not guarantee any error correcting capability because boredom in the repetition increases the frequency of occurrence of errors.

 

Hierarchy of reciters :

Typically, in each town or region, one group memorizes one particular Mandala (or Canto) of Rig Veda, having about 1000 verses. The members use standard Pada and Samhita versions. Then, for each mandala, there are persons who recite the Vikrati form of all these verses, with one particular Vikrati. The output of each reciter of a particular Vikrati is tested by both herself/himself and her/his fellow experts in that Vikrati. The mental load is not considered heavy. Recall that each Vikrati output is deemed to produce the correct output under certain conditions. Then the persons who recite different Vikratis pool together their results and get the correct result without any qualifications. The existence of such assemblies is mentioned in the last hymn of Rig Veda namely Mandala 10, sukta 191.

Back to Top