---
name: "ddrvrfp"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ddrvrfp.f"
---

# ddrvrfp(3)

Part of [ddrvrfp.f(3)](/ddrvrfp.f/3.md).

## NAME

TESTING/LIN/ddrvrfp.f

## SYNOPSIS

### Functions/Subroutines

subroutine **ddrvrfp** (nout, nn, nval, nns, nsval, nnt, ntval, thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, d\_work\_dlatms, d\_work\_dpot01, d\_temp\_dpot02, d\_temp\_dpot03, d\_work\_dlansy, d\_work\_dpot02, d\_work\_dpot03)\
 **DDRVRFP**

## Function/Subroutine Documentation

### subroutine ddrvrfp (integer nout, integer nn, integer, dimension( nn ) nval, integer nns, integer, dimension( nns ) nsval, integer nnt, integer, dimension( nnt ) ntval, double precision thresh, double precision, dimension( \* ) a, double precision, dimension( \* ) asav, double precision, dimension( \* ) afac, double precision, dimension( \* ) ainv, double precision, dimension( \* ) b, double precision, dimension( \* ) bsav, double precision, dimension( \* ) xact, double precision, dimension( \* ) x, double precision, dimension( \* ) arf, double precision, dimension( \* ) arfinv, double precision, dimension( \* ) d\_work\_dlatms, double precision, dimension( \* ) d\_work\_dpot01, double precision, dimension( \* ) d\_temp\_dpot02, double precision, dimension( \* ) d\_temp\_dpot03, double precision, dimension( \* ) d\_work\_dlansy, double precision, dimension( \* ) d\_work\_dpot02, double precision, dimension( \* ) d\_work\_dpot03)

**DDRVRFP**

**Purpose:**

```
!>
!> DDRVRFP tests the LAPACK RFP routines:
!>     DPFTRF, DPFTRS, and DPFTRI.
!>
!> This testing routine follow the same tests as DDRVPO (test for the full
!> format Symmetric Positive Definite solver).
!>
!> The tests are performed in Full Format, conversion back and forth from
!> full format to RFP format are performed using the routines DTRTTF and
!> DTFTTR.
!>
!> First, a specific matrix A of size N is created. There is nine types of
!> different matrixes possible.
!>  1. Diagonal                        6. Random, CNDNUM = sqrt(0.1/EPS)
!>  2. Random, CNDNUM = 2              7. Random, CNDNUM = 0.1/EPS
!> *3. First row and column zero       8. Scaled near underflow
!> *4. Last row and column zero        9. Scaled near overflow
!> *5. Middle row and column zero
!> (* - tests error exits from DPFTRF, no test ratios are computed)
!> A solution XACT of size N-by-NRHS is created and the associated right
!> hand side B as well. Then DPFTRF is called to compute L (or U), the
!> Cholesky factor of A. Then L (or U) is used to solve the linear system
!> of equations AX = B. This gives X. Then L (or U) is used to compute the
!> inverse of A, AINV. The following four tests are then performed:
!> (1) norm( L*L' - A ) / ( N * norm(A) * EPS ) or
!>     norm( U'*U - A ) / ( N * norm(A) * EPS ),
!> (2) norm(B - A*X) / ( norm(A) * norm(X) * EPS ),
!> (3) norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ),
!> (4) ( norm(X-XACT) * RCOND ) / ( norm(XACT) * EPS ),
!> where EPS is the machine precision, RCOND the condition number of A, and
!> norm( . ) the 1-norm for (1,2,3) and the inf-norm for (4).
!> Errors occur when INFO parameter is not as expected. Failures occur when
!> a test ratios is greater than THRES.
!>
```

**Parameters**

*NOUT*

```
!>          NOUT is INTEGER
!>                The unit number for output.
!>
```

*NN*

```
!>          NN is INTEGER
!>                The number of values of N contained in the vector NVAL.
!>
```

*NVAL*

```
!>          NVAL is INTEGER array, dimension (NN)
!>                The values of the matrix dimension N.
!>
```

*NNS*

```
!>          NNS is INTEGER
!>                The number of values of NRHS contained in the vector NSVAL.
!>
```

*NSVAL*

```
!>          NSVAL is INTEGER array, dimension (NNS)
!>                The values of the number of right-hand sides NRHS.
!>
```

*NNT*

```
!>          NNT is INTEGER
!>                The number of values of MATRIX TYPE contained in the vector NTVAL.
!>
```

*NTVAL*

```
!>          NTVAL is INTEGER array, dimension (NNT)
!>                The values of matrix type (between 0 and 9 for PO/PP/PF matrices).
!>
```

*THRESH*

```
!>          THRESH is DOUBLE PRECISION
!>                The threshold value for the test ratios.  A result is
!>                included in the output file if RESULT >= THRESH.  To have
!>                every test ratio printed, use THRESH = 0.
!>
```

*A*

```
!>          A is DOUBLE PRECISION array, dimension (NMAX*NMAX)
!>
```

*ASAV*

```
!>          ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX)
!>
```

*AFAC*

```
!>          AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX)
!>
```

*AINV*

```
!>          AINV is DOUBLE PRECISION array, dimension (NMAX*NMAX)
!>
```

*B*

```
!>          B is DOUBLE PRECISION array, dimension (NMAX*MAXRHS)
!>
```

*BSAV*

```
!>          BSAV is DOUBLE PRECISION array, dimension (NMAX*MAXRHS)
!>
```

*XACT*

```
!>          XACT is DOUBLE PRECISION array, dimension (NMAX*MAXRHS)
!>
```

*X*

```
!>          X is DOUBLE PRECISION array, dimension (NMAX*MAXRHS)
!>
```

*ARF*

```
!>          ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2)
!>
```

*ARFINV*

```
!>          ARFINV is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2)
!>
```

*D\_WORK\_DLATMS*

```
!>          D_WORK_DLATMS is DOUBLE PRECISION array, dimension ( 3*NMAX )
!>
```

*D\_WORK\_DPOT01*

```
!>          D_WORK_DPOT01 is DOUBLE PRECISION array, dimension ( NMAX )
!>
```

*D\_TEMP\_DPOT02*

```
!>          D_TEMP_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX*MAXRHS )
!>
```

*D\_TEMP\_DPOT03*

```
!>          D_TEMP_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX*NMAX )
!>
```

*D\_WORK\_DLANSY*

```
!>          D_WORK_DLANSY is DOUBLE PRECISION array, dimension ( NMAX )
!>
```

*D\_WORK\_DPOT02*

```
!>          D_WORK_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX )
!>
```

*D\_WORK\_DPOT03*

```
!>          D_WORK_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX )
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **232** of file **ddrvrfp.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
