# PCFactorSetColumnPivot
Determines when column pivoting is done during matrix factorization. For PETSc dense matrices column pivoting is always done, for PETSc sparse matrices it is never done. For the MATLAB and `MATSOLVERSUPERLU` factorization this is used. 
## Synopsis
```
#include "petscpc.h" 
PetscErrorCode PCFactorSetColumnPivot(PC pc, PetscReal dtcol)
```
Logically Collective


## Input Parameters

- ***pc -*** the preconditioner context
- ***dtcol -*** 0.0 implies no pivoting, 1.0 complete pivoting (slower, requires more memory but more stable)



## Options Database Key

- ***-pc_factor_pivoting <dtcol> -*** perform the pivoting with the given tolerance





## See Also
 `PCLU`, `PCCHOLESKY`, `PCILU`, `PCICC`, `PCILUSetMatOrdering()`, `PCFactorSetPivotInBlocks()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/factor/factor.c.html#PCFactorSetColumnPivot">src/ksp/pc/impls/factor/factor.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/factor/factimpl.c.html#PCFactorSetColumnPivot_Factor">PCFactorSetColumnPivot_Factor in src/ksp/pc/impls/factor/factimpl.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/factor/factor.c)


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