Skip to main content
`Ctrl`+`K`

# LMESetSolution

Sets the placeholder for the solution of the matrix equation, as a low-rank matrix.

## Synopsis

    #include "slepclme.h"
    PetscErrorCode LMESetSolution(LME lme,Mat X)

Collective

## Input Parameters

- lme - the linear matrix equation solver context

- X - the solution matrix

## Notes

The matrix equation takes the general form \(AXE+DXB=C\), where the solution matrix is of low rank and is written in factored form \(X = UDV^*\). This function provides a `Mat` object of type `MATLRC` that stores \(U\), \(V\) and (optionally) \(D\). These factors will be computed during `LMESolve()`.

In equation types whose solution \(X\) is symmetric, such as Lyapunov, \(X\) must be created with \(V=U\) (or `V=NULL`).

If the user provides `X` with this function, then the solver will return a solution with rank at most the number of columns of \(U\). Alternatively, it is possible to let the solver choose the rank of the solution, by setting `X` to `NULL` and then calling `LMEGetSolution()` after `LMESolve()`.

## See Also

LME: Linear Matrix Equation, `LMEGetSolution()`, `LMESetRHS()`, `LMESetProblemType()`, `LMESolve()`

## Level

intermediate

## Location

src/lme/interface/lmesetup.c

## Examples

src/lme/tutorials/ex32.c

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