F06FAF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual
NAG Library Routine Document
F06FAF
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.
+
−
Contents
1
Purpose
2
Specification
3
Description
4
References
5
Parameters
6
Error Indicators and Warnings
7
Accuracy
8
Further Comments
9
Example
1 Purpose
F06FAF computes the cosine of the angle between two real vectors.
2 Specification
FUNCTION F06FAF (
N
,
J
,
TOLX
,
X
,
INCX
,
TOLY
,
Y
,
INCY
)
REAL (KIND=nag_wp) F06FAF
INTEGER
N, J, INCX, INCY
REAL (KIND=nag_wp)
TOLX, X(*), TOLY, Y(*)
3 Description
F06FAF returns, via the function name, the cosine of the angle between two
n
-element real vectors
x
and
y
, given by the expression
x
T
y
x
2
y
2
.
If
1
≤
j
≤
n
,
y
is taken to be the unit vector
e
j
, in which case the array
Y
is not referenced.
If
x
2
≤
tolx
, the routine returns
2.0
; if
x
2
>
tolx
but
y
2
≤
tol
y
, the routine returns
-
2.0
; otherwise the value returned is in the range
-
1.0
,
1.0
.
4 References
None.
5 Parameters
1: N – INTEGER
Input
On entry
:
n
, the number of elements in
x
and
y
.
2: J – INTEGER
Input
On entry
: if the vector
y
is supplied in
Y
,
J
should be set to
0
. Otherwise,
J
specifies the index
j
of the unit vector
e
j
to be used as
y
.
3: TOLX – REAL (KIND=nag_wp)
Input
On entry
: the value
tolx
, used to determine whether
x
2
is effectively zero.
If
TOLX
is negative, the value zero is used.
4: X(
*
) – REAL (KIND=nag_wp) array
Input
Note:
the dimension of the array
X
must be at least
max
1
,
1
+
N
-
1
×
INCX
.
On entry
: the
n
-element vector
x
.
If
INCX
>
0
,
x
i
must be stored in
X
1
+
i
-
1
×
INCX
, for
i
=
1
,
2
,
…
,
N
.
If
INCX
<
0
,
x
i
must be stored in
X
1
-
N
-
i
×
INCX
, for
i
=
1
,
2
,
…
,
N
.
Intermediate elements of
X
are not referenced.
5: INCX – INTEGER
Input
On entry
: the increment in the subscripts of
X
between successive elements of
x
.
6: TOLY – REAL (KIND=nag_wp)
Input
On entry
: the value
toly
, used to determine whether
y
2
is effectively zero.
If
TOLY
is negative, the value zero is used.
7: Y(
*
) – REAL (KIND=nag_wp) array
Input
Note:
the dimension of the array
Y
must be at least
max
1
,
1
+
N
-
1
×
INCY
.
On entry
: if
1
≤
J
≤
N
,
Y
is not referenced. Otherwise,
Y
holds the vector
y
.
If
INCY
>
0
,
y
i
must be stored in
Y
1
+
i
-
1
×
INCY
, for
i
=
1
,
2
,
…
,
N
.
If
INCY
<
0
,
y
i
must be stored in
Y
1
-
N
-
i
×
INCY
, for
i
=
1
,
2
,
…
,
N
.
Intermediate elements of
Y
are not referenced.
8: INCY – INTEGER
Input
On entry
: the increment in the subscripts of
Y
between successive elements of
y
.
6 Error Indicators and Warnings
None.
7 Accuracy
Not applicable.
8 Further Comments
None.
9 Example
None.
F06FAF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2012