Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "minpack/qrfac"

Index

Functions

Functions

qrfac

  • qrfac(m: number, n: number, a: number[], int1: number, pivot: number, ipvt: number[], int2: number, rdiag: number[], acnorm: number[], wa: number[]): void
  • subroutine qrfac

    this subroutine uses householder transformations with column pivoting (optional) to compute a qr factorization of the m by n matrix a. that is, qrfac determines an orthogonal matrix q, a permutation matrix p, and an upper trapezoidal matrix r with diagonal elements of nonincreasing magnitude, such that ap = qr. the householder transformation for column k, k = 1,2,...,min(m,n), is of the form

          t

    i - (1/u(k))uu

    where u has zeros in the first k-1 positions. the form of this transformation and the method of pivoting first appeared in the corresponding linpack subroutine.

    the subroutine statement is

    subroutine qrfac(m,n,a,lda,pivot,ipvt,lipvt,rdiag,acnorm,wa)

    where

    Parameters

    • m: number

      is a positive integer input variable set to the number of rows of a.

    • n: number

      is a positive integer input variable set to the number of columns of a.

    • a: number[]

      is an m by n array. on input a contains the matrix for which the qr factorization is to be computed. on output the strict upper trapezoidal part of a contains the strict upper trapezoidal part of r, and the lower trapezoidal part of a contains a factored form of q (the non-trivial elements of the u vectors described above).

    • int1: number
    • pivot: number

      is a logical input variable. if pivot is set true, then column pivoting is enforced. if pivot is set false, then no column pivoting is done.

    • ipvt: number[]

      is an integer output array of length lipvt. ipvt defines the permutation matrix p such that ap = qr. column j of p is column ipvt(j) of the identity matrix. if pivot is false, ipvt is not referenced.

    • int2: number
    • rdiag: number[]

      is an output array of length n which contains the diagonal elements of r.

    • acnorm: number[]

      is an output array of length n which contains the norms of the corresponding columns of the input matrix a. if this information is not needed, then acnorm can coincide with rdiag.

    • wa: number[]

      is a work array of length n. if pivot is false, then wa can coincide with rdiag.

      subprograms called

      minpack-supplied ... dpmpar,enorm

      fortran-supplied ... dmax1,dsqrt,min0

      argonne national laboratory. minpack project. march 1980. burton s. garbow, kenneth e. hillstrom, jorge j. more

    Returns void