<< signm Matrix Computation Model Transformation >>

Scilab Help >> Control Systems - CACSD > Matrix Computation > sylv

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


Report an issue
<< signm Matrix Computation Model Transformation >>