# PetscDTAltVInteriorPattern
compute the sparsity and sign pattern of the interior product matrix computed in `PetscDTAltVInteriorMatrix()` 
## Synopsis
```
#include "petscdt.h" 
PetscErrorCode PetscDTAltVInteriorPattern(PetscInt N, PetscInt k, PetscInt (*indices)[3])
```

## Input Parameters

- ***N -*** the dimension of the vector space, N >= 0
- ***k -*** the degree of the k-forms on which intvMat from `PetscDTAltVInteriorMatrix()` acts, 0 <= k <= N.



## Output Parameter

- ***indices -*** The interior product matrix intvMat has size [(N choose (k-1)) x (N choose k)] and has (N choose k) * k
non-zeros.  indices[i][0] and indices[i][1] are the row and column of a non-zero, and its value is equal to the vector
coordinate v[j] if indices[i][2] = j, or -v[j] if indices[i][2] = -(j+1)





## Note
This function is useful when the interior product needs to be computed at multiple locations, as when computing the Koszul differential


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

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/dt/interface/dtaltv.c.html#PetscDTAltVInteriorPattern">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)  
