/home/abui...N/zlaror.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

Okay so bestie, welcome to the Library Functions Manual page for /home/abui...N/zlaror.f(3) ✨. This is the docs for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/zlaror.f, and it’s giving serious LAPACK main character energy. No cap, we’re about to do a random unitary matrix vibe check. πŸ’…

🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/zlaror.f

That’s the file, periodt. πŸŽ€

✨ SYNOPSIS ✨

Functions/Subroutines β€” lowkey the whole cast:

subroutine ZLAROR (side, init, m, n, a, lda, iseed, x, info)
           ZLAROR

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

Okay so here’s the signature, bestie β€” copy it exactly, iykyk:

subroutine ZLAROR (character side, character init, integer m, integer n,
       complex*16, dimension( lda, * ) a, integer lda, integer, dimension( 4 )
       iseed, complex*16, dimension( * ) x, integer info)
       ZLAROR

πŸ’– Purpose πŸ’–

The way that ZLAROR pre- or post-multiplies an M by N matrix A by a random unitary matrix U, overwriting A? Obsessed. A may optionally be initialized to the identity matrix before multiplying by U. U is generated using the method of G.W. Stewart ( SIAM J. Numer. Anal. 17, 1980, pp. 403-409 ). (BLAS-2 version) ✨

πŸŽ€ Parameters πŸŽ€

Every single arg, no skips, fr fr:

SIDE

SIDE is CHARACTER*1 β€” it specifies whether A is multiplied on the left or right by U.

  • SIDE = 'L' β€” Multiply A on the left (premultiply) by U.
  • SIDE = 'R' β€” Multiply A on the right (postmultiply) by UC>.
  • SIDE = 'C' β€” Multiply A on the left by U and the right by UC>.
  • SIDE = 'T' β€” Multiply A on the left by U and the right by U'.

Not modified. πŸ’…

INIT

INIT is CHARACTER*1 β€” it specifies whether or not A should be initialized to the identity matrix.

  • INIT = 'I' β€” Initialize A to (a section of) the identity matrix before applying U.
  • INIT = 'N' β€” No initialization. Apply U to the input matrix A.

INIT = 'I' may be used to generate square (i.e., unitary) or rectangular orthogonal matrices (orthogonality being in the sense of ZDOTC):

  • For square matrices, M=N, and SIDE many be either 'L' or 'R'; the rows will be orthogonal to each other, as will the columns.
  • For rectangular matrices where M < N, SIDE = 'R' will produce a dense matrix whose rows will be orthogonal and whose columns will not, while SIDE = 'L' will produce a matrix whose rows will be orthogonal, and whose first M columns will be orthogonal, the remaining columns being zero.
  • For matrices where M > N, just use the previous explanation, interchanging 'L' and 'R' and and and . (yes, the source literally trails off there β€” keeping the chaos exact, bestie πŸ’€).

Not modified.

M

M is INTEGER β€” Number of rows of A. Not modified. 🫢

N

N is INTEGER β€” Number of columns of A. Not modified. 🫢

A

A is COMPLEX*16 array, dimension ( LDA, N ) β€” Input and output array. Overwritten by U A ( if SIDE = 'L' ) or by A U ( if SIDE = 'R' ) or by U A U* ( if SIDE = 'C') or by U A U' ( if SIDE = 'T') on exit. ✨

LDA

LDA is INTEGER β€” Leading dimension of A. Must be at least MAX ( 1, M ). Not modified.

ISEED

ISEED is INTEGER array, dimension ( 4 ) β€” On entry ISEED specifies the seed of the random number generator. The array elements should be between 0 and 4095; if not they will be reduced mod 4096. Also, ISEED(4) must be odd. The random number generator uses a linear congruential sequence limited to small integers, and so should produce machine independent random numbers. The values of ISEED are changed on exit, and can be used in the next call to ZLAROR to continue the same random number sequence. Modified. πŸ”₯

X

X is COMPLEX*16 array, dimension ( 3*MAX( M, N ) ) β€” Workspace. Of length:

  • 2*M + N if SIDE = 'L',
  • 2*N + M if SIDE = 'R',
  • 3*N if SIDE = 'C' or 'T'.

Modified. πŸ’œ

INFO

INFO is INTEGER β€” An error flag. It is set to:

  • 0 if no error.
  • 1 if ZLARND returned a bad random number (installation problem)
  • -1 if SIDE is not L, R, C, or T.
  • -3 if M is negative.
  • -4 if N is negative or if SIDE is C or T and N is not equal to M.
  • -6 if LDA is less than M.

Periodt. πŸ’…

πŸ’œ Author πŸ’œ

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 157 of file zlaror.f.

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– That’s the whole page, bestie. Source/version: LAPACK Version 3.12.0. Page: /home/abui...N/zlaror.f(3). Date in the original footer? Not present, so we’re not making one up. 🫢

πŸ“¦ where this page comes from