# central idempotent of a finite dimensional algebra

I tried the following

A=Algebras(QQ).FiniteDimensional().WithBasis().Semisimple().Commutative()

B = FiniteDimensionalAlgebra(QQ, [Matrix([[1,0,0,0,0,0,0,0,0], [0,1,0,0,0,0,0,0,0], [0,0,1,0,0,0,0,0,0],
[0,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,0,0], [0,0,0,0,0,1,0,0,0], [0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,0], [0,0,0,0,0,0,0,0,1]]), Matrix([[0,1,0,0,0,0,0,0,0], [0,0,1,0,0,0,0,0,0], [1,0,0,0,0,0,0,0,0], [0,0,0,0,1,0,0,0,0], [0,0,0,0,0,1,0,0,0], [0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,1], [0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,0]]), Matrix([[0,0,1,0,0,0,0,0,0], [1,0,0,0,0,0,0,0,0], [0,1,0,0,0,0,0,0,0], [0,0,0,0,0,1,0,0,0], [0,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,0,0], [0,0,0,0,0,0,0,0,1], [0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,0]]), Matrix([[0,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,0,0], [0,0,0,0,0,1,0,0,0], [0,1,0,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0], [1,0,0,0,0,0,0,0,1], [2,0,0,0,2,0,0,0,0], [0,2,0,0,0,2,0,0,0], [0,0,2,2,0,0,0,0,0]]), Matrix([[0,0,0,0,1,0,0,0,0], [0,0,0,0,0,1,0,0,0], [0,0,0,1,0,0,0,0,0], [0,0,1,0,0,0,0,1,0], [1,0,0,0,0,0,0,0,1], [0,1,0,0,0,0,1,0,0], [0,2,0,0,0,2,0,1,0], [0,0,2,2,0,0,0,1,0], [2,0,0,0,2,0,0,0,0]]), Matrix([[0,0,0,0,0,1,0,0,0], [0,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,0,0], [1,0,0,0,0,0,0,0,1], [0,1,0,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0], [0,0,2,2,0,0,0,0,0], [2,0,0,0,2,0,0,0,0], [0,2,0,0,0,2,0,0,0]]), Matrix([[0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,0], [0,0,0,0,0,0,0,0,1], [2,0,0,0,2,0,0,0,0], [0,2,0,0,0,2,0,0,0], [0,0,2,2,0,0,0,0,0], [0,0,2,2,0,0,0,1,0], [2,0,0,0,2,0,0,0,1], [0,2,0,0,0,2,1,0,0]]), Matrix([[0,0,0,0,0,0,0,1,0], [0,0,0,0,0,0,0,0,1], [0,0,0,0,0,0,1,0,0], [0,2,0,0,0,2,0,0,0], [0,0,2,2,0,0,0,0,0], [2,0,0,0,2,0,0,0,0], [2,0,0,0,2,0,0,0,1], [0,2,0,0,0,2,1,0,0], [0,0,2,2,0,0,0,1,0]]), Matrix([[0,0,0,0,0,0,0,0,1], [0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,0], [0,0,2,2,0,0,0,0,0], [2,0,0,0,2,0,0,0,0], [0,2,0,0,0,2,0,0,0], [0,2,0,0,0,2,1,0,0], [0,0,2,2,0,0,0,1,0], [2,0,0,0,2,0,0,0,1]])], category=A)

B.central_orthogonal_idempotents()

The above code gives me error. Could anyone tell me how to fix the code?enter code here

edit retag close merge delete

Hi Rekha

( 2019-08-01 18:02:12 +0100 )edit

Thanks. I edited . I hope its readable now.

( 2019-08-02 00:51:53 +0100 )edit

it seems my comment was irrelevant here. I must admit that the presentation does not really matter in this question Sorry

maybe like that ? :

( 2019-08-02 07:50:31 +0100 )edit

Sort by ยป oldest newest most voted

My analysis is that this method is very broken

• first of all the inital error is because a __hash__ method is "missing" for FiniteDimensionalAlgebraElement
• next, the method central_orthogonal_idempotents assumes that the quasi-idempotents of a commutative algebra are defined over the base ring which is wrong in general (needs the base ring to be algebraically closed...)
• finally, even though we change QQ for QQbar in the definition of B, the subalgebras created along the way do not implement retract/lift so that the product is not working... For the example given in the documentation of central_orthogonal_idempotents it works by some black magic

Here is the black magic:

sage: A4 = SymmetricGroup(4).algebra(QQ)
sage: B4 = A4.submodule([A4.an_element()])
sage: B4.retract
Generic morphism:
From: Symmetric group algebra of order 4 over Rational Field
To:   Free module generated by {0} over Rational Field
sage: B4.lift
Generic morphism:
From: Free module generated by {0} over Rational Field
To:   Symmetric group algebra of order 4 over Rational Field
sage: C = B.submodule([B.an_element()])
sage: C.retract
...
AttributeError: 'SubmoduleWithBasis_with_category' object has no attribute 'retract'

My conclusion is that the code is not written in a way that it works for generic commutative algebra.

more

1

Perhaps there is another solution? It would depend on exactly what problem the OP is trying to solve. If central_orthogonal_idempotents can't be solved in this case it should also say so instead of just giving a useless crash (in this case I get TypeError: <class 'sage.sets.family.TrivialFamily_with_category'> is not hashable and does not implement _cache_key()). So I would definitely consider that a bug.

( 2019-08-07 14:29:43 +0100 )edit

I agree that it is a bug... and more precisely at least three bugs.

( 2019-08-07 16:24:03 +0100 )edit