:orphan: # PetscDualSpaceGetFormDegree Get the form degree k for the k-form the describes the pushforwards/pullbacks of this dual space's functionals. ## Synopsis ``` #include "petscfe.h" PetscErrorCode PetscDualSpaceGetFormDegree(PetscDualSpace dsp, PetscInt *k) ``` ## Input Parameter - ***dsp -*** The `PetscDualSpace` ## Output Parameter - ***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 src/dm/dt/dualspace/interface/dualspace.c --- [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](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)