NAG CL Interfacef16jrc (damin_​val)

Settings help

CL Name Style:

1Purpose

f16jrc computes, with respect to absolute value, the smallest component of a real vector, along with the index of that component.

2Specification

 #include
 void f16jrc (Integer n, const double x[], Integer incx, Integer *k, double *r, NagError *fail)
The function may be called by the names: f16jrc, nag_blast_damin_val or nag_damin_val.

3Description

f16jrc computes, with respect to absolute value, the smallest component, $r$, of an $n$-element real vector $x$, and determines the smallest index, $k$, such that
 $r=|xk|=minj|xj|.$

4References

Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001) Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard University of Tennessee, Knoxville, Tennessee https://www.netlib.org/blas/blast-forum/blas-report.pdf

5Arguments

1: $\mathbf{n}$Integer Input
On entry: $n$, the number of elements in $x$.
Constraint: ${\mathbf{n}}\ge 0$.
2: $\mathbf{x}\left[\mathit{dim}\right]$const double Input
Note: the dimension, dim, of the array x must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,1+\left({\mathbf{n}}-1\right)×|{\mathbf{incx}}|\right)$.
On entry: the $n$-element vector $x$.
If ${\mathbf{incx}}>0$, ${x}_{\mathit{i}}$ must be stored in ${\mathbf{x}}\left[\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[\left({\mathbf{n}}-\mathit{i}\right)×|{\mathbf{incx}}|\right]$, for $\mathit{i}=1,2,\dots ,{\mathbf{n}}$.
Intermediate elements of x are not referenced. If ${\mathbf{n}}=0$, x is not referenced and may be NULL.
3: $\mathbf{incx}$Integer Input
On entry: the increment in the subscripts of x between successive elements of $x$.
Constraint: ${\mathbf{incx}}\ne 0$.
4: $\mathbf{k}$Integer * Output
On exit: $k$, the index, from the set $\left\{0,1,\dots ,{\mathbf{n}}-1\right\}$, of the smallest component of $x$ with respect to absolute value. If ${\mathbf{n}}=0$ on input then k is returned as $-1$.
5: $\mathbf{r}$double * Output
On exit: $r$, the smallest component of $x$ with respect to absolute value. If ${\mathbf{n}}=0$ on input then r is returned as $0.0$.
6: $\mathbf{fail}$NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument $⟨\mathit{\text{value}}⟩$ had an illegal value.
NE_INT
On entry, ${\mathbf{incx}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{incx}}\ne 0$.
On entry, ${\mathbf{n}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{n}}\ge 0$.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.

7Accuracy

The BLAS standard requires accurate implementations which avoid unnecessary over/underflow (see Section 2.7 of Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001)).

8Parallelism and Performance

f16jrc is not threaded in any implementation.

None.

10Example

This example computes the smallest component with respect to absolute value and index of that component for the vector
 $x= (1,10,11,−2,9) T .$

10.1Program Text

Program Text (f16jrce.c)

10.2Program Data

Program Data (f16jrce.d)

10.3Program Results

Program Results (f16jrce.r)