sylv Solve the Sylvester equations A*X + X*B = C or A*X*B + X = C

## Syntax

                sylv(A, B, C, 'c')
                sylv(A, B, C, 'd')

## Arguments

A, B, C

  three real matrices of appropriate dimensions.

flag 'c' or 'd'

  choose the type of Sylvester equation to solve.

## Description

X = sylv(A, B, C, 'c') computes `X` as solution of the "continuous time" Sylvester equation `A*X + X*B = C`.

X = sylv(A, B, C, 'd') computes `X` as solution of the modified "discrete time" Sylvester equation `A*X*B + X = C`.

X = -sylv(-A, B, C, 'd') computes `X` as solution of the real "discrete time" Sylvester equation `A*X*B - X = C`.

## Examples

    A = rand(4, 4); C = rand(4, 3); B = rand(3, 3);

    // Continuous time Sylvester equation:
    X = sylv(A, B, C, 'c');
    norm(A*X + X*B - C)

    // Modified Discrete time Sylvester equation:
    X = sylv(A, B, C, 'd');
    norm(A*X*B + X - C)

    // Real Discrete time Sylvester equation:
    X = -sylv(-A, B, C, 'd');
    norm(A*X*B - X - C)

## See also

- lyap