Morphisms Between Finite Algebras#

class sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra_morphism.FiniteDimensionalAlgebraHomset(R, S, category=None)#

Bases: RingHomset_generic

Set of morphisms between two finite-dimensional algebras.

zero()#

Construct the zero morphism of self.

EXAMPLES:

sage: A = FiniteDimensionalAlgebra(QQ, [Matrix([1])])
sage: B = FiniteDimensionalAlgebra(QQ, [Matrix([[1, 0], [0, 1]]),
....:                                   Matrix([[0, 1], [0, 0]])])
sage: H = Hom(A, B)
sage: H.zero()
Morphism from Finite-dimensional algebra of degree 1 over Rational Field to
 Finite-dimensional algebra of degree 2 over Rational Field given by matrix
[0 0]
class sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra_morphism.FiniteDimensionalAlgebraMorphism(parent, f, check=True, unitary=True)#

Bases: RingHomomorphism_im_gens

Create a morphism between two finite-dimensional algebras.

INPUT:

  • parent – the parent homset

  • f – matrix of the underlying \(k\)-linear map

  • unitary – boolean (default: True); if True and check is also True, raise a ValueError unless A and B are unitary and f respects unit elements

  • check – boolean (default: True); check whether the given \(k\)-linear map really defines a (not necessarily unitary) \(k\)-algebra homomorphism

The algebras A and B must be defined over the same base field.

EXAMPLES:

sage: from sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra_morphism import FiniteDimensionalAlgebraMorphism
sage: A = FiniteDimensionalAlgebra(QQ, [Matrix([[1, 0], [0, 1]]),
....:                                   Matrix([[0, 1], [0, 0]])])
sage: B = FiniteDimensionalAlgebra(QQ, [Matrix([1])])
sage: H = Hom(A, B)
sage: f = H(Matrix([[1], [0]]))
sage: f.domain() is A
True
sage: f.codomain() is B
True
sage: f(A.basis()[0])
e
sage: f(A.basis()[1])
0

Todo

An example illustrating unitary flag.

inverse_image(I)#

Return the inverse image of I under self.

INPUT:

  • IFiniteDimensionalAlgebraIdeal, an ideal of self.codomain()

OUTPUT:

FiniteDimensionalAlgebraIdeal, the inverse image of \(I\) under self.

EXAMPLES:

sage: A = FiniteDimensionalAlgebra(QQ, [Matrix([[1, 0], [0, 1]]),
....:                                   Matrix([[0, 1], [0, 0]])])
sage: I = A.maximal_ideal()                                                 # needs sage.libs.pari
sage: q = A.quotient_map(I)                                                 # needs sage.libs.pari
sage: B = q.codomain()                                                      # needs sage.libs.pari
sage: q.inverse_image(B.zero_ideal()) == I                                  # needs sage.libs.pari
True
matrix()#

Return the matrix of self.

EXAMPLES:

sage: A = FiniteDimensionalAlgebra(QQ, [Matrix([[1, 0], [0, 1]]),
....:                                   Matrix([[0, 1], [0, 0]])])
sage: B = FiniteDimensionalAlgebra(QQ, [Matrix([1])])
sage: M = Matrix([[1], [0]])
sage: H = Hom(A, B)
sage: f = H(M)
sage: f.matrix() == M
True