lapmr#
Functions
-
void slapmr(const INT forwrd, const INT m, const INT n, f32 *restrict X, const INT ldx, INT *restrict K)#
SLAPMR rearranges the rows of the M by N matrix X as specified by the permutation K(1),K(2),…,K(M) of the integers 1,…,M.
If FORWRD = 1, forward permutation:
If FORWRD = 0, backward permutation:X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
Parameters
inforwrd= 1: forward permutation = 0: backward permutation
inmThe number of rows of the matrix X. m >= 0.
innThe number of columns of the matrix X. n >= 0.
inoutXDouble precision array, dimension (ldx, n). On entry, the M by N matrix X. On exit, X contains the permuted matrix X.
inldxThe leading dimension of the array X, ldx >= max(1, m).
inoutKInteger array, dimension (m). On entry, K contains the permutation vector (0-based indices). K is used as internal workspace, but reset to its original value on output.
void slapmr(
const INT forwrd,
const INT m,
const INT n,
f32* restrict X,
const INT ldx,
INT* restrict K
);
Functions
-
void dlapmr(const INT forwrd, const INT m, const INT n, f64 *restrict X, const INT ldx, INT *restrict K)#
DLAPMR rearranges the rows of the M by N matrix X as specified by the permutation K(1),K(2),…,K(M) of the integers 1,…,M.
If FORWRD = 1, forward permutation:
If FORWRD = 0, backward permutation:X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
Parameters
inforwrd= 1: forward permutation = 0: backward permutation
inmThe number of rows of the matrix X. m >= 0.
innThe number of columns of the matrix X. n >= 0.
inoutXDouble precision array, dimension (ldx, n). On entry, the M by N matrix X. On exit, X contains the permuted matrix X.
inldxThe leading dimension of the array X, ldx >= max(1, m).
inoutKInteger array, dimension (m). On entry, K contains the permutation vector (0-based indices). K is used as internal workspace, but reset to its original value on output.
void dlapmr(
const INT forwrd,
const INT m,
const INT n,
f64* restrict X,
const INT ldx,
INT* restrict K
);
Functions
-
void clapmr(const INT forwrd, const INT m, const INT n, c64 *restrict X, const INT ldx, INT *restrict K)#
CLAPMR rearranges the rows of the M by N matrix X as specified by the permutation K(1),K(2),…,K(M) of the integers 1,…,M.
If FORWRD = 1, forward permutation:
If FORWRD = 0, backward permutation:X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
Parameters
inforwrd= 1: forward permutation = 0: backward permutation
inmThe number of rows of the matrix X. m >= 0.
innThe number of columns of the matrix X. n >= 0.
inoutXSingle complex array, dimension (ldx, n). On entry, the M by N matrix X. On exit, X contains the permuted matrix X.
inldxThe leading dimension of the array X, ldx >= max(1, m).
inoutKInteger array, dimension (m). On entry, K contains the permutation vector (0-based indices). K is used as internal workspace, but reset to its original value on output.
void clapmr(
const INT forwrd,
const INT m,
const INT n,
c64* restrict X,
const INT ldx,
INT* restrict K
);
Functions
-
void zlapmr(const INT forwrd, const INT m, const INT n, c128 *restrict X, const INT ldx, INT *restrict K)#
ZLAPMR rearranges the rows of the M by N matrix X as specified by the permutation K(1),K(2),…,K(M) of the integers 1,…,M.
If FORWRD = 1, forward permutation:
If FORWRD = 0, backward permutation:X(K(I),*) is moved X(I,*) for I = 1,2,...,M.
X(I,*) is moved to X(K(I),*) for I = 1,2,...,M.
Parameters
inforwrd= 1: forward permutation = 0: backward permutation
inmThe number of rows of the matrix X. m >= 0.
innThe number of columns of the matrix X. n >= 0.
inoutXDouble complex array, dimension (ldx, n). On entry, the M by N matrix X. On exit, X contains the permuted matrix X.
inldxThe leading dimension of the array X, ldx >= max(1, m).
inoutKInteger array, dimension (m). On entry, K contains the permutation vector (0-based indices). K is used as internal workspace, but reset to its original value on output.
void zlapmr(
const INT forwrd,
const INT m,
const INT n,
c128* restrict X,
const INT ldx,
INT* restrict K
);