DiffAlg is a differential algebra package. It can compute the usual operations with polynomial differential forms and vector fields. Its main purpose is to associate algebraic objects to differential operators in the exterior algebra of differential forms.
The simplest way to load the package is with the command:
loadPackage "DiffAlg"Then, one can define a linear differential 1-form, w, and the radial vector field, R, in 3-dimensional space as:
i1 : w = newForm(2,1,1,"a") o1 = (a x + a x + a x )dx + (a x + a x + a x )dx + (a x + a x + 0 0 3 1 6 2 0 1 0 4 1 7 2 1 2 0 5 1 ------------------------------------------------------------------------ a x )dx 8 2 2 o1 : DiffAlgForm |
i2 : R = radial 2 o2 = x ax + x ax + x ax 0 0 1 1 2 2 o2 : DiffAlgField |
i3 : ring w QQ[i] o3 = ------[][a , a , a , a , a , a , a , a , a ][x , x , x ][dx , dx , dx ] 2 0 1 2 3 4 5 6 7 8 0 1 2 0 1 2 i + 1 o3 : PolynomialRing |
i4 : ring R QQ[i] o4 = ------[][x , x , x ][ax , ax , ax ] 2 0 1 2 0 1 2 i + 1 o4 : PolynomialRing |
All possible options to call the package can be given with the command:
loadPackage ("DiffAlg",Configuration => {"BaseRing" => aRing, "VariableName" => varSymbol, "DiffName" => difSymbol, "FieldName" => derSymbol})where:
It is recommended to operate in low degrees and dimensions because of the computational time needed to handle the amount of variables generated in every degree.