gonum: gonum.org/v1/gonum/lapack Index | Files | Directories

package lapack

import "gonum.org/v1/gonum/lapack"

Package lapack provides interfaces for the LAPACK linear algebra standard.

Index

Package Files

doc.go lapack.go

type ApplyOrtho Uses

type ApplyOrtho byte

ApplyOrtho specifies which orthogonal matrix is applied in Dormbr.

const (
    ApplyP ApplyOrtho = 'P' // Apply P or P^T.
    ApplyQ ApplyOrtho = 'Q' // Apply Q or Q^T.
)

type BalanceJob Uses

type BalanceJob byte

BalanceJob specifies matrix balancing operation.

const (
    Permute      BalanceJob = 'P'
    Scale        BalanceJob = 'S'
    PermuteScale BalanceJob = 'B'
    BalanceNone  BalanceJob = 'N'
)

type Complex128 Uses

type Complex128 interface{}

Complex128 defines the public complex128 LAPACK API supported by gonum/lapack.

type Direct Uses

type Direct byte

Direct specifies the direction of the multiplication for the Householder matrix.

const (
    Forward  Direct = 'F' // Reflectors are right-multiplied, H_0 * H_1 * ... * H_{k-1}.
    Backward Direct = 'B' // Reflectors are left-multiplied, H_{k-1} * ... * H_1 * H_0.
)

type EVComp Uses

type EVComp byte

EVComp specifies how eigenvectors are computed in Dsteqr.

const (
    EVOrig     EVComp = 'V' // Compute eigenvectors of the original symmetric matrix.
    EVTridiag  EVComp = 'I' // Compute eigenvectors of the tridiagonal matrix.
    EVCompNone EVComp = 'N' // Do not compute eigenvectors.
)

type EVHowMany Uses

type EVHowMany byte

EVHowMany specifies which eigenvectors are computed in Dtrevc3 and how.

const (
    EVAll      EVHowMany = 'A' // Compute all right and/or left eigenvectors.
    EVAllMulQ  EVHowMany = 'B' // Compute all right and/or left eigenvectors multiplied by an input matrix.
    EVSelected EVHowMany = 'S' // Compute selected right and/or left eigenvectors.
)

type EVJob Uses

type EVJob byte

EVJob specifies whether eigenvectors are computed in Dsyev.

const (
    EVCompute EVJob = 'V' // Compute eigenvectors.
    EVNone    EVJob = 'N' // Do not compute eigenvectors.
)

type EVSide Uses

type EVSide byte

EVSide specifies what eigenvectors are computed in Dtrevc3.

const (
    EVRight EVSide = 'R' // Compute only right eigenvectors.
    EVLeft  EVSide = 'L' // Compute only left eigenvectors.
    EVBoth  EVSide = 'B' // Compute both right and left eigenvectors.
)

type Float64 Uses

type Float64 interface {
    Dgecon(norm MatrixNorm, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64
    Dgeev(jobvl LeftEVJob, jobvr RightEVJob, n int, a []float64, lda int, wr, wi []float64, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) (first int)
    Dgels(trans blas.Transpose, m, n, nrhs int, a []float64, lda int, b []float64, ldb int, work []float64, lwork int) bool
    Dgelqf(m, n int, a []float64, lda int, tau, work []float64, lwork int)
    Dgeqrf(m, n int, a []float64, lda int, tau, work []float64, lwork int)
    Dgesvd(jobU, jobVT SVDJob, m, n int, a []float64, lda int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int) (ok bool)
    Dgetrf(m, n int, a []float64, lda int, ipiv []int) (ok bool)
    Dgetri(n int, a []float64, lda int, ipiv []int, work []float64, lwork int) (ok bool)
    Dgetrs(trans blas.Transpose, n, nrhs int, a []float64, lda int, ipiv []int, b []float64, ldb int)
    Dggsvd3(jobU, jobV, jobQ GSVDJob, m, n, p int, a []float64, lda int, b []float64, ldb int, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, lwork int, iwork []int) (k, l int, ok bool)
    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
    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)
    Dpocon(uplo blas.Uplo, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64
    Dpotrf(ul blas.Uplo, n int, a []float64, lda int) (ok bool)
    Dpotri(ul blas.Uplo, n int, a []float64, lda int) (ok bool)
    Dpotrs(ul blas.Uplo, n, nrhs int, a []float64, lda int, b []float64, ldb int)
    Dsyev(jobz EVJob, uplo blas.Uplo, n int, a []float64, lda int, w, work []float64, lwork int) (ok bool)
    Dtrcon(norm MatrixNorm, uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int, work []float64, iwork []int) float64
    Dtrtri(uplo blas.Uplo, diag blas.Diag, n int, a []float64, lda int) (ok bool)
    Dtrtrs(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n, nrhs int, a []float64, lda int, b []float64, ldb int) (ok bool)
}

Float64 defines the public float64 LAPACK API supported by gonum/lapack.

type GSVDJob Uses

type GSVDJob byte

GSVDJob specifies the singular vector computation type for Generalized SVD.

const (
    GSVDU    GSVDJob = 'U' // Compute orthogonal matrix U.
    GSVDV    GSVDJob = 'V' // Compute orthogonal matrix V.
    GSVDQ    GSVDJob = 'Q' // Compute orthogonal matrix Q.
    GSVDUnit GSVDJob = 'I' // Use unit-initialized matrix.
    GSVDNone GSVDJob = 'N' // Do not compute orthogonal matrix.
)

type GenOrtho Uses

type GenOrtho byte

GenOrtho specifies which orthogonal matrix is generated in Dorgbr.

const (
    GeneratePT GenOrtho = 'P' // Generate P^T.
    GenerateQ  GenOrtho = 'Q' // Generate Q.
)

type LeftEVJob Uses

type LeftEVJob byte

LeftEVJob specifies whether left eigenvectors are computed in Dgeev.

const (
    LeftEVCompute LeftEVJob = 'V' // Compute left eigenvectors.
    LeftEVNone    LeftEVJob = 'N' // Do not compute left eigenvectors.
)

type MatrixNorm Uses

type MatrixNorm byte

MatrixNorm represents the kind of matrix norm to compute.

const (
    MaxAbs       MatrixNorm = 'M' // max(abs(A(i,j)))
    MaxColumnSum MatrixNorm = 'O' // Maximum absolute column sum (one norm)
    MaxRowSum    MatrixNorm = 'I' // Maximum absolute row sum (infinity norm)
    Frobenius    MatrixNorm = 'F' // Frobenius norm (sqrt of sum of squares)
)

type MatrixType Uses

type MatrixType byte

MatrixType represents the kind of matrix represented in the data.

const (
    General  MatrixType = 'G' // A general dense matrix.
    UpperTri MatrixType = 'U' // An upper triangular matrix.
    LowerTri MatrixType = 'L' // A lower triangular matrix.
)

type Pivot Uses

type Pivot byte

Pivot specifies the pivot type for plane rotations.

const (
    Variable Pivot = 'V'
    Top      Pivot = 'T'
    Bottom   Pivot = 'B'
)

type RightEVJob Uses

type RightEVJob byte

RightEVJob specifies whether right eigenvectors are computed in Dgeev.

const (
    RightEVCompute RightEVJob = 'V' // Compute right eigenvectors.
    RightEVNone    RightEVJob = 'N' // Do not compute right eigenvectors.
)

type SVDJob Uses

type SVDJob byte

SVDJob specifies the singular vector computation type for SVD.

const (
    SVDAll       SVDJob = 'A' // Compute all columns of the orthogonal matrix U or V.
    SVDStore     SVDJob = 'S' // Compute the singular vectors and store them in the orthogonal matrix U or V.
    SVDOverwrite SVDJob = 'O' // Compute the singular vectors and overwrite them on the input matrix A.
    SVDNone      SVDJob = 'N' // Do not compute singular vectors.
)

type SchurComp Uses

type SchurComp byte

SchurComp specifies whether and how the Schur vectors are computed in Dhseqr.

const (
    SchurOrig SchurComp = 'V' // Compute Schur vectors of the original matrix.
    SchurHess SchurComp = 'I' // Compute Schur vectors of the upper Hessenberg matrix.
    SchurNone SchurComp = 'N' // Do not compute Schur vectors.
)

type SchurJob Uses

type SchurJob byte

SchurJob specifies whether the Schur form is computed in Dhseqr.

const (
    EigenvaluesOnly     SchurJob = 'E'
    EigenvaluesAndSchur SchurJob = 'S'
)

type Sort Uses

type Sort byte

Sort is the sorting order.

const (
    SortIncreasing Sort = 'I'
    SortDecreasing Sort = 'D'
)

type StoreV Uses

type StoreV byte

StoreV indicates the storage direction of elementary reflectors.

const (
    ColumnWise StoreV = 'C' // Reflector stored in a column of the matrix.
    RowWise    StoreV = 'R' // Reflector stored in a row of the matrix.
)

type UpdateSchurComp Uses

type UpdateSchurComp byte

UpdateSchurComp specifies whether the matrix of Schur vectors is updated in Dtrexc.

const (
    UpdateSchur     UpdateSchurComp = 'V' // Update the matrix of Schur vectors.
    UpdateSchurNone UpdateSchurComp = 'N' // Do not update the matrix of Schur vectors.
)

Directories

PathSynopsis
gonumPackage gonum is a pure-go implementation of the LAPACK API.
lapack64Package lapack64 provides a set of convenient wrapper functions for LAPACK calls, as specified in the netlib standard (www.netlib.org).
testlapackPackage testlapack implements a set of testing routines for Lapack functions.

Package lapack imports 1 packages (graph) and is imported by 7 packages. Updated 2019-06-17. Refresh now. Tools for package owners.