# PetscSpacePolynomialType

The type of polynomial space
### Notes

PETSCSPACE_POLYNOMIALTYPE_P - This is the normal polynomial space of degree q, P_q or Q_q.

PETSCSPACE_POLYNOMIALTYPE_PMINUS_HDIV - This is the smallest polynomial space contained in P_q/Q_q such that the divergence is in P_{q-1}/Q_{q-1}. Making this space is straightforward:

P^-_q = P_{q-1} + P_{(q-1)} x

where P_{(q-1)} is the space of homogeneous polynomials of degree q-1.

PETSCSPACE_POLYNOMIALTYPE_PMINUS_HCURL - This is the smallest polynomial space contained in P_q/Q_q such that the curl is in P_{q-1}/Q_{q-1}. Making this space is straightforward:

P^-_q = P_{q-1} + P_{(q-1)} rot x

where P_{(q-1)} is the space of homogeneous polynomials of degree q-1, and rot x is (-y, x) in 2D, and (z - y, x - z, y - x) in 3D, being the generators of the rotation algebra.

Level: beginner

### See Also

PetscSpace

**Location:**../../../../include/petscfetypes.h