psmall projeção espectral

## Syntax

    [Q,M]=psmall(A,thres,flag)

## Parameters

A

  matriz quadrada de reais

thres

  número real

flag

  string (`'c'` ou `'d'`)

Q,M

  matrizes de reais

## Description

Projeção sobre auto-subespaço associado com autovalores com parte real < `thres` (`flag='c'`) ou com módulo < `thres` (`flag='d'`).

A projeção é definda por `Q*M`, `Q` é de posto-coluna cheio, `M` é de posto-linha cheio e `M*Q=eye`.

Se `flag='c'`, os autovalores de `M*A*Q` = autovalores de `A` com parte real < `thres`.

Se `flag='d'`, os autovalores de `M*A*Q` = autovalores de `A` com magnitude < `thres`.

Se `flag='c'` e se `[Q1,M1]` = fatoração em posto cheio (`fullrf`) de `eye()-Q*M`então os autovalores de `M1*A*Q1` = autovalores de`A` com parte real >= `thres`.

Se `flag='d'` e se `[Q1,M1]` = fatoração em posto cheio (`fullrf`) de `eye()-Q*M` então os autovalores de `M1*A*Q1` = autovalores de `A` com magnitude >= `thres`.

## Examples

    A=diag([1,2,3]);X=rand(A);A=inv(X)*A*X;
    [Q,M]=psmall(A,2.5,'d');
    spec(M*A*Q)
    [Q1,M1]=fullrf(eye()-Q*M);
    spec(M1*A*Q1)

## See also

- pbig
- proj
- projspec

## Used Functions

Esta função é baseada na forma de Schur ordenada (Função do Scilab`schur`).