ZGERU(3)
π NAME π
okay so bestie, this whole page is about zgeru.f β and yeah, the full glow-up path is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/zgeru.f
it's a BLAS girlie living her best life inside LAPACK, and I'm gonna walk you through her whole vibe. no cap. π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
she's giving:
subroutine ZGERU (m, n, alpha, x, incx, y, incy, a, lda)
and the function name is literally just ZGERU. main character energy, honestly. π
π Function/Subroutine Documentation π
okay here's the full signature, typed out exactly because we do not play with types:
subroutine ZGERU (integer m, integer n, complex*16 alpha, complex*16,
dimension(*) x, integer incx, complex*16, dimension(*) y, integer incy,
complex*16, dimension(lda,*) a, integer lda)
ZGERU
πΈ Purpose:
ok so the goal here is very specific and honestly iconic:
!>
!> ZGERU performs the rank 1 operation
!>
!> A := alpha*x*y**T + A,
!>
!> where alpha is a scalar, x is an m element vector, y is an n element
!> vector and A is an m by n matrix.
!>
translation bestie: it takes your matrix A and updates it β alpha (a scalar) times x (m elements) times y**T (n elements), all added onto A. rank 1 update, ate, no crumbs. π₯
π Parameters
β M
!> M is INTEGER
!> On entry, M specifies the number of rows of the matrix A.
!> M must be at least zero.
!>
M is an INTEGER, it's the number of rows of A, and it's gotta be at least zero. negative rows? not today. π
β N
!> N is INTEGER
!> On entry, N specifies the number of columns of the matrix A.
!> N must be at least zero.
!>
N is an INTEGER, number of columns of A, minimum zero. she's not complicated. π
β ALPHA
!> ALPHA is COMPLEX*16
!> On entry, ALPHA specifies the scalar alpha.
!>
ALPHA is COMPLEX*16 and it's just... the scalar alpha. that's it. that's the whole personality. π«Ά
β X
!> X is COMPLEX*16 array, dimension at least
!> ( 1 + ( m - 1 )*abs( INCX ) ).
!> Before entry, the incremented array X must contain the m
!> element vector x.
!>
X is a COMPLEX*16 array, dimension at least ( 1 + ( m - 1 )*abs( INCX ) ). before you come in, the incremented array X needs to already hold that m-element vector x. lowkey important. β¨
β INCX
!> INCX is INTEGER
!> On entry, INCX specifies the increment for the elements of
!> X. INCX must not be zero.
!>
INCX is an INTEGER and it's the stride between elements of X. and listen β INCX must not be zero. do not do it. π
β Y
!> Y is COMPLEX*16 array, dimension at least
!> ( 1 + ( n - 1 )*abs( INCY ) ).
!> Before entry, the incremented array Y must contain the n
!> element vector y.
!>
Y is a COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ), and before entry the incremented array Y must contain the n-element vector y. twin of X, honestly. π¦
β INCY
!> INCY is INTEGER
!> On entry, INCY specifies the increment for the elements of
!> Y. INCY must not be zero.
!>
INCY is an INTEGER, stride for Y's elements, and again: INCY must not be zero. same rule, same drama. π
β A
!> A is COMPLEX*16 array, dimension ( LDA, N )
!> Before entry, the leading m by n part of the array A must
!> contain the matrix of coefficients. On exit, A is
!> overwritten by the updated matrix.
!>
A is a COMPLEX*16 array, dimension ( LDA, N ). going in, the leading m-by-n chunk of A holds the matrix of coefficients; coming out, A gets overwritten with the updated matrix. she gets a makeover in place. π
β LDA
!> LDA is INTEGER
!> On entry, LDA specifies the first dimension of A as declared
!> in the calling (sub) program. LDA must be at least
!> max( 1, m ).
!>
LDA is an INTEGER, the first dimension of A as declared in the calling (sub) program, and it must be at least max( 1, m ). respect the leading dimension bestie. π
π Author π
shoutout to the whole committee, fr fr:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§ Further Details: π§
!>
!> Level 2 Blas routine.
!>
!> -- Written on 22-October-1986.
!> Jack Dongarra, Argonne National Lab.
!> Jeremy Du Croz, Nag Central Office.
!> Sven Hammarling, Nag Central Office.
!> Richard Hanson, Sandia National Labs.
!>
it's a Level 2 BLAS routine, written 22-October-1986 by Jack Dongarra (Argonne National Lab), Jeremy Du Croz (Nag Central Office), Sven Hammarling (Nag Central Office), and Richard Hanson (Sandia National Labs). vintage but still slaying. π°οΈβ
π Definition π
Definition at line 129 of file zgeru.f.
(go look, she's right there π)
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
so nobody hand-wrote this page, Doxygen did it and honestly? good for her. π
okay that's the whole tea, bestie β now go do your rank 1 updates responsibly and remember:INCXandINCYare never, ever zero. π«Ά
and that's a wrap! π this was LAPACK Version 3.12.0, page /home/abui...SRC/zgeru.f(3) β mwah, bye! β¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms