TESTING/EIG/cbdt05.f(3) Library Functions Manual TESTING/EIG/cbdt05.f(3)

# NAME

TESTING/EIG/cbdt05.f

# SYNOPSIS

## Functions/Subroutines

subroutine cbdt05 (m, n, a, lda, s, ns, u, ldu, vt, ldvt, work, resid)
CBDT05

# Function/Subroutine Documentation

## subroutine cbdt05 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) s, integer ns, complex, dimension( * ) u, integer ldu, complex, dimension( ldvt, * ) vt, integer ldvt, complex, dimension( * ) work, real resid)

CBDT05

Purpose:

``` CBDT05 reconstructs a bidiagonal matrix B from its (partial) SVD:
S = U' * B * V
where U and V are orthogonal matrices and S is diagonal.
The test ratio to test the singular value decomposition is
RESID = norm( S - U' * B * V ) / ( n * norm(B) * EPS )
where VT = V' and EPS is the machine precision.```

Parameters

M
```          M is INTEGER
The number of rows of the matrices A and U.```

N

```          N is INTEGER
The number of columns of the matrices A and VT.```

A

```          A is COMPLEX array, dimension (LDA,N)
The m by n matrix A.```

LDA

```          LDA is INTEGER
The leading dimension of the array A.  LDA >= max(1,M).```

S

```          S is REAL array, dimension (NS)
The singular values from the (partial) SVD of B, sorted in
decreasing order.```

NS

```          NS is INTEGER
The number of singular values/vectors from the (partial)
SVD of B.```

U

```          U is COMPLEX array, dimension (LDU,NS)
The n by ns orthogonal matrix U in S = U' * B * V.```

LDU

```          LDU is INTEGER
The leading dimension of the array U.  LDU >= max(1,N)```

VT

```          VT is COMPLEX array, dimension (LDVT,N)
The n by ns orthogonal matrix V in S = U' * B * V.```

LDVT

```          LDVT is INTEGER
The leading dimension of the array VT.```

WORK

`          WORK is COMPLEX array, dimension (M,N)`

RESID

```          RESID is REAL
The test ratio:  norm(S - U' * A * V) / ( n * norm(A) * EPS )```

Author

Univ. of Tennessee

Univ. of California Berkeley