Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - English


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 — Lyapunov equation
Report an issue
<< signm Matrix Computation Model Transformation >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:30:03 CEST 2023