# PetscDTAltVApply
Apply an a k-form (an alternating k-linear map) to a set of k N-dimensional vectors 
## Synopsis
```
#include "petscdt.h" 
PetscErrorCode PetscDTAltVApply(PetscInt N, PetscInt k, const PetscReal *w, const PetscReal *v, PetscReal *wv)
```

## Input Parameters

- ***N -*** the dimension of the vector space, N >= 0
- ***k -*** the degree k of the k-form w, 0 <= k <= N
- ***w -*** a k-form, size [N choose k] (each degree of freedom of a k-form is associated with a subset of k coordinates of the N-dimensional vectors.
The degrees of freedom are ordered lexicographically by their associated subsets)
- ***v -*** a set of k vectors of size N, size [k x N], each vector stored contiguously



## Output Parameter

- ***wv -*** w(v_1,...,v_k) = \sum_i w_i * det(V_i): the degree of freedom w_i is associated with coordinates [s_{i,1},...,s_{i,k}], and the square matrix V_i has
entry (j,k) given by the s_{i,k}'th coordinate of v_j





## See Also
 `PetscDTAltV`, `PetscDTAltVPullback()`, `PetscDTAltVPullbackMatrix()`

## Level
intermediate

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


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


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