This also seems to cause problems with decoding. I am posting here just to
make sure that this would actually be considered a bug, not just user error.
Everything works as expected when I construct the same code with a full
rank generator matrix.
(with C defined as before)
sage: C.decode([1,0,1,0,1])
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/all_cmdline.pyc in
<module>()
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/misc/decorators.pyc
in wrapper(*args, **kwds)
571 kwds[new_name] = kwds[old_name]
572 del kwds[old_name]
--> 573 return func(*args, **kwds)
574
575 return wrapper
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/coding/linear_code.pyc
in decode(self, right, algorithm)
1174 from decoder import decode
1175 if algorithm=="syndrome" or algorithm=="nearest neighbor":
-> 1176 return decode(self,right)
1177 if not(algorithm in ["syndrome", "nearest
neighbor","guava"]):
1178 raise NotImplementedError, "Only 'syndrome','nearest
neighbor','guava' are implemented."
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/misc/decorators.pyc
in wrapper(*args, **kwds)
571 kwds[new_name] = kwds[old_name]
572 del kwds[old_name]
--> 573 return func(*args, **kwds)
574
575 return wrapper
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/coding/decoder.pyc in
decode(C, v, algorithm)
119 return diffs[0][0]+v
120 if algorithm=="syndrome":
--> 121 return -V(syndrome(C, v)[0])+v
122
123
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/coding/decoder.pyc in
syndrome(C, v)
45 v = v.list()
46 v = V(v)
---> 47 coset = [[c+v,hamming_weight(c+v)] for c in C]
48 coset.sort(lambda x,y: x[1]-y[1])
49 return [x[0] for x in coset]
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/coding/linear_code.pyc
in __iter__(self)
759 k = self.dimension()
760 F = self.base_ring()
--> 761 Cs,p = self.standard_form()
762 Gs = Cs.gen_mat()
763 V = VectorSpace(F,k)
/home/ayeq/sage/local/lib/python2.6/site-packages/sage/coding/linear_code.pyc
in standard_form(self)
2438 for i in range(1,k+1):
2439 r = M.rows()[i-1]
-> 2440 j = r.nonzero_positions()[0]
2441 if (j < d and i <> j+1):
2442 perm = perm *G([(i,j+1)])
IndexError: list index out of range
--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org