Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab 6.0.2
Change language to: Français - Português - 日本語 - Русский
Scilab Help >> Linear Algebra > Matrix Analysis > rcond

# rcond

inverse condition number

### Syntax

`r = rcond(X)`

### Arguments

X

real or complex square matrix

r

real positive number

### Description

`rcond(X)` is an estimate for the reciprocal of the condition of `X` in the 1-norm.

If `X` is well conditioned, `rcond(X)` is close to 1. If not, `rcond(X)` is close to 0. Estimating the 1-norm inverse condition number with `rcond` is much faster than computing the 2-norm condition number with `cond`. As a trade-off, `rcond` may be less reliable.

Algorithm: We compute the 1-norm of X with Lapack/DLANGE, compute its LU decomposition with Lapack/DGETRF, and finally estimate the condition with Lapack/DGECON.

`rcond([])` yields `%inf`.

### Examples

```A = diag([1:10]);
rcond(A)
A(1,1) = 0.000001;
rcond(A)```

Comparative benchmark:

```A = ones(1000, 1000);
timer(); cond(A);    timer()
timer(); 1/rcond(A); timer()```

• svd — singular value decomposition
• cond — condition number of a matrix
• inv — matrix inverse

### History

 Version Description 6.0.2 rcond([]) now yields %inf = 1/cond([]) instead of [].