Change language to:
English - Français - 日本語 -

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
See the recommended documentation of this function

Ajuda Scilab >> CACSD > equil1

# equil1

balancing (nonnegative) pair of matrices

### Calling Sequence

`[T [,siz]]=equil1(P,Q [,tol])`

### Arguments

P, Q

two non-negative symmetric matrices

T

nonsingular matrix

siz

vector of three integers

tol

threshold

### Description

`equil1` computes `t` such that:

`P1=T*P*T'` and `Q1=inv(T)'*Q*inv(T)` are as follows:

`P1 = diag(S1,S2,0,0)` and `Q1 = diag(S1,0,S3,0)` with `S1,S2,S3` positive and diagonal matrices with respective dimensions `siz=[n1,n2,n3]`

`tol` is a threshold for rank determination in SVD

### Examples

```S1=rand(2,2);S1=S1*S1';
S2=rand(2,2);S2=S2*S2';
S3=rand(2,2);S3=S3*S3';
P=sysdiag(S1,S2,zeros(4,4));
Q=sysdiag(S1,zeros(2,2),S3,zeros(2,2));
X=rand(8,8);
P=X*P*X';Q=inv(X)'*Q*inv(X);
[T,siz]=equil1(P,Q);
P1=clean(T*P*T')
Q1=clean(inv(T)'*Q*inv(T))```