Free algebra identity (empty word) and involution

asked 2023-09-06 10:53:00 +0200

c.p. gravatar image

updated 2023-09-06 15:40:13 +0200

I didn't find the way to define an involution on the free algebra (say in two generators) yet. Specifically I want unitary elements. Thus, I added two variables, $y$ and $z$ which serve as $w^\star,x^\star$ and force a relation so that $w y=1$, the empty word, and similar relation $x z=1$ . But then typing

A.<w,x,y,z> = FreeAlgebra(QQ,4)
G=A.g_algebra({w*y: 1})
(x,y,z) = G.gens()

yields an error (#This is dirty, coercion is broken). That is: Question: which is the free algebra empty word here?

Of course, I tried to add a symbol $E$ which then satisfies $gE=g=Eg$ for all the generators $g$, But then

G=A.g_algebra({w*y: E})

yields also an error.

/usr/lib/python3/dist-packages/sage/algebras/free_algebra.py in g_algebra(self, relations, names,
order, check)
873 d_poly = commuted - self(c) * self(m)
874 break
--> 875 assert c_coef is not None, list(m)
876 v2_ind = self.gens().index(v2)
877 v1_ind = self.gens().index(v1)

AssertionError: [(E, 1)]

Second question: does somebody know an easier way to to implement the involution here?

edit retag flag offensive close merge delete

Comments

It's A.one() like it is for most objects with a unit, but that doesn't seem to solve the problem.

rburing gravatar imagerburing ( 2023-09-06 18:17:10 +0200 )edit

It doesn't but thanks anyway, good to know.

c.p. gravatar imagec.p. ( 2023-09-06 21:09:56 +0200 )edit