# 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
 [](chapter_ts), `TS`, `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)  
