Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語
Aide de Scilab >> Algèbre Lineaire > Eigenvalue and Singular Value > gschur

gschur

generalized Schur form. This function is obsolete.

Syntax

[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 TRANSPOSITION HERE
[As,Es,Z,dim] = schur(A,E,flag)

The last syntax requires little more adaptations:

if

extern is a scilab function the new syntax 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 syntax 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 — Objet Scilab, fonction externe ou routine
  • schur — [ordered] Schur decomposition of matrix and pencils
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:31:01 CEST 2016