Loading...
Searching...
No Matches
laswp_sym: Swap rows/cols
Dense LA » Linear system solvers » Symmetric/Hermitian indefinite » Auxiliary routines

## Functions

void | magmablas_claswp_sym (magma_int_t n, magmaFloatComplex *dA, magma_int_t lda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
void | magmablas_dlaswp_sym (magma_int_t n, double *dA, magma_int_t lda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
void | magmablas_slaswp_sym (magma_int_t n, float *dA, magma_int_t lda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
void | magmablas_zlaswp_sym (magma_int_t n, magmaDoubleComplex *dA, magma_int_t lda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)

## Detailed Description

## Function Documentation

## magmablas_claswp_sym()

void magmablas_claswp_sym | ( | magma_int_t | n,
|  | magmaFloatComplex * | dA,
|  | magma_int_t | lda,
|  | magma_int_t | k1,
|  | magma_int_t | k2,
|  | const magma_int_t * | ipiv,
|  | magma_int_t | inci,
|  | magma_queue_t | queue )

# Purpose:

CLASWP_SYM applies a series of symmetric pivoting on a symmetric matrix A. Currently, it is only implemented for the lower-triangular part of the matrix.

# Arguments:

Parameters

  [in] | n | INTEGER The number of columns of the matrix A.
  [in,out] | dA | COMPLEX array on GPU, dimension (,) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
  [in] | lda | INTEGER Stride between elements in same column.
  [in] | k1 | INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
  [in] | k2 | INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
  [in] | ipiv | INTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
  [in] | inci | INTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_dlaswp_sym()

void magmablas_dlaswp_sym | ( | magma_int_t | n,
|  | double * | dA,
|  | magma_int_t | lda,
|  | magma_int_t | k1,
|  | magma_int_t | k2,
|  | const magma_int_t * | ipiv,
|  | magma_int_t | inci,
|  | magma_queue_t | queue )

# Purpose:

DLASWP_SYM applies a series of symmetric pivoting on a symmetric matrix A. Currently, it is only implemented for the lower-triangular part of the matrix.

# Arguments:

Parameters

  [in] | n | INTEGER The number of columns of the matrix A.
  [in,out] | dA | DOUBLE PRECISION array on GPU, dimension (,) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
  [in] | lda | INTEGER Stride between elements in same column.
  [in] | k1 | INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
  [in] | k2 | INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
  [in] | ipiv | INTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
  [in] | inci | INTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_slaswp_sym()

void magmablas_slaswp_sym | ( | magma_int_t | n,
|  | float * | dA,
|  | magma_int_t | lda,
|  | magma_int_t | k1,
|  | magma_int_t | k2,
|  | const magma_int_t * | ipiv,
|  | magma_int_t | inci,
|  | magma_queue_t | queue )

# Purpose:

SLASWP_SYM applies a series of symmetric pivoting on a symmetric matrix A. Currently, it is only implemented for the lower-triangular part of the matrix.

# Arguments:

Parameters

  [in] | n | INTEGER The number of columns of the matrix A.
  [in,out] | dA | REAL array on GPU, dimension (,) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
  [in] | lda | INTEGER Stride between elements in same column.
  [in] | k1 | INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
  [in] | k2 | INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
  [in] | ipiv | INTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
  [in] | inci | INTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_zlaswp_sym()

void magmablas_zlaswp_sym | ( | magma_int_t | n,
|  | magmaDoubleComplex * | dA,
|  | magma_int_t | lda,
|  | magma_int_t | k1,
|  | magma_int_t | k2,
|  | const magma_int_t * | ipiv,
|  | magma_int_t | inci,
|  | magma_queue_t | queue )

# Purpose:

ZLASWP_SYM applies a series of symmetric pivoting on a symmetric matrix A. Currently, it is only implemented for the lower-triangular part of the matrix.

# Arguments:

Parameters

  [in] | n | INTEGER The number of columns of the matrix A.
  [in,out] | dA | COMPLEX*16 array on GPU, dimension (,) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
  [in] | lda | INTEGER Stride between elements in same column.
  [in] | k1 | INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
  [in] | k2 | INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
  [in] | ipiv | INTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
  [in] | inci | INTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
  [in] | queue | magma_queue_t Queue to execute in.