lapack/lapack64: add Lapmr

This commit is contained in:
Vladimir Chalupecky
2022-03-21 11:47:31 +01:00
committed by Vladimír Chalupecký
parent f256ef8d6f
commit 1c2a04ccb9
2 changed files with 14 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ type Float64 interface {
Dlantr(norm MatrixNorm, uplo blas.Uplo, diag blas.Diag, m, n int, a []float64, lda int, work []float64) float64
Dlange(norm MatrixNorm, m, n int, a []float64, lda int, work []float64) float64
Dlansy(norm MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64
Dlapmr(forward bool, m, n int, x []float64, ldx int, k []int)
Dlapmt(forward bool, m, n int, x []float64, ldx int, k []int)
Dormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)
Dormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)

View File

@@ -551,6 +551,19 @@ func Lantb(norm lapack.MatrixNorm, a blas64.TriangularBand, work []float64) floa
return gonum.Implementation{}.Dlantb(norm, a.Uplo, a.Diag, a.N, a.K, a.Data, max(1, a.Stride), work)
}
// Lapmr rearranges the rows of the m×n matrix X as specified by the permutation
// k[0],k[1],...,k[m-1] of the integers 0,...,m-1.
//
// If forward is true, a forward permutation is applied:
// X[k[i],0:n] is moved to X[i,0:n] for i=0,1,...,m-1.
// If forward is false, a backward permutation is applied:
// X[i,0:n] is moved to X[k[i],0:n] for i=0,1,...,m-1.
//
// k must have length m, otherwise Lapmr will panic.
func Lapmr(forward bool, x blas64.General, k []int) {
lapack64.Dlapmr(forward, x.Rows, x.Cols, x.Data, max(1, x.Stride), k)
}
// Lapmt rearranges the columns of the m×n matrix X as specified by the
// permutation k_0, k_1, ..., k_{n-1} of the integers 0, ..., n-1.
//