# PetscDualSpaceSetFormDegree
Set the form degree k for the k-form the describes the pushforwards/pullbacks of this dual space's functionals. 
## Synopsis
```
#include "petscfe.h" 
PetscErrorCode PetscDualSpaceSetFormDegree(PetscDualSpace dsp, PetscInt k)
```

## Input Parameters

- ***dsp -*** The `PetscDualSpace`
- ***k   -*** The *signed* degree k of the k.  If k >= 0, this means that the degrees of freedom are k-forms, and are stored
in lexicographic order according to the basis of k-forms constructed from the wedge product of 1-forms.  So for example,
the 1-form basis in 3-D is (dx, dy, dz), and the 2-form basis in 3-D is (dx wedge dy, dx wedge dz, dy wedge dz).
If k < 0, this means that the degrees transform as k-forms, but are stored as (N-k) forms according to the
Hodge star map.  So for example if k = -2 and N = 3, this means that the degrees of freedom transform as 2-forms
but are stored as 1-forms.





## See Also
 `PetscDualSpace`, `PetscDTAltV`, `PetscDualSpacePullback()`, `PetscDualSpacePushforward()`, `PetscDualSpaceTransform()`, `PetscDualSpaceTransformType`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/dt/dualspace/interface/dualspace.c.html#PetscDualSpaceSetFormDegree">src/dm/dt/dualspace/interface/dualspace.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/dt/dualspace/interface/dualspace.c)


[Index of all DUALSPACE routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
