# HG changeset patch # User jwe # Date 745020770 0 # Node ID cd5ac1c52ea605138a3bfd1be28e7e39ac106821 # Parent 2947a1ad8ca3066f9f35d99ed08956f833205d10 [project @ 1993-08-10 22:12:50 by jwe] diff -r 2947a1ad8ca3 -r cd5ac1c52ea6 src/builtins.cc --- a/src/builtins.cc Tue Aug 10 22:12:50 1993 +0000 +++ b/src/builtins.cc Tue Aug 10 22:12:50 1993 +0000 @@ -509,6 +509,9 @@ { "svd", 2, 3, builtin_svd, "[U,S,V] = svd(X): return SVD of X\n", }, + { "syl", 4, 1, builtin_syl, + "X = syl (A, B, C): solve the Sylvester equation A X + X B + C = 0\n", }, + { "warranty", 1, 0, builtin_warranty, "describe copying conditions\n", }, diff -r 2947a1ad8ca3 -r cd5ac1c52ea6 src/g-builtins.cc --- a/src/g-builtins.cc Tue Aug 10 22:12:50 1993 +0000 +++ b/src/g-builtins.cc Tue Aug 10 22:12:50 1993 +0000 @@ -68,6 +68,7 @@ #include "f-rand.h" #include "f-schur.h" #include "f-svd.h" +#include "f-syl.h" #include "procstream.h" #include "error.h" @@ -1573,6 +1574,23 @@ } /* + * Sylvester equation solver. + */ +tree_constant * +builtin_syl (tree_constant *args, int nargin, int nargout) +{ + tree_constant *retval = NULL_TREE_CONST; + + if ((nargin == 4) && (nargout == 1)) + DLD_BUILTIN (args, nargin, nargout, syl, + retval = syl (args, nargin, nargout);) + else + usage ("X = syl (A,B,C)"); + + return retval; +} + +/* * Schur Decomposition */ tree_constant * diff -r 2947a1ad8ca3 -r cd5ac1c52ea6 src/g-builtins.h --- a/src/g-builtins.h Tue Aug 10 22:12:50 1993 +0000 +++ b/src/g-builtins.h Tue Aug 10 22:12:50 1993 +0000 @@ -114,6 +114,7 @@ extern tree_constant *builtin_sum (tree_constant *, int, int); extern tree_constant *builtin_sumsq (tree_constant *, int, int); extern tree_constant *builtin_svd (tree_constant *, int, int); +extern tree_constant *builtin_syl (tree_constant *, int, int); extern tree_constant *builtin_warranty (tree_constant *, int, int); extern tree_constant *builtin_zeros (tree_constant *, int, int);