# TSComputeIFunctionLinear
Evaluate the left hand side via the user-provided Jacobian, for linear problems only 
## Synopsis
```
#include "petscts.h"  
PetscErrorCode TSComputeIFunctionLinear(TS ts, PetscReal t, Vec U, Vec Udot, Vec F, void *ctx)
```
Collective on TS


## Input Parameters

- ***ts -*** time stepping context
- ***t -*** time at which to evaluate
- ***U -*** state at which to evaluate
- ***Udot -*** time derivative of state vector
- ***ctx -*** context



## Output Parameter

- ***F -*** left hand side





## Notes
The assumption here is that the left hand side is of the form A*Udot (and not A*Udot + B*U). For other cases, the
user is required to write their own TSComputeIFunction.
This function is intended to be passed to TSSetIFunction() to evaluate the left hand side for linear problems.
The matrix (and optionally the evaluation context) should be passed to TSSetIJacobian().

Note that using this function is NOT equivalent to using TSComputeRHSFunctionLinear() since that solves Udot = A U


## See Also
 `TSSetIFunction()`, `TSSetIJacobian()`, `TSComputeIJacobianConstant()`, `TSComputeRHSFunctionLinear()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/interface/ts.c.html#TSComputeIFunctionLinear">src/ts/interface/ts.c</A>


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


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