# Construction of formula in Sagemath program

Let $P_k:= \mathbb{F}_2[x_1,x_2,\ldots ,x_k]$ be the polynomial algebra in $k$ variables with the degree of each $x_i$ being $1,$ regarded as a module over the mod-$2$ Steenrod algebra $\mathcal{A}.$ Here $\mathcal{A} = \langle Sq^{2^m}\,\,|\,\,m\geq 0\rangle.$

Being the cohomology of a space, $P_k$ is a module over the mod-2 Steenrod algebra $\mathscr{A}.$ The action of $\mathscr{A}$ on $P_k$ is explicitly given by the formula

$$Sq^m(x_j^d) = \binom{d}{m}x_j^{m+d},$$ where $\binom{d}{m}$ is reduced mod-2 and $\binom{d}{m} = 0$ if $m > d.$

Now, I want to use the Steenrod algebra package and Multi Polynomial ring package and using formular above to construction of formula following in Sagemath program

$$Sq^m(f) = \sum\limits_{2^{m_1} + 2^{m_2} + \cdots + 2^{m_k}= m}\binom{d_1}{2^{m_1}}x_1^{2^{m_1}+d_1}\binom{d_1}{2^{m_2}}x_2^{2^{m_2}+d_2}\ldots \binom{d_k}{2^{m_k}}x_k^{2^{m_k}+d_k}.$$ forall $f = x_1^{d_1}x_2^{d_2}\ldots x_k^{d_k}\in P_k$

Example: Let $k = 5, m = 2$ and $f = x_1^2x_2^3x_3^2x_4x_5\in P_5.$ We have $$Sq^2(x_1^2x_2^3x_3^2x_4x_5) = x_1^4x_2^3x_3^2x_4x_5 + x_1^2x_2^5x_3^2x_4x_5 + x_1^2x_2^3x_3^4x_4x_5 +x_1^2x_2^3x_3^2x_4^2x_5^2 + x_1^2x_2^4x_3^2x_4x_5^2 + x_1^2x_2^4x_3^2x_4^2x_5^1.$$

I hope that someone can help. Thanks!

edit retag close merge delete

Sort by » oldest newest most voted This is not immediately available in Sage, but you should be able to do it with a little work.

sage: R.<x1, x2, x3, x4> = GF(2)[]
sage: R
Multivariate Polynomial Ring in x1, x2, x3, x4 over Finite Field of size 2
sage: b = x1**2 * x3 * x4**3
sage: b.degrees()
(2, 0, 1, 3)

sage: a = Sq(3)
sage: x = a.coproduct_iterated(3)
sage: x
1 # 1 # 1 # Sq(3) + 1 # 1 # Sq(1) # Sq(2) + 1 # 1 # Sq(2) # Sq(1) + 1 # 1 # Sq(3) # 1 + 1 # Sq(1) # 1 # Sq(2) + 1 # Sq(1) # Sq(1) # Sq(1) + 1 # Sq(1) # Sq(2) # 1 + 1 # Sq(2) # 1 # Sq(1) + 1 # Sq(2) # Sq(1) # 1 + 1 # Sq(3) # 1 # 1 + Sq(1) # 1 # 1 # Sq(2) + Sq(1) # 1 # Sq(1) # Sq(1) + Sq(1) # 1 # Sq(2) # 1 + Sq(1) # Sq(1) # 1 # Sq(1) + Sq(1) # Sq(1) # Sq(1) # 1 + Sq(1) # Sq(2) # 1 # 1 + Sq(2) # 1 # 1 # Sq(1) + Sq(2) # 1 # Sq(1) # 1 + Sq(2) # Sq(1) # 1 # 1 + Sq(3) # 1 # 1 # 1
sage: x.support()
[((1,), (2,), (), ()),
((), (), (), (3,)),
((3,), (), (), ()),
((), (), (1,), (2,)),
((), (1,), (), (2,)),
((), (1,), (1,), (1,)),
((), (), (2,), (1,)),
((1,), (1,), (), (1,)),
((2,), (), (), (1,)),
((), (1,), (2,), ()),
((1,), (), (2,), ()),
((1,), (), (), (2,)),
((1,), (1,), (1,), ()),
((), (2,), (1,), ()),
((1,), (), (1,), (1,)),
((2,), (), (1,), ()),
((), (3,), (), ()),
((2,), (1,), (), ()),
((), (2,), (), (1,)),
((), (), (3,), ())]


Now you should sum over the entries in x.support() using the exponents listed in b.degrees(), with the appropriate binomial coefficients.

more

I use the code above but it error.

File "<ipython-input-1-b39e5d3b522e>", line 3 Multivariate Polynomial Ring in x1, x2, x3, x4 over Finite Field of size Integer(2) SyntaxError: invalid syntax

If you are trying to do this in a file: the syntax R.<...> is valid at the Sage command-line or notebook, or in files with the suffix .sage, but not in Python files. The equivalent syntax for a Python file is R = GF(2)['x1, x2, x3, x4']); x1, x2, x3, x4 = R.gens().

If you are doing this on the command line or in a notebook: I am giving both the input and the output, as written on the Sage command-line. So you can't just paste in everything I wrote, you should only type the parts on the lines starting "sage:". So you do not type "Multivariate ..." -- that is Sage's output.

@davis -- from the code provided by @John Palmieri, copy only the lines starting with sage:; the other lines represent the output you will get.