heswapr(3)

🌸 NAME 🌸

heswapr β€” bestie, it's the {he,sy}swapr crew: they apply a 2-sided permutation πŸ’…

✨ SYNOPSIS ✨

🫢 Functions

  • subroutine cheswapr (uplo, n, a, lda, i1, i2) β€” CHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix.
  • subroutine csyswapr (uplo, n, a, lda, i1, i2) β€” CSYSWAPR (that's it, that's the description, she's mysterious πŸ’€)
  • subroutine dsyswapr (uplo, n, a, lda, i1, i2) β€” DSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix.
  • subroutine ssyswapr (uplo, n, a, lda, i1, i2) β€” SSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix.
  • subroutine zheswapr (uplo, n, a, lda, i1, i2) β€” ZHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix.
  • subroutine zsyswapr (uplo, n, a, lda, i1, i2) β€” ZSYSWAPR (same energy, no description, she said "iykyk" 😭)

πŸ’« Detailed Description πŸ’«

(no cap, the page just says that and moves on β€” the real tea is all in Function Documentation πŸ‘‡)


πŸŽ€ Function Documentation πŸŽ€

πŸ”₯ subroutine cheswapr (character uplo, integer n, complex, dimension( lda, n ) a, integer lda, integer i1, integer i2)

CHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix. Obsessed β€” it's giving "swap two rows AND their matching columns" main character energy πŸ’–

Purpose:

!>
!> CHESWAPR applies an elementary permutation on the rows and the columns of
!> a hermitian matrix.
!>

Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

A

!>          A is COMPLEX array, dimension (LDA,N)
!>          On entry, the NB diagonal matrix D and the multipliers
!>          used to obtain the factor U or L as computed by CSYTRF.
!>
!>          On exit, if INFO = 0, the (symmetric) inverse of the original
!>          matrix.  If UPLO = 'U', the upper triangular part of the
!>          inverse is formed and the part of A below the diagonal is not
!>          referenced; if UPLO = 'L' the lower triangular part of the
!>          inverse is formed and the part of A above the diagonal is
!>          not referenced.
!>

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

I1

!>          I1 is INTEGER
!>          Index of the first row to swap
!>

I2

!>          I2 is INTEGER
!>          Index of the second row to swap
!>

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

Definition at line 101 of file cheswapr.f.


πŸ¦‹ subroutine csyswapr (character uplo, integer n, complex, dimension( lda, n ) a, integer lda, integer i1, integer i2)

CSYSWAPR. That's the whole blurb. She's iconic and she knows it 😌✨

Purpose:

!>
!> CSYSWAPR applies an elementary permutation on the rows and the columns of
!> a symmetric matrix.
!>

Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

A

!>          A is COMPLEX array, dimension (LDA,N)
!>          On entry, the N-by-N matrix A. On exit, the permuted matrix
!>          where the rows I1 and I2 and columns I1 and I2 are interchanged.
!>          If UPLO = 'U', the interchanges are applied to the upper
!>          triangular part and the strictly lower triangular part of A is
!>          not referenced; if UPLO = 'L', the interchanges are applied to
!>          the lower triangular part and the part of A above the diagonal
!>          is not referenced.
!>

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

I1

!>          I1 is INTEGER
!>          Index of the first row to swap
!>

I2

!>          I2 is INTEGER
!>          Index of the second row to swap
!>

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

Definition at line 99 of file csyswapr.f.


πŸ’œ subroutine dsyswapr (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer i1, integer i2)

DSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix. Double precision queen, we stan 🫢

Purpose:

!>
!> DSYSWAPR applies an elementary permutation on the rows and the columns of
!> a symmetric matrix.
!>

Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

A

!>          A is DOUBLE PRECISION array, dimension (LDA,*)
!>          On entry, the N-by-N matrix A. On exit, the permuted matrix
!>          where the rows I1 and I2 and columns I1 and I2 are interchanged.
!>          If UPLO = 'U', the interchanges are applied to the upper
!>          triangular part and the strictly lower triangular part of A is
!>          not referenced; if UPLO = 'L', the interchanges are applied to
!>          the lower triangular part and the part of A above the diagonal
!>          is not referenced.
!>

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

I1

!>          I1 is INTEGER
!>          Index of the first row to swap
!>

I2

!>          I2 is INTEGER
!>          Index of the second row to swap
!>

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

Definition at line 99 of file dsyswapr.f.


🌈 subroutine ssyswapr (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer i1, integer i2)

SSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix. Single precision, single-handedly carrying the vibe check ⭐

Purpose:

!>
!> SSYSWAPR applies an elementary permutation on the rows and the columns of
!> a symmetric matrix.
!>

Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

A

!>          A is REAL array, dimension (LDA,*)
!>          On entry, the N-by-N matrix A. On exit, the permuted matrix
!>          where the rows I1 and I2 and columns I1 and I2 are interchanged.
!>          If UPLO = 'U', the interchanges are applied to the upper
!>          triangular part and the strictly lower triangular part of A is
!>          not referenced; if UPLO = 'L', the interchanges are applied to
!>          the lower triangular part and the part of A above the diagonal
!>          is not referenced.
!>

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

I1

!>          I1 is INTEGER
!>          Index of the first row to swap
!>

I2

!>          I2 is INTEGER
!>          Index of the second row to swap
!>

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

Definition at line 99 of file ssyswapr.f.


πŸ‘‘ subroutine zheswapr (character uplo, integer n, complex*16, dimension( lda, n ) a, integer lda, integer i1, integer i2)

ZHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix. Complex*16 Hermitian edition β€” highkey the fanciest one here πŸ’…βœ¨

Purpose:

!>
!> ZHESWAPR applies an elementary permutation on the rows and the columns of
!> a hermitian matrix.
!>

Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the NB diagonal matrix D and the multipliers
!>          used to obtain the factor U or L as computed by CSYTRF.
!>
!>          On exit, if INFO = 0, the (symmetric) inverse of the original
!>          matrix.  If UPLO = 'U', the upper triangular part of the
!>          inverse is formed and the part of A below the diagonal is not
!>          referenced; if UPLO = 'L' the lower triangular part of the
!>          inverse is formed and the part of A above the diagonal is
!>          not referenced.
!>

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

I1

!>          I1 is INTEGER
!>          Index of the first row to swap
!>

I2

!>          I2 is INTEGER
!>          Index of the second row to swap
!>

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

Definition at line 101 of file zheswapr.f.


🧚 subroutine zsyswapr (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer i1, integer i2)

ZSYSWAPR (again: no blurb, she's letting the purpose section speak for itself πŸ™ˆ)

Purpose:

okay so that's where part 1 wraps and the rest of ZSYSWAPR's purpose block is literally the next thing coming πŸ‘€

...and it's literally saying that ZSYSWAPR applies an elementary permutation on the rows and the columns of a symmetric matrix. That's the whole vibe of the routine, bestie β€” it swaps stuff πŸ’…


πŸŽ€ Parameters πŸŽ€

  • UPLO β€” this one's CHARACTER*1, and it tells us whether the details of the factorization are stored as an upper or lower triangular matrix.
    • = 'U': upper triangular, and the form is A = U*D*U**T
    • = 'L': lower triangular, and the form is A = L*D*L**T
  • N β€” N is INTEGER, and it's the order of the matrix A. Constraint, no cap: N >= 0.
  • A β€” A is a COMPLEX*16 array, dimension (LDA,*). On entry it's the N-by-N matrix A. On exit it's the permuted matrix where the rows I1 and I2 and columns I1 and I2 are interchanged. And here's the fine print, because this part matters:
    • if UPLO = 'U', the interchanges are applied to the upper triangular part, and the strictly lower triangular part of A is not referenced
    • if UPLO = 'L', the interchanges are applied to the lower triangular part, and the part of A above the diagonal is not referenced

Like, it genuinely does not even look at the other half. Iconic behaviour, honestly πŸ¦‹

  • LDA β€” LDA is INTEGER and it's the leading dimension of the array A. Requirement: LDA >= max(1,N). Respect the leading dimension or perish 😭
  • I1 β€” I1 is INTEGER and it's the index of the first row to swap.
  • I2 β€” I2 is INTEGER and it's the index of the second row to swap. That's the pair, that's the swap, that's the whole plot πŸ’–

πŸ’– Author πŸ’–

Take a bow, the whole academic squad:

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

Also, for the record: Definition at line 99 of file zsyswapr.f. Write it down, it's canon ✨


🌸 Author 🌸

And this page itself was generated automatically by Doxygen for LAPACK from the source code. Not a human, just a very diligent little robot doing its thing 🫢


Okay bestie, that's the whole page πŸ’œ You made it to the end β€” and the end is LAPACK, Version 3.12.0, showing up on the heswapr(3) page. Go forth and permute responsibly, mwah πŸ’…πŸŽ€

πŸ“¦ where this page comes from