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

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.

gschur

generalized Schur form. This function is obsolete.

Calling Sequence

```[As,Es]=gschur(A,E)
[As,Es,Q,Z]=gschur(A,E)
[As,Es,Z,dim] = gschur(A,E,flag)
[As,Es,Z,dim]= gschur(A,E,extern)```

Description

This function is obsolete and is now included in the `schur` function. In most cases the `gschur` function will still work as before, but it will be removed in the future release.

The first three syntaxes can be replaced by

```[As,Es]=schur(A,E)
[As,Es,Q,Z]=schur(A,E);Q=Q' //NOTE THE TRANPOSITION HERE
[As,Es,Z,dim] = schur(A,E,flag)```

The last syntax requires little more adaptations:

if

extern is a scilab function the new calling sequence should be `[As,Es,Z,dim]= schur(A,E,Nextern)` with Nextern defined as follow:

```function t=Nextern(R)
if R(2)==0 then
t=extern([1,R(1),R(3)])==1
else
c=(R(1)+%i*R(2))/R(3)
t=extern([2,real(c+c'),real(c*c')])==1
end
endfunction```
if

extern is the name of an external function coded in Fortran or C the new calling sequence should be `[As,Es,Z,dim]= schur(A,E,'nextern')` with nextern defined as follow:

```logical function nextern(ar, ai, beta)
double precision ar,ai,beta
integer r,extern
if (ai.eq.0.0d0) then
r=extern(1,ar,beta,0.0d0,0.0d0)
else
r=extern(2,0.0d0,0.0d0,2.0d0*ar,ar*ar+ai*ai)
endif
nextern=r.eq.1
end```

See Also

• external — объект Scilab'а, внешняя функция или подпрограмма
• schur — [ordered] Schur decomposition of matrix and pencils
 Report an issue << bdiag Eigenvalue and Singular Value gspec >>

 Copyright (c) 2022-2023 (Dassault Systèmes)Copyright (c) 2017-2022 (ESI Group)Copyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Thu Oct 02 14:01:04 CEST 2014