# 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()```

### See also

• 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 [].
 Report an issue << rank Matrix Analysis rref >>

 Copyright (c) 2022-2023 (Dassault Systèmes)Copyright (c) 2017-2022 (ESI Group)Copyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Tue Mar 07 09:28:42 CET 2023