package reeve

  1. Overview
  2. Docs

Module Lapack.RawSource

The Fortran shapes, argument for argument. These are what the differential in diff/ compares against the reference Fortran. Use the functions below unless you specifically want lda.

Sourceval dgetf2 : int -> int -> float array -> int -> int -> int array -> int -> int

dgetf2 m n a ao lda ipiv ipo factors the m by n matrix a as p * l * u by unblocked Gaussian elimination with partial pivoting, overwriting a and filling min m n zero based pivot rows into ipiv from ipo. Returns info, which is k when u (k,k) is exactly zero, counting k from one.

Sourceval dgetrf2 : int -> int -> float array -> int -> int -> int array -> int -> int

dgetrf2 m n a ao lda ipiv ipo is the recursive right looking version of dgetf2, with the same arguments, the same output and the same info. This is what dgetrf calls.

Sourceval dgetrf : int -> int -> float array -> int -> int -> int array -> int -> int

dgetrf m n a ao lda ipiv ipo factors the m by n matrix a as p * l * u by the blocked algorithm, calling dgetrf2 on each panel, with the same output and the same info as dgetf2.

Sourceval dgetrs : Blasmat.trans -> int -> int -> float array -> int -> int -> int array -> int -> float array -> int -> int -> int

dgetrs trans n nrhs a ao lda ipiv ipo b bo ldb solves the order n system with nrhs right hand sides in place in the n by nrhs matrix b, using the factors and zero based pivots that dgetrf left in a and ipiv. trans of No_trans solves a * x = b, anything else solves transpose a * x = b. Returns info, always zero here.

Sourceval dgesv : int -> int -> float array -> int -> int -> int array -> int -> float array -> int -> int -> int

dgesv n nrhs a ao lda ipiv ipo b bo ldb solves a * x = b for the order n matrix a and nrhs right hand sides, factoring a in place with dgetrf and overwriting b with the solution. Returns info, which is k when u (k,k) is exactly zero, in which case b is left alone.

Sourceval dpotf2 : Blasmat.uplo -> int -> float array -> int -> int -> int

dpotf2 uplo n a ao lda factors the order n symmetric positive definite matrix a as transpose u * u when uplo is Blasmat.Upper and l * transpose l when it is Blasmat.Lower, by the unblocked algorithm, reading and overwriting only that triangle. Returns info, which is k when the leading order k minor is not positive definite, counting k from one.

Sourceval dpotrf2 : Blasmat.uplo -> int -> float array -> int -> int -> int

dpotrf2 uplo n a ao lda is the recursive version of dpotf2, with the same arguments, the same output and the same info. This is what dpotrf calls.

Sourceval dpotrf : Blasmat.uplo -> int -> float array -> int -> int -> int

dpotrf uplo n a ao lda factors the order n symmetric positive definite matrix a by the blocked algorithm, calling dpotrf2 on each diagonal block, with the same output and the same info as dpotf2.

Sourceval dpotrs : Blasmat.uplo -> int -> int -> float array -> int -> int -> float array -> int -> int -> int

dpotrs uplo n nrhs a ao lda b bo ldb solves the order n system with nrhs right hand sides in place in the n by nrhs matrix b, using the Cholesky factor that dpotrf left in the uplo triangle of a. Returns info, always zero here.

Sourceval dposv : Blasmat.uplo -> int -> int -> float array -> int -> int -> float array -> int -> int -> int

dposv uplo n nrhs a ao lda b bo ldb solves a * x = b for the order n symmetric positive definite matrix a and nrhs right hand sides, factoring a in place with dpotrf and overwriting b with the solution. Returns info, which is k when the leading order k minor is not positive definite, in which case b is left alone.