1SLA_GEAMV(1)LAPACK routine (version 3.2) SLA_GEAMV(1)
2
3
4
6 SLA_GEAMV - performs one of the matrix-vector operations y :=
7 alpha*abs(A)*abs(x) + beta*abs(y),
8
10 SUBROUTINE SLA_GEAMV ( TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y,
11 INCY )
12
13 IMPLICIT NONE
14
15 REAL ALPHA, BETA
16
17 INTEGER INCX, INCY, LDA, M, N, TRANS
18
19 REAL A( LDA, * ), X( * ), Y( * )
20
22 SLA_GEAMV performs one of the matrix-vector operations
23 or y := alpha*abs(A)'*abs(x) + beta*abs(y),
24 where alpha and beta are scalars, x and y are vectors and A is an m by
25 n matrix.
26 This function is primarily used in calculating error bounds. To pro‐
27 tect against underflow during evaluation, components in the resulting
28 vector are perturbed away from zero by (N+1) times the underflow
29 threshold. To prevent unnecessarily large errors for block-structure
30 embedded in general matrices,
31 "symbolically" zero components are not perturbed. A zero entry is con‐
32 sidered "symbolic" if all multiplications involved in computing that
33 entry have at least one zero multiplicand.
34
36 TRANS - INTEGER
37 On entry, TRANS specifies the operation to be performed as fol‐
38 lows:
39
40 BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y)
41 BLAS_TRANS y := alpha*abs(A')*abs(x) +
42 beta*abs(y)
43 BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) +
44 beta*abs(y) Unchanged on exit.
45
46 M - INTEGER
47 On entry, M specifies the number of rows of the matrix A. M
48 must be at least zero. Unchanged on exit.
49
50 N - INTEGER
51 On entry, N specifies the number of columns of the matrix A. N
52 must be at least zero. Unchanged on exit.
53
54 ALPHA - REAL
55 On entry, ALPHA specifies the scalar alpha. Unchanged on exit.
56
57 A - REAL array of DIMENSION ( LDA, n )
58 Before entry, the leading m by n part of the array A must con‐
59 tain the matrix of coefficients. Unchanged on exit.
60
61 LDA - INTEGER
62 On entry, LDA specifies the first dimension of A as declared in
63 the calling (sub) program. LDA must be at least max( 1, m ).
64 Unchanged on exit.
65
66 X - REAL array of DIMENSION at least
67 ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' and at
68 least ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. Before entry,
69 the incremented array X must contain the vector x. Unchanged on
70 exit.
71
72 INCX - INTEGER
73 On entry, INCX specifies the increment for the elements of X.
74 INCX must not be zero. Unchanged on exit.
75
76 BETA - REAL
77 On entry, BETA specifies the scalar beta. When BETA is supplied
78 as zero then Y need not be set on input. Unchanged on exit.
79
80 Y - REAL
81 Array of DIMENSION at least ( 1 + ( m - 1 )*abs( INCY ) ) when
82 TRANS = 'N' or 'n' and at least ( 1 + ( n - 1 )*abs( INCY ) )
83 otherwise. Before entry with BETA non-zero, the incremented
84 array Y must contain the vector y. On exit, Y is overwritten by
85 the updated vector y.
86
87 INCY - INTEGER
88 On entry, INCY specifies the increment for the elements of Y.
89 INCY must not be zero. Unchanged on exit. Level 2 Blas rou‐
90 tine.
91
92
93
94 LAPACK routine (version 3.2) November 2008 SLA_GEAMV(1)