Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab-Branch-6.1-GIT
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Linear Algebra > eigen > psmall

# psmall

spectral projection

### Syntax

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

### Arguments

A

real square matrix

thres

real number

flag

character string (`'c'` or `'d'`)

Q,M

real matrices

### Description

Projection on eigen-subspace associated with eigenvalues with real part < `thres` (`flag='c'`) or with modulus < `thres` (`flag='d'`).

The projection is defined by `Q*M`, `Q` is full column rank, `M` is full row rank and `M*Q=eye`.

If `flag='c'`, the eigenvalues of `M*A*Q` = eigenvalues of `A` with real part < `thres`.

If `flag='d'`, the eigenvalues of `M*A*Q` = eigenvalues of `A` with magnitude < `thres`.

If `flag='c'` and if `[Q1,M1]` = full rank factorization (`fullrf`) of `eye()-Q*M` then eigenvalues of `M1*A*Q1` = eigenvalues of `A` with real part >= `thres`.

If `flag='d'` and if `[Q1,M1]` = full rank factorization (`fullrf`) of `eye()-Q*M` then eigenvalues of `M1*A*Q1` = eigenvalues of `A` with 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)```

### Used Functions

This function is based on the ordered schur form (scilab function `schur`).