Skip to main content
`Ctrl`+`K`

# PetscDAEnsembleTFactor

Compute and store factorization of T matrix

## Synopsis

    PetscErrorCode PetscDAEnsembleTFactor(PetscDA da, Mat S)

Collective

## Input Parameters

- da - the `PetscDA` context

- S - normalized innovation matrix (obs_size x m)

## Notes

This function computes \(T = I + S^T * S\) and stores its factorization based on the selected `PetscDASqrtType`.

- For CHOLESKY mode: computes the lower triangular Cholesky factor \(L\) such that \(T = L * L^T\).

- For EIGEN mode: computes eigenvectors \(V\) and eigenvalues \(D\) such that \(T = V * D * V^T\).

The implementation uses matrix reuse (`MAT_REUSE_MATRIX`) to minimize memory allocation overhead when the ensemble size remains constant across analysis cycles.

## See Also

PetscDA: Data Assimilation, `PetscDA`, `PETSCDAETKF`, `PETSCDALETKF`, `PetscDAEnsembleApplyTInverse()`, `PetscDAEnsembleApplySqrtTInverse()`

## Level

advanced

## Location

src/ml/da/impls/ensemble/daensemble.c

## Implementations

PetscDAEnsembleTFactor_Cholesky() in src/ml/da/impls/ensemble/daensemble.c
PetscDAEnsembleTFactor_Eigen() in src/ml/da/impls/ensemble/daensemble.c

Index of all PetscDA routines
Table of Contents for all manual pages
Index of all manual pages