Skip to main content
`Ctrl`+`K`

# PetscDTAltVPullback

Compute the pullback of a k-form under a linear transformation of the coordinate space

## Synopsis

    #include "petscdt.h"
    PetscErrorCode PetscDTAltVPullback(PetscInt N, PetscInt M, const PetscReal *L, PetscInt k, const PetscReal *w, PetscReal *Lstarw)

## Input Parameters

- N - the dimension of the origin vector space of the linear transformation, M >= 0

- M - the dimension of the image vector space of the linear transformation, N >= 0

- L - a linear transformation, an [M x N] matrix in row-major format

- k - the signed degree k of the |k|-form w, -(min(M,N)) <= k <= min(M,N). A negative form degree indicates that the pullback should be conjugated by the Hodge star operator (see note).

- w - a |k|-form in the image space, size [M choose |k|]

## Output Parameter

- Lstarw - the pullback of w to a |k|-form in the origin space, size [N choose |k|]: (Lstarw)(v_1,…v_k) = w(Lv_1,…,Lv_k).

## Note

Negative form degrees accommodate, e.g., H-div conforming vector fields. An H-div conforming vector field stores its degrees of freedom as (dx, dy, dz), like a 1-form, but its normal trace is integrated on faces, like a 2-form. The correct pullback then is to apply the Hodge star transformation from (M-2)-form to 2-form, pullback as a 2-form, then invert the Hodge star transformation.

## See Also

`PetscDTAltV`, `PetscDTAltVPullbackMatrix()`, `PetscDTAltVStar()`

## Level

intermediate

## Location

src/dm/dt/interface/dtaltv.c

Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages