* Bug #13531 fixed - Fixed sylv help page to include the real Sylester equation.
[scilab.git] / scilab / modules / cacsd / tests / unit_tests / sylv.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 // <-- ENGLISH IMPOSED -->
9
10 // Run with test_run('cacsd', 'sylv', ['no_check_error_output']);
11
12 A = rand(4, 4); C = rand(4, 3); B = rand(3, 3);
13
14 // Solve continuous-time Sylvester equation: A*X+X*B = C
15 X = sylv(A, B, C, "c");
16
17 expected_norm = 1.D-16;
18
19 if norm(A*X+X*B-C)-expected_norm > 1.D-15 then pause,end
20
21 // Solve modified discrete-time Sylvester equation: A*X*B+X = C
22 X = sylv(A, B, C, "d");
23
24 if norm(A*X*B+X-C)-expected_norm > 1.D-15 then pause,end
25
26 // Solve real discrete-time Sylvester equation: A*X*B+X = C
27 X = -sylv(-A, B, C, "d");
28
29 if norm(A*X*B-X-C)-expected_norm > 1.D-15 then pause,end