Opened 2 years ago

Last modified 2 years ago

#24808 new defect

Equality in quotient of a free algebra is broken

Reported by: tmonteil Owned by:
Priority: major Milestone: sage-8.2
Component: algebra Keywords: mathexp2018
Cc: alec.edgington, ​tscrim, ​SimonKing Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by tmonteil)

As reported in this ask question:

sage: A.<x,y> = FreeAlgebra(QQbar)
sage: I = A.ideal([x*x - 1, y*y, x*y + y*x])
sage: I
Twosided Ideal (-1 + x^2, y^2, x*y + y*x) of Free Algebra on 2 generators (x, y) over Algebraic Field
sage: H = A.quotient(I)
sage: H
Quotient of Free Algebra on 2 generators (x, y) over Algebraic Field by the ideal (-1 + x^2, y^2, x*y + y*x)
sage: H.inject_variables()
Defining xbar, ybar
sage: xbar.lift()
x
sage: xbar*xbar
xbar^2
sage: xbar*xbar == 1
False

See also:

sage: R.<x,y,z> = FreeAlgebra(QQ, 3)
sage: Q = R.quotient(z-x*y)
sage: Q
Quotient of Free Algebra on 3 generators (x, y, z) over Rational Field by the ideal (z - x*y)
sage: Q(x*y) == Q(z)
False

Change History (4)

comment:1 Changed 2 years ago by jhpalmieri

Is this just a bug with equality, or is it a bug with elements of quotient algebras in general? I would hope that either xbar * ybar or ybar * xbar would be simplified, but neither is:

sage: xbar*ybar
xbar*ybar
sage: ybar*xbar
ybar*xbar

As you might expect, xbar * ybar + ybar * xbar does not simplify to 0, either.

comment:2 Changed 2 years ago by tmonteil

I don't know about simplification, i did not dig into the code of FreeAlgebra. Sometimes Sage is lazy and shows simplified result only when it knows it already, so that representation does not cost possibly useless computation, e.g.

sage: a = sqrt(QQbar(3))^2
sage: a
3.000000000000000?
sage: a == 3
True
sage: a
3

comment:3 Changed 2 years ago by alec.edgington

  • Cc alec.edgington added

comment:4 Changed 2 years ago by tmonteil

  • Cc ​tscrim ​SimonKing added
  • Description modified (diff)
  • Keywords mathexp2018 added

This bug just reappeared at mathexp2018:

sage: R.<x,y,z> = FreeAlgebra(QQ, 3)
sage: Q = R.quotient(z-x*y)
sage: Q
Quotient of Free Algebra on 3 generators (x, y, z) over Rational Field by the ideal (z - x*y)
sage: Q(x*y) == Q(z)
False
Note: See TracTickets for help on using tickets.