# Derivation -- Derivation defined on a noncommutative algebra

## Description

This function returns a Derivation object, which may be used to perform computations with (twisted) derivations in a noncommutative algebra. A linear map $\delta : A \to A$ is called a $\sigma$-derivation provided for all $x,y \in A$, one has $\delta(xy) = \delta(x)y + \sigma(x)\delta(y)$. Such maps are useful in defining many noncommutative algebras, including Ore extensions.

Below we give a simple example of a twisted derivation that is used to define the subalgebras appearing in Fomin and Procesi's work to describe Fomin-Kirillov algebras.

 i1 : A = QQ<|x,y|> o1 = A o1 : FreeAlgebra i2 : sigma = map(A,A,{y,x}) o2 = map (A, A, {y, x}) o2 : RingMap A <--- A i3 : delta = derivation(A,{-x*y,y*x},sigma) o3 = Derivation{generators => HashTable{x => -x*y}} y => y*x homomorphism => map (A, A, {y, x}) imageCache => MutableHashTable{} matrix => | -xy yx | source => A o3 : Derivation i4 : delta y^2 o4 = x*y*x + y*x*y o4 : A

## Methods that use an object of class Derivation :

• "Derivation RingElement"
• "Derivation ZZ"
• "oreExtension(Ring,RingMap,Derivation,RingElement)" -- see oreExtension -- Creates an Ore extension of a noncommutative ring
• "oreExtension(Ring,RingMap,Derivation,Symbol)" -- see oreExtension -- Creates an Ore extension of a noncommutative ring
• "oreIdeal(Ring,RingMap,Derivation,RingElement)" -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring
• "oreIdeal(Ring,RingMap,Derivation,Symbol)" -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring

## For the programmer

The object Derivation is a type, with ancestor classes HashTable < Thing.