Sylvester Equations VI

Owning Palette: Linear Algebra VIs

Requires: Full Development System

Solves the Sylvester matrix equation. The data types you wire to the A, B, and C inputs determine the polymorphic instance to use.

Details  

Use the pull-down menu to select an instance of this VI.

 Add to the block diagram  Find on the palette

Real Sylvester Equations

operation A specifies the operation the VI performs on matrix A in the Sylvester equation.

0not transposed (default)—op(A) = A
1transposed—op(A) = transpose of A
A contains matrix A in the Sylvester equation. A must be a square matrix or upper quasi-triangular matrix in canonical Schur form.
B contains matrix B in the Sylvester equation. B must be a square matrix or upper quasi-triangular matrix in canonical Schur form.
C contains matrix C in the Sylvester equation.
sign specifies the form of the Sylvester equation.

0plus (default)—op(A)X + Xop(B) = aC
1minus—op(A)XXop(B) = aC
operation B specifies the operation the VI performs on matrix B in the Sylvester equation.

0not transposed (default)—op(B) = B
1transposed—op(B) = transpose of B
matrix type is the type of A and B. Specify types for A and B to speed up the computation of X and avoid unnecessary computation.

0General
3Upper Triangular (default)
X returns the solution of the Sylvester equation.
scale returns the scaling factor a of the Sylvester equation.
perturbed indicates whether the VI uses perturbed values to solve the equation. When perturbed is TRUE, the eigenvalues of A and B are common or close and indicate the solution of the Sylvester equation is not unique.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Complex Sylvester Equations

operation A specifies the operation the VI performs on matrix A in the Sylvester equation.

0not transposed (default)—op(A) = A
1transposed—op(A) = conjugate transpose of A
A contains matrix A in the Sylvester equation. A must be a square or upper-triangular matrix.
B contains matrix B in the Sylvester equation. B must be a square or upper-triangular matrix.
C contains matrix C in the Sylvester equation.
sign specifies the form of the Sylvester equation.

0plus (default)—op(A)X + Xop(B) = aC
1minus—op(A)XXop(B) = aC
operation B specifies the operation the VI performs on matrix B in the Sylvester equation.

0not transposed (default)—op(B) = B
1transposed—op(B) = conjugate transpose of B
matrix type is the type of A and B. Specify types for A and B to speed up the computation of X and avoid unnecessary computation.

0General
3Upper Triangular (default)
X returns the solution of the Sylvester equation.
scale returns the scaling factor a of the Sylvester equation.
perturbed indicates whether the VI uses perturbed values to solve the equation. When perturbed is TRUE, the eigenvalues of A and B are common or close and indicate the solution of the Sylvester equation is not unique.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Sylvester Equations Details

The following equations define the Sylvester matrix equation:

op(A)X + Xop(B) = aC

or

op(A)XXop(B) = aC

where op(A) is A or the conjugate transpose of A, op(B) is B or the conjugate transpose of B, and a is a scaling factor to avoid overflow in X.

The Sylvester matrix equation has a unique solution if and only if ± ≠ 0, where and are the eigenvalues of A and B, respectively, and the sign (+ or –) depends on the equation you want to solve. When the solution of the Sylvester matrix equation is not unique, this VI sets perturbed to TRUE and might not return the correct solution.