sylvester: Solve Sylvester Equation

Description Usage Arguments Value References Examples

View source: R/sylvester.R

Description

The Sylvester equation is of form

AX + XB = C

where X is the unknown and others are given. Though it's possible to have non-square A and B matrices, we currently support square matrices only. This is a wrapper of armadillo's sylvester function.

Usage

1
sylvester(A, B, C)

Arguments

A

a (p\times p) matrix as above.

B

a (p\times p) matrix as above.

C

a (p\times p) matrix as above.

Value

a solution matrix X of size (p\times p).

References

\insertRef

sanderson_armadillo_2016maotai

\insertRef

eddelbuettel_rcpparmadillo_2014maotai

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## simulated example
#  generate square matrices
A = matrix(rnorm(25),nrow=5)
X = matrix(rnorm(25),nrow=5)
B = matrix(rnorm(25),nrow=5)
C = A%*%X + X%*%B

#  solve using 'sylvester' function
solX = sylvester(A,B,C)
pm1 = "* Experiment with Sylvester Solver"
pm2 = paste("* Absolute Error  : ",norm(solX-X,"f"),sep="")
pm3 = paste("* Relative Error  : ",norm(solX-X,"f")/norm(X,"f"),sep="")
cat(paste(pm1,"\n",pm2,"\n",pm3,sep=""))

maotai documentation built on Oct. 25, 2021, 9:06 a.m.