f08 Chapter Contents
f08 Chapter Introduction
NAG Library Manual

# NAG Library Function Documentnag_ddisna (f08flc)

## 1  Purpose

nag_ddisna (f08flc) computes the reciprocal condition numbers for the eigenvectors of a real symmetric or complex Hermitian $m$ by $m$ matrix $A$, or for the left or right singular vectors of a general $m$ by $n$ matrix $A$.

## 2  Specification

 #include #include
 void nag_ddisna (Nag_JobType job, Integer m, Integer n, const double d[], double sep[], NagError *fail)

## 3  Description

The bound on the error, measured by the angle in radians, for the $i$th computed vector is given by $\epsilon {‖A‖}_{2}/{\mathrm{sep}}_{i}$, where $\epsilon$ is the machine precision and ${\mathrm{sep}}_{i}$ is the reciprocal condition number for the vectors, returned in the array element ${\mathbf{sep}}\left[i-1\right]$. ${\mathbf{sep}}\left[i-1\right]$ is restricted to be at least $\epsilon {‖A‖}_{2}$ in order to limit the size of the error bound.

## 4  References

Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore

## 5  Arguments

1:     jobNag_JobTypeInput
On entry: specifies for which problem the reciprocal condition number should be computed.
${\mathbf{job}}=\mathrm{Nag_EigVecs}$
The eigenvectors of a symmetric or Hermitian matrix.
${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$
The left singular vectors of a general matrix.
${\mathbf{job}}=\mathrm{Nag_RightSingVecs}$
The right singular vectors of a general matrix.
Constraint: ${\mathbf{job}}=\mathrm{Nag_EigVecs}$, $\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$.
2:     mIntegerInput
On entry: $m$, the number of rows of the matrix $A$.
Constraint: ${\mathbf{m}}\ge 0$.
3:     nIntegerInput
On entry: $n$, the number of columns of the matrix when ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$.
If ${\mathbf{job}}=\mathrm{Nag_EigVecs}$, n is not referenced.
Constraint: if ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$, ${\mathbf{n}}\ge 0$.
4:     d[$\mathit{dim}$]const doubleInput
Note: the dimension, dim, of the array d must be at least
• $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{m}}\right)$ when ${\mathbf{job}}=\mathrm{Nag_EigVecs}$;
• $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,\mathrm{min}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{m}},{\mathbf{n}}\right)\right)$ when ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$.
On entry: the eigenvalues if ${\mathbf{job}}=\mathrm{Nag_EigVecs}$, or singular values if ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$ of the matrix $A$.
Constraints:
• the elements of the array d must be in either increasing or decreasing order;
• if ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$ the elements of d must be non-negative.
5:     sep[$\mathit{dim}$]doubleOutput
Note: the dimension, dim, of the array sep must be at least
• $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{m}}\right)$ when ${\mathbf{job}}=\mathrm{Nag_EigVecs}$;
• $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,\mathrm{min}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{m}},{\mathbf{n}}\right)\right)$ when ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$.
On exit: the reciprocal condition numbers of the vectors.
6:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

On entry, argument $⟨\mathit{\text{value}}⟩$ had an illegal value.
NE_ENUM_INT
On entry, ${\mathbf{job}}=⟨\mathit{\text{value}}⟩$ and ${\mathbf{n}}=⟨\mathit{\text{value}}⟩$.
Constraint: if ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$, ${\mathbf{n}}\ge 0$.
NE_INT
On entry, ${\mathbf{m}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{m}}\ge 0$.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_NOT_MONOTONIC
Constraint: the elements of the array d must be in either increasing or decreasing order.
if ${\mathbf{job}}=\mathrm{Nag_LeftSingVecs}$ or $\mathrm{Nag_RightSingVecs}$ the elements of d must be non-negative.

## 7  Accuracy

The reciprocal condition numbers are computed to machine precision relative to the size of the eigenvalues, or singular values.

Not applicable.