F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentF06FUF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

## 1  Purpose

F06FUF applies a LINPACK (as opposed to NAG) style real elementary reflection to a real vector.

## 2  Specification

 SUBROUTINE F06FUF ( N, Z, INCZ, Z1, ALPHA, X, INCX)
 INTEGER N, INCZ, INCX REAL (KIND=nag_wp) Z(*), Z1, ALPHA, X(*)

## 3  Description

F06FUF applies a real elementary reflection (Householder matrix) $P$, as generated by F06FSF, to a given real vector:
 $α x ←P α x$
where $x$ is an $n$-element real vector and $\alpha$ a real scalar.

None.

## 5  Parameters

1:     N – INTEGERInput
On entry: $n$, the number of elements in $x$ and $z$.
2:     Z($*$) – REAL (KIND=nag_wp) arrayInput
Note: the dimension of the array Z must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,1+\left({\mathbf{N}}-1\right)×\left|{\mathbf{INCZ}}\right|\right)$.
On entry: the vector $z$, as returned by F06FSF.
If ${\mathbf{INCZ}}>0$, ${z}_{\mathit{i}}$ must be stored in ${\mathbf{Z}}\left(1+\left(\mathit{i}-1\right)×{\mathbf{INCZ}}\right)$, for $\mathit{i}=1,2,\dots ,{\mathbf{N}}$.
If ${\mathbf{INCZ}}<0$, ${z}_{\mathit{i}}$ must be stored in ${\mathbf{Z}}\left(1-\left({\mathbf{N}}-\mathit{i}\right)×{\mathbf{INCZ}}\right)$, for $\mathit{i}=1,2,\dots ,{\mathbf{N}}$.
3:     INCZ – INTEGERInput
On entry: the increment in the subscripts of Z between successive elements of $z$.
4:     Z1 – REAL (KIND=nag_wp)Input
On entry: the scalar $\zeta$, as returned by F06FSF.
If $\zeta =0$, $P$ is assumed to be the unit matrix and the transformation is skipped.
5:     ALPHA – REAL (KIND=nag_wp)Input/Output
On entry: the original scalar $\alpha$.
On exit: the transformed scalar $\alpha$.
6:     X($*$) – REAL (KIND=nag_wp) arrayInput/Output
Note: the dimension of the array X must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,1+\left({\mathbf{N}}-1\right)×\left|{\mathbf{INCX}}\right|\right)$.
On entry: the original vector $x$.
If ${\mathbf{INCX}}>0$, ${x}_{\mathit{i}}$ must be stored in ${\mathbf{X}}\left(1+\left(\mathit{i}-1\right)×{\mathbf{INCX}}\right)$, for $\mathit{i}=1,2,\dots ,{\mathbf{N}}$.
If ${\mathbf{INCX}}<0$, ${x}_{\mathit{i}}$ must be stored in ${\mathbf{X}}\left(1-\left({\mathbf{N}}-\mathit{i}\right)×{\mathbf{INCX}}\right)$, for $\mathit{i}=1,2,\dots ,{\mathbf{N}}$.
On exit: the transformed vector $x$ stored in the same array elements used to supply the original vector $x$.
7:     INCX – INTEGERInput
On entry: the increment in the subscripts of X between successive elements of $x$.

None.

Not applicable.