# Example of a finite dimensional algebra with basis#

sage.categories.examples.finite_dimensional_algebras_with_basis.Example#
class sage.categories.examples.finite_dimensional_algebras_with_basis.KroneckerQuiverPathAlgebra(base_ring)#

An example of a finite dimensional algebra with basis: the path algebra of the Kronecker quiver.

This class illustrates a minimal implementation of a finite dimensional algebra with basis. See `sage.quivers.algebra.PathAlgebra` for a full-featured implementation of path algebras.

algebra_generators()#

Return algebra generators for this algebra.

`Algebras.ParentMethods.algebra_generators()`.

EXAMPLES:

```sage: A = FiniteDimensionalAlgebrasWithBasis(QQ).example(); A
An example of a finite dimensional algebra with basis:
the path algebra of the Kronecker quiver
(containing the arrows a:x->y and b:x->y) over Rational Field
sage: A.algebra_generators()
Finite family {'x': x, 'y': y, 'a': a, 'b': b}
```
one()#

Return the unit of this algebra.

`AlgebrasWithBasis.ParentMethods.one_basis()`

EXAMPLES:

```sage: A = FiniteDimensionalAlgebrasWithBasis(QQ).example()
sage: A.one()
x + y
```
product_on_basis(w1, w2)#

Return the product of the two basis elements indexed by `w1` and `w2`.

`AlgebrasWithBasis.ParentMethods.product_on_basis()`.

EXAMPLES:

```sage: A = FiniteDimensionalAlgebrasWithBasis(QQ).example()
```

Here is the multiplication table for the algebra:

```sage: matrix([[p*q for q in A.basis()] for p in A.basis()])
[x 0 a b]
[0 y 0 0]
[0 a 0 0]
[0 b 0 0]
```

Here we take some products of linear combinations of basis elements:

```sage: x, y, a, b = A.basis()
sage: a * (1-b)^2 * x
0
sage: x*a + b*y
a + b
sage: x*x
x
sage: x*y
0
sage: x*a*y
a
```