# gschur

forma de Schur generalizada (função obsoleta)

## Seqüência de Chamamento

    [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)

## Descrição

Esta função é obsoleta e agora está inclusa na função `schur` function. Na maior parte dos casos, a função `gschur` irá ainda trabalhar como antes, mas será removida em um lançamento futuro do Scilab.

As três sintaxes podem ser substituídas por

    [As,Es]=schur(A,E)
    [As,Es,Q,Z]=schur(A,E);Q=Q' //NOTE A TRANSPOSIÇÃO AQUI
    [As,Es,Z,dim] = schur(A,E,flag)

A última sintaxe requer algumas adaptações a mais:

if

  é uma função do Scilab, a nova seqüência de chamamento deve ser `[As,Es,Z,dim]= schur(A,E,Nextern)` com Nextern definido como segue:

      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

  é o nome de uma função externa codificada em FORTRAN ou C, a nova seqüência de chamamento deve ser `[As,Es,Z,dim]= schur(A,E,'nextern')` com nextern definido como segue:

    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

## Ver Também

- external
- schur