# How MATLAB Computes Condition Number

If you’ve ever worked with MATLAB you’re likely familiar with the condition number. It a numerical value that can tell you a lot about the properties of a matrix. In this article we’ll explore how MATLAB computes the condition number what it tells us and how it can be useful in solving problems.

Table of Contents

- Introduction
- What is the Condition Number?
- Why is the Condition Number Important?
- Computing the Condition Number in MATLAB
- Using the cond Function
- Computing the Condition Number Manually
- Interpretation of the Condition Number
- Condition Number Close to 1
- High Condition Number
- Application of Condition Number
- Solving Linear Systems
- Numerical Stability
- Conclusion
- FAQs

## Introduction

When working with matrices it important to have an understanding of their properties. One of the most important properties is the condition number. The condition number can be used to determine the stability of a matrix and the accuracy of its numerical computations. In MATLAB computing the condition number is easy thanks to the builtin functions.

## What is the Condition Number?

The condition number is a numerical value that describes the sensitivity of a matrix to changes in its elements. Specifically it measures how much the output of a linear system changes for a small change in the input. A matrix with a high condition number is said to be illconditioned while a matrix with a low condition number is wellconditioned.

## Why is the Condition Number Important?

The condition number is an important property of matrices because it can tell us a lot about their behavior. An illconditioned matrix can cause numerical instability and make the solution to a problem inaccurate. On the other hand a wellconditioned matrix will have a stable solution and be less prone to numerical errors.

## Computing the Condition Number in MATLAB

In MATLAB there are several ways to compute the condition number of a matrix. One way is to use the builtin cond function while another is to compute it manually.

## Using the cond Function

The cond function is the simplest way to compute the condition number of a matrix in MATLAB. It takes a matrix as its input and returns the condition number.

matlabCopy code

A = [1 2; 3 4]; cond(A)

Output:

makefileCopy code

ans = 14.9330

## Computing the Condition Number Manually

Another way to compute the condition number in MATLAB is to do it manually using the singular value decomposition (SVD) of the matrix. The SVD of a matrix A is given by:

matlabCopy code

[U S V] = svd(A);

The condition number of A can then be computed using the formula:

matlabCopy code

cond(A) = norm(A)*norm(inv(A))

where norm is the matrix norm.

matlabCopy code

A = [1 2; 3 4]; [U S V] = svd(A); cond_num = norm(A)*norm(inv(A))

Output:

makefileCopy code

cond_num = 14.9330

## Interpretation of the Condition Number

The interpretation of the condition number depends on the value obtained. If the condition number is close to 1 the matrix is wellconditioned. If the condition number is high the matrix is illconditioned.

## Condition Number Close to 1

If the condition number is close to 1 it means that the matrix is wellconditioned. This is a desirable property because it means that small changes to the matrix will not result in large changes in the output.

## High Condition Number

If the condition number is high it means that the matrix is illconditioned. This is an undesirable property because it means that small changes to the matrix can result in large changes in the output. In practical terms this means that the matrix is difficult to work with and can result in numerical instability and inaccurate solutions to problems.

## Application of Condition Number

The condition number can be useful in solving problems that involve matrices. Two important applications are solving linear systems and assessing numerical stability.

## Solving Linear Systems

The condition number can be used to determine the accuracy of solutions to linear systems of equations. A high condition number indicates that the system is illconditioned and the solution may be inaccurate. In contrast a low condition number indicates that the system is wellconditioned and the solution will be more accurate.

## Numerical Stability

The condition number can also be used to assess the numerical stability of an algorithm. A high condition number indicates that the algorithm may be unstable and prone to numerical errors. In contrast a low condition number indicates that the algorithm is stable and less prone to numerical errors.

## Conclusion

In this article we’ve explored what the condition number is why it important and how it can be computed in MATLAB. We’ve also discussed the interpretation of the condition number and its applications in solving linear systems and assessing numerical stability. By understanding the condition number we can gain insight into the behavior of matrices and improve the accuracy and stability of our numerical computations.

## FAQs

## What is a wellconditioned matrix?

A matrix with a low condition number is considered to be wellconditioned.

## What is the formula for computing the condition number of a matrix in MATLAB?

The condition number of a matrix can be computed using the cond function or by computing it manually using the singular value decomposition (SVD) of the matrix.

## What is the interpretation of a high condition number?

A high condition number indicates that a matrix is illconditioned and can result in numerical instability and inaccurate solutions to problems.

## What are some applications of the condition number?

The condition number can be used to determine the accuracy of solutions to linear systems and assess the numerical stability of algorithms.

## Why is the condition number important?

The condition number is important because it can tell us a lot about the behavior of matrices and improve the accuracy and stability of our numerical computations.

## How to Compute Condition Number in MATLAB

When working with matrices in MATLAB it important to understand the condition number and how to compute it. The condition number is a measure of how sensitive a matrix is to changes in its entries. In this article we’ll explore what the condition number is why it important and how to compute it in MATLAB.

## What is the Condition Number?

The condition number is a scalar value that measures how sensitive a matrix is to changes in its entries. It is defined as the ratio of the largest and smallest singular values of a matrix. The singular values are the square roots of the eigenvalues of the matrix Gramian matrix.

## Why is the Condition Number Important?

The condition number is an important property of matrices because it can affect the accuracy and stability of numerical computations that involve matrices. A matrix with a high condition number is said to be illconditioned which means that small changes to the matrix can result in large changes in the output. This can lead to numerical instability and inaccurate solutions to problems. On the other hand a matrix with a low condition number is said to be wellconditioned which means that it is less sensitive to changes in its entries and is more numerically stable.

## How to Compute the Condition Number in MATLAB

MATLAB provides a builtin function called cond that computes the condition number of a matrix. The syntax of the function is as follows:

scssCopy code

### c = cond(A)

where A is the matrix whose condition number is to be computed and c is the resulting condition number.

Alternatively the condition number can be computed manually using the singular value decomposition (SVD) of the matrix. The SVD of a matrix A is given by:

cssCopy code

### A = U*S*V’

where U and V are orthogonal matrices and S is a diagonal matrix containing the singular values of A. The condition number of A can then be computed as:

scssCopy code

### c = max(diag(S))/min(diag(S))

Example: Computing the Condition Number of a Matrix in MATLAB

Let consider the following 3×3 matrix A:

cssCopy code

### A = [1 2 3; 4 5 6; 7 8 9]

To compute the condition number of A using the cond function we can simply type:

scssCopy code

### c = cond(A)

The output should be:

makefileCopy code

## c = 4.4183e+16

This indicates that A is illconditioned and small changes to its entries can result in large changes in the output. To verify this we can try adding a small perturbation to A and computing the condition number again:

scssCopy code

Ap = A + 1e10*eye(3) cp = cond(Ap)

The output should be:

bashCopy code

### cp = 4.4183e+16

This shows that even a small perturbation to A can result in a large change in the condition number confirming that A is indeed illconditioned.

## Conclusion

In this article we’ve discussed what the condition number is why it important and how to compute it in MATLAB. We’ve also shown an example of computing the condition number of a matrix and how to interpret the results. By understanding the condition number we can gain insight into the behavior of matrices and improve the accuracy and stability of our numerical computations.