On Thursday, July 13, 2017 at 11:43:18 AM UTC+1, David Joyner wrote:
>
> On Thu, Jul 13, 2017 at 5:59 AM, 'B. L.' via sage-devel 
> <sage-devel@googlegroups.com> wrote: 
> > Dear Sage-Developers, 
> > 
> > I'd like to report two issues that I came across when working with the 
> > coding theory classes of SAGE. 
> > 
> > The Sage Reference Manual: Coding Theory, Release 7.6 [1] explains on p. 
> 31: 
> > weight_enumerator [...] This is the bivariate, homogeneous polynomial in 
> 𝑥 
> > and 𝑦 whose coefficient to x^iy^{n-i} is the number of codewords of 
> > 𝑠𝑒𝑙𝑓 of Hamming weight 𝑖. Here, 𝑛 is the length of 𝑠𝑒𝑙𝑓. 
> > Actually, Sage returns another polynomial, namely the polynomial in 𝑥 
> and 
> > 𝑦 whose coefficient to x^{n-i}y^i is the number of codewords of 
> 𝑠𝑒𝑙𝑓 of 
> > Hamming weight 𝑖. (So the roles of x and y are interchanged). 
> > This can be directly with C.weight_enumerator?? in the example below 
> [2]. 
> > 
> > I suggest to either change the description in the reference or to alter 
> the 
> > code in Sage. 
> > 
>
> I'd propose just switching the x,y in the code: 
>
> (1) On line 3503 of linear_code.py, change "return 
> sum(spec[i]*x**(n-i)*y**i for i in range(n+1))" to "return 
> sum(spec[i]*x**(i)*y**(n-i) for i in range(n+1))" 
>
> (2) On line 3507, change "return sum(spec[i]*x**(n-i) for i in 
> range(n+1))" to "return sum(spec[i]*x**(i) for i in range(n+1))" 
>
> (3) Some of the examples may change accordingly. 
>
> This mistake could be my fault, since I wrote the original version 
> (long long ago). Unfortunately, I lack the git skills to submit a 
> patch. 
>
> A patch can be produced by

git diff > stuff.patch

It would be great if you opened a ticket and posted this diff as an 
attachment...
 
 

>
> > The function weight_enumerator(bivariate=False) returns the evaluation 
> of 
> > the the above polynomial for y=1. Should't it be (in the current 
> version) 
> > the evaluation with x=1? In other words: Wouldn't one expect a 
> polynomial in 
> > x (or y) whose coefficient to x^i (or y^i) is the number of codewords of 
> > 𝑠𝑒𝑙𝑓 of Hamming weight 𝑖? 
> > The example below [2] illustrates my point: The code has four codewords, 
> one 
> > of weight 0, two of weight 3, one of weiht 4. Sage gives x^5 + 2*x^2 + x 
> as 
> > the univariate weight enumerator. I would have expected either 1 + 2*x^3 
> + 
> > x^4 or 1 + 2*y^3 + y^4. 
> > 
> > If you agree, I suggest to alter the code accordingly. 
> > 
> > Kind regards 
> > Barbara 
> > PS: I tested the code with Sage version 7.6 on an iMac. 
> > 
> > 
> > [1] http://doc.sagemath.org/pdf/en/reference/coding/coding.pdf 
> > 
> > [2] Sage code for  the SageMathCell 
> > 
> > C= LinearCode(Matrix(GF(2),2,5, [[1,1,0,1,0], [0,0,1,1,1]])) 
> > print C.list() 
> > print C.spectrum() 
> > print C.weight_enumerator() 
> > print C.weight_enumerator(bivariate=False) 
> > C.weight_enumerator?? 
> > 
> > 
> http://sagecell.sagemath.org/?z=eJxztlXwycxLTSxyzk9J1fBNLCnKrNBwd9Mw0tQx0jHVUYiONtQx1DEA4VggzwDMBMLYWE1NXq6Cosy8EgVnvZzM4hINJH5xQWpySVFpLrJYeWpmekZJfGpeaW5qUWJJfhF-yaTMssSizMSSVFu3xJziVKBaLKrs7QGIgD2K&lang=sage
>  
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+unsubscr...@googlegroups.com. 
> > To post to this group, send email to sage-devel@googlegroups.com. 
> > Visit this group at https://groups.google.com/group/sage-devel. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to