F06FCF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06FCF

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
    7  Accuracy
    9  Example

1  Purpose

F06FCF multiplies a real vector by a real diagonal matrix.

2  Specification

SUBROUTINE F06FCF ( N, D, INCD, X, INCX)
INTEGER  N, INCD, INCX
REAL (KIND=nag_wp)  D(*), X(*)

3  Description

F06FCF performs the operation
xDx
where x is an n-element real vector and D=diagd is a real diagonal matrix.
Equivalently, the routine performs the element-by-element product of the vectors x and d 
xi=dixi,   i=1,2,,n.

4  References

None.

5  Parameters

1:     N – INTEGERInput
On entry: n, the number of elements in d and x.
2:     D(*) – REAL (KIND=nag_wp) arrayInput
Note: the dimension of the array D must be at least max1, 1+N-1 ×INCD .
On entry: the vector d.
If INCD>0, di must be stored in D1+i-1×INCD, for i=1,2,,N.
If INCD<0, di must be stored in D1-N-i×INCD, for i=1,2,,N.
3:     INCD – INTEGERInput
On entry: the increment in the subscripts of D between successive elements of d.
4:     X(*) – REAL (KIND=nag_wp) arrayInput/Output
Note: the dimension of the array X must be at least max1, 1+N-1 ×INCX .
On entry: the array X must contain the n-element vector x.
If INCX>0, xi must be stored in X1+i-1×INCX, for i=1,2,,N.
If INCX<0, xi must be stored in X1-N-i×INCX, for i=1,2,,N.
On exit: the updated vector x stored in the array elements used to supply the original vector x.
Intermediate elements of X are unchanged.
5:     INCX – INTEGERInput
On entry: the increment in the subscripts of X between successive elements of x.

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

None.

F06FCF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012