summaryrefslogtreecommitdiff
path: root/src/lib/lapack/dlarf.f
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/lapack/dlarf.f')
-rw-r--r--src/lib/lapack/dlarf.f115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/lib/lapack/dlarf.f b/src/lib/lapack/dlarf.f
deleted file mode 100644
index 22edc899..00000000
--- a/src/lib/lapack/dlarf.f
+++ /dev/null
@@ -1,115 +0,0 @@
- SUBROUTINE DLARF( SIDE, M, N, V, INCV, TAU, C, LDC, WORK )
-*
-* -- LAPACK auxiliary routine (version 3.1) --
-* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
-* November 2006
-*
-* .. Scalar Arguments ..
- CHARACTER SIDE
- INTEGER INCV, LDC, M, N
- DOUBLE PRECISION TAU
-* ..
-* .. Array Arguments ..
- DOUBLE PRECISION C( LDC, * ), V( * ), WORK( * )
-* ..
-*
-* Purpose
-* =======
-*
-* DLARF applies a real elementary reflector H to a real m by n matrix
-* C, from either the left or the right. H is represented in the form
-*
-* H = I - tau * v * v'
-*
-* where tau is a real scalar and v is a real vector.
-*
-* If tau = 0, then H is taken to be the unit matrix.
-*
-* Arguments
-* =========
-*
-* SIDE (input) CHARACTER*1
-* = 'L': form H * C
-* = 'R': form C * H
-*
-* M (input) INTEGER
-* The number of rows of the matrix C.
-*
-* N (input) INTEGER
-* The number of columns of the matrix C.
-*
-* V (input) DOUBLE PRECISION array, dimension
-* (1 + (M-1)*abs(INCV)) if SIDE = 'L'
-* or (1 + (N-1)*abs(INCV)) if SIDE = 'R'
-* The vector v in the representation of H. V is not used if
-* TAU = 0.
-*
-* INCV (input) INTEGER
-* The increment between elements of v. INCV <> 0.
-*
-* TAU (input) DOUBLE PRECISION
-* The value tau in the representation of H.
-*
-* C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
-* On entry, the m by n matrix C.
-* On exit, C is overwritten by the matrix H * C if SIDE = 'L',
-* or C * H if SIDE = 'R'.
-*
-* LDC (input) INTEGER
-* The leading dimension of the array C. LDC >= max(1,M).
-*
-* WORK (workspace) DOUBLE PRECISION array, dimension
-* (N) if SIDE = 'L'
-* or (M) if SIDE = 'R'
-*
-* =====================================================================
-*
-* .. Parameters ..
- DOUBLE PRECISION ONE, ZERO
- PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 )
-* ..
-* .. External Subroutines ..
- EXTERNAL DGEMV, DGER
-* ..
-* .. External Functions ..
- LOGICAL LSAME
- EXTERNAL LSAME
-* ..
-* .. Executable Statements ..
-*
- IF( LSAME( SIDE, 'L' ) ) THEN
-*
-* Form H * C
-*
- IF( TAU.NE.ZERO ) THEN
-*
-* w := C' * v
-*
- CALL DGEMV( 'Transpose', M, N, ONE, C, LDC, V, INCV, ZERO,
- $ WORK, 1 )
-*
-* C := C - v * w'
-*
- CALL DGER( M, N, -TAU, V, INCV, WORK, 1, C, LDC )
- END IF
- ELSE
-*
-* Form C * H
-*
- IF( TAU.NE.ZERO ) THEN
-*
-* w := C * v
-*
- CALL DGEMV( 'No transpose', M, N, ONE, C, LDC, V, INCV,
- $ ZERO, WORK, 1 )
-*
-* C := C - w * v'
-*
- CALL DGER( M, N, -TAU, WORK, 1, V, INCV, C, LDC )
- END IF
- END IF
- RETURN
-*
-* End of DLARF
-*
- END