# newForm -- constructor of a differential form

## Synopsis

• Usage:
newForm(n,r,d,varName)
• Inputs:
• n, an integer, number of variables minus one
• r, an integer, degree of the differential form
• d, an integer, degree of the polynomial coefficients of the differential form
• varName, , name of the generic scalar coefficients of the differential form
• Outputs:
• an instance of the type DiffAlgForm, a homogeneous differential r-form in (n+1)-dimensional affine space with polynomial coefficients of degree d

## Description

This function defines homogeneous differential forms with generic scalar coefficients. By default, the affine coordinates will be x_0,...,x_n and their exterior derivatives are denoted as dx_0,...,dx_n, respectively.

In this example we define a homogeneous differential 1-form with linear polynomial coefficients in 3 variables. The scalar coefficients are chosen to be defined with the variable a. The index of the scalar coefficients will always start with 0.

 ```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 : ring w QQ[i] o2 = ------[][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 o2 : PolynomialRing, 3 skew commutative variables```

## Caveat

The coefficient i is the imaginary unit.