java.lang.Object
gov.nih.mipav.model.structures.jama.LUSOL
All Implemented Interfaces:
Serializable

public class LUSOL extends Object implements Serializable
LUSOL maintains LU factors of a square or rectangular sparse matrix. LUSOL is maintained by Michael Saunders, Systems Optimization Laboratory, Dept of Management Science invalid input: '&' Engineering, Stanford University. (saunders@stanford.edu) Professor Michael Saunders has kindly granted the NIH MIPAV project permission to port LUSOL from FORTRAN to Java under a BSD license. Porting performed by William Gandler. The website for LUSOL is: [http://www.stanford.edu/group/SOL/software/lusol.html][LUSOL] LUSOL: Sparse LU for Ax = b AUTHOR: Michael Saunders CONTRIBUTORS: Philip Gill, Walter Murray, Margaret Wright, Michael O'Sullivan, Kjell Eikland, Yin Zhang, Nick Henderson, Ding Ma CONTENTS: A sparse LU factorization for square and rectangular matrices A, with Bartels-Golub-Reid updates for column replacement and other rank-1 modifications. Typically used for a sequence of linear equations as in the simplex method: Solve Ax = b and/or A'y = c Replace a column of A Repeat with different b, c The matrix A may have any shape and rank. Rectangular LU factors may be used to form a sparse null-space matrix operator. Special feature 1: Three sparse pivoting options in the Factor routine: Threshold partial pivoting (TPP) Threshold rook pivoting (TRP) Threshold complete pivoting (TCP) All options choose row and column permutations as they go, balancing sparsity and stability according to different rules. TPP is normally most efficient for solving Ax = b. TRP and TCP are rank-revealing factorizations. In practice, TRP is an effective method for estimating rank(A). TCP tends to be too dense and expensive to be useful, although MINOS and SNOPT switch from TPP to TRP and even TCP if necessary in case of persistent numerical difficulty. Special feature 2: Multiple update routines: Add, delete, or replace a column of A Add, delete, or replace a row of A Add a general (sparse) rank-1 matrix to A Numerical stability: LUSOL maintains LU factors with row and column permutations P, Q such that A = LU with PLP' lower triangular (with unit diagonals) and PUQ upper triangular. The condition of L is controlled throughout by maintaining |Lij| invalid input: '<'= factol (= 10 or 5 or 2 or 1.1, ...), so that U tends to reflect the condition of A. This is essential for subsequent Bartels-Golub-type updates (which are implemented in a manner similar to John Reid's LA05 and LA15 packages in the HSL library). If a fresh factorization is thought of as A = LDU (with unit diagonals on PLP' and PUQ), then TRP and TCP control the condition of both L and U by maintaining |Lij| invalid input: '<'= factol and |Uij| invalid input: '<'= factol, so that D reflects the condition of A. This is why TRP and TCP have rank-revealing properties. Proven applications: LUSOL is the basis factorization package (BFP) for MINOS, SQOPT, SNOPT, lp_solve, AMPL/PATH, GAMS/PATH. Shortcomings: Factor: No special handling of dense columns. Solve: No special treatment of sparse right-hand sides. Documentation: No user's manual. Primary documentation is in-line comments within the f77 source code (and the more recent f90 version). REFERENCES: J. K. Reid (1982). A sparsity-exploiting variant of the Bartels-Golub decomposition for linear programming bases, Mathematical Programming 24, 55-69. P. E. Gill, W. Murray, M. A. Saunders and M. H. Wright (1987). Maintaining LU factors of a general sparse matrix, Linear Algebra and its Applications 88/89, 239-270. P. E. Gill, W. Murray and M. A. Saunders (2005). SNOPT: An SQP algorithm for large-scale constrained optimization, SIGEST article, SIAM Review 47(1), 99-131. (See sections 4 and 5.) ## Basic usage In Matlab: ``` % get L and U factors [L U P Q] = lusol(A); ``` See `>>> help lusol`. ## Advanced usage In Matlab: ``` % create lusol object mylu = lusol_obj(A); % solve with lusol object (ie x = A\b) x = mylu.solveA(b); % update factorization to replace a column mylu.repcol(v,1); % solve again with updated factorization x1 = mylu.solveA(b); ``` See `>>> help lusol_obj`. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
     
    (package private) DecimalFormat
     
    private Random
     
    private long
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    Aprod(int m, int n, int nnzero, int[] indc, int[] indr, double[] a, double[] x, double[] y)
     
    private double
    dnormj(int n, double[] x, int incx)
     
    private void
    Hbuild(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int[] hops)
     
    private void
    Hchange(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int k, double v, int jv, int[] hops)
     
    private void
    Hdelete(double[] Ha, int[] Hj, int[] Hk, int Nin, int[] N, int Nk, int k, int[] hops)
     
    private void
    Hdown(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int kk, int[] hops)
     
    private void
    Hinsert(double[] Ha, int[] Hj, int[] Hk, int[] N, int Nk, double v, int jv, int[] hops)
     
    private void
    Hup(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int kk, int[] hops)
     
    private int
    jdamax(int n, double[] x, int incx)
     
    private void
    lu1DCP(double[][] a, int lda, int m, int n, double small, int[] nsing, int[] ipvt, int[] q)
     
    private void
    lu1DPP(double[][] a, int lda, int m, int n, double small, int[] nsing, int[] ipvt, int[] q)
     
    void
    lu1fac(int m, int n, int nelem, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv, double[] w, int[] inform)
     
    private void
    lu1fad(int m, int n, int nelem, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv, double[] w, int lenH, double[] Ha, int[] Hj, int[] Hk, double[] Amaxr, int[] inform, int[] lenL, int[] lenU, int[] minlen, int[] mersum, int[] nUtri, int[] nLtri, int[] ndens1, int[] ndens2, int[] nrank, double[] Lmax, double[] Umax, double[] DUmax, double[] DUmin, double[] Akmax)
     
    private void
    lu1ful(int m, int n, int lena, int lenD, int lu1, boolean TPP, int mleft, int nleft, int nrank, int nrowu, int[] lenL, int[] lenU, int[] nsing, boolean keepLU, double small, double[] a, int lDInput, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] ipinv, int[] ipvt)
     
    private void
    lu1gau(int m, int melim, int ncold, int nspare, double small, int lpivc1, int lpivc2, int[] lfirst, int lpivr2, int lfree, int minfre, int[] ilast, int[] jlast, int[] lrow, int[] lcol, int[] lu, int[] nfill, double[] a, int[] indc, int[] indr, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] mark, int ll1, int lu1)
     
    private void
    lu1mar(int m, int n, int lena, int maxmn, boolean TCP, double aijtol, double Ltol, int maxcol, int maxrow, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc)
     
    private void
    lu1mRP(int m, int n, int lena, int maxmn, double Ltol, int maxcol, int maxrow, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, double[] Amaxr)
     
    private void
    lu1mSP(int m, int n, int lena, int maxmn, double Ltol, int maxcol, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] q, int[] locc, int[] iqloc)
     
    private void
    lu1mxc(int k1, int k2, int[] q, double[] a, int[] indc, int[] lenc, int[] locc)
     
    private void
    lu1mxr(int mark, int k1, int k2, int m, int n, int lena, double[] a, int[] indc, int[] lenc, int[] locc, int[] indr, int[] lenr, int[] locr, int[] p, int[] markc, int[] markr, double[] Amaxr)
     
    private void
    lu1or1(int m, int n, int nelem, int lena, double small, double[] a, int[] indc, int[] indr, int[] lenc, int[] lenr, double[] Amax, int[] numnz, int[] lerr, int[] inform)
     
    private void
    lu1or2(int n, int numa, int lena, double[] a, int[] inum, int[] jnum, int[] lenc, int[] locc)
     
    private void
    lu1or3(int m, int n, int lena, int[] indc, int[] lenc, int[] locc, int[] iw, int[] lerr, int[] inform)
     
    private void
    lu1or4(int m, int n, int nelem, int lena, int[] indc, int[] indr, int[] lenc, int[] lenr, int[] locc, int[] locr)
     
    private void
    lu1pen(int m, int melim, int ncold, int nspare, int[] ilast, int lpivc1, int lpivc2, int lpivr1, int lpivr2, int[] lrow, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] indc, int[] indr, int ll1, int lu1)
     
    private void
    lu1pq1(int m, int n, int[] len, int[] iperm, int[] loc, int[] inv, int[] num)
     
    private void
    lu1pq2(int nzpiv, int[] nzchng, int[] indr, int[] lenold, int[] lennew, int[] iqloc, int[] q, int[] iqinv)
     
    private void
    lu1pq3(int n, int[] len, int[] iperm, int[] iw, int[] nrank)
     
    private void
    lu1rec(int n, boolean reals, int[] luparm, int[] ltop, int lena, double[] a, int[] ind, int[] lenc, int[] locc)
     
    private void
    lu1slk(int m, int n, int lena, int[] q, int[] iqloc, double[] a, int[] locc, double[] w)
     
    private void
    lu6chk(int mode, int m, int n, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform)
     
    void
    lu6L(int[] inform, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc)
     
    private void
    lu6LD(int[] inform, int mode, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc, int[] locr)
     
    private void
    lu6Lt(int[] inform, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc)
     
    private void
    lu6mul(int mode, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)
     
    private void
    lu6prt(int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)
     
    void
    lu6sol(int mode, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform)
     
    void
    lu6U(int[] inform, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
     
    private void
    lu6Ut(int[] inform, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
     
    private void
    lu7add(int m, int n, int jadd, double[] v, int lena, int[] luparm, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, int nrank, double[] a, int[] indr, int[] p, int[] lenr, int[] locr, int[] inform, int[] klast, double[] vnorm)
     
    private void
    lu7cyc(int kfirst, int klast, int[] p)
     
    private void
    lu7elm(int m, int n, int jelm, double[] v, int lena, int[] luparm, double[] parmlu, int[] lenL, int lenU, int[] lrow, int nrank, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
     
    private void
    lu7for(int m, int n, int kfirst, int klast, int lena, int[] luparm, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
     
    private void
    lu7rnk(int m, int n, int jsing, int lena, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, int[] nrank, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
     
    private void
    lu7zap(int m, int n, int jzap, int[] kzap, int lena, int[] lenU, int[] lrow, int nrank, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
     
    private void
    lu8rpc(int mode1, int mode2, int m, int n, int jrep, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag, double[] vnorm)
     
    private void
    luchek(int m, int n, int nrowb, double[][] B, int[] kb, double[] emax, double[] v, double[] w, double[] x, double[] y, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)
     
    private void
    luinit(int m, int n, int nrowb, double[][] B, int[] kb, int lena, int[] luparm, double[] parmlu, int[] nelem, double[] a, int[] indc, int[] indr)
     
    private void
    lutest(int m, int n, int nrowb, int ncolb, int mtest, int[] inform, int[] kb, double[][] B, double[] d, double[] v, double[] w, double[] x, double[] y, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv)
     
    void
     
    private double
     
    private void
    setmat(int m, int n, int nrowb, double[][] B, double[] d, double[] v, double[] w)
     
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • LUSOL

      public LUSOL()
  • Method Details

    • testflat

      public void testflat()
    • Aprod

      private void Aprod(int m, int n, int nnzero, int[] indc, int[] indr, double[] a, double[] x, double[] y)
    • dnormj

      private double dnormj(int n, double[] x, int incx)
    • random

      private double random()
    • lutest_driver

      public void lutest_driver()
    • lutest

      private void lutest(int m, int n, int nrowb, int ncolb, int mtest, int[] inform, int[] kb, double[][] B, double[] d, double[] v, double[] w, double[] x, double[] y, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv)
    • setmat

      private void setmat(int m, int n, int nrowb, double[][] B, double[] d, double[] v, double[] w)
    • luinit

      private void luinit(int m, int n, int nrowb, double[][] B, int[] kb, int lena, int[] luparm, double[] parmlu, int[] nelem, double[] a, int[] indc, int[] indr)
    • luchek

      private void luchek(int m, int n, int nrowb, double[][] B, int[] kb, double[] emax, double[] v, double[] w, double[] x, double[] y, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)
    • lu1fac

      public void lu1fac(int m, int n, int nelem, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv, double[] w, int[] inform)
    • lu1or1

      private void lu1or1(int m, int n, int nelem, int lena, double small, double[] a, int[] indc, int[] indr, int[] lenc, int[] lenr, double[] Amax, int[] numnz, int[] lerr, int[] inform)
    • lu1or2

      private void lu1or2(int n, int numa, int lena, double[] a, int[] inum, int[] jnum, int[] lenc, int[] locc)
    • lu1or3

      private void lu1or3(int m, int n, int lena, int[] indc, int[] lenc, int[] locc, int[] iw, int[] lerr, int[] inform)
    • lu1or4

      private void lu1or4(int m, int n, int nelem, int lena, int[] indc, int[] indr, int[] lenc, int[] lenr, int[] locc, int[] locr)
    • lu1pq1

      private void lu1pq1(int m, int n, int[] len, int[] iperm, int[] loc, int[] inv, int[] num)
    • lu1fad

      private void lu1fad(int m, int n, int nelem, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, int[] ipinv, int[] iqinv, double[] w, int lenH, double[] Ha, int[] Hj, int[] Hk, double[] Amaxr, int[] inform, int[] lenL, int[] lenU, int[] minlen, int[] mersum, int[] nUtri, int[] nLtri, int[] ndens1, int[] ndens2, int[] nrank, double[] Lmax, double[] Umax, double[] DUmax, double[] DUmin, double[] Akmax)
    • lu1ful

      private void lu1ful(int m, int n, int lena, int lenD, int lu1, boolean TPP, int mleft, int nleft, int nrank, int nrowu, int[] lenL, int[] lenU, int[] nsing, boolean keepLU, double small, double[] a, int lDInput, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] ipinv, int[] ipvt)
    • lu1DCP

      private void lu1DCP(double[][] a, int lda, int m, int n, double small, int[] nsing, int[] ipvt, int[] q)
    • lu1DPP

      private void lu1DPP(double[][] a, int lda, int m, int n, double small, int[] nsing, int[] ipvt, int[] q)
    • jdamax

      private int jdamax(int n, double[] x, int incx)
    • lu1gau

      private void lu1gau(int m, int melim, int ncold, int nspare, double small, int lpivc1, int lpivc2, int[] lfirst, int lpivr2, int lfree, int minfre, int[] ilast, int[] jlast, int[] lrow, int[] lcol, int[] lu, int[] nfill, double[] a, int[] indc, int[] indr, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] mark, int ll1, int lu1)
    • lu1mar

      private void lu1mar(int m, int n, int lena, int maxmn, boolean TCP, double aijtol, double Ltol, int maxcol, int maxrow, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc)
    • lu1mRP

      private void lu1mRP(int m, int n, int lena, int maxmn, double Ltol, int maxcol, int maxrow, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] iploc, int[] iqloc, double[] Amaxr)
    • lu1mSP

      private void lu1mSP(int m, int n, int lena, int maxmn, double Ltol, int maxcol, int[] ibest, int[] jbest, int[] mbest, double[] a, int[] indc, int[] q, int[] locc, int[] iqloc)
    • lu1mxc

      private void lu1mxc(int k1, int k2, int[] q, double[] a, int[] indc, int[] lenc, int[] locc)
    • lu1pen

      private void lu1pen(int m, int melim, int ncold, int nspare, int[] ilast, int lpivc1, int lpivc2, int lpivr1, int lpivr2, int[] lrow, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] indc, int[] indr, int ll1, int lu1)
    • lu1pq2

      private void lu1pq2(int nzpiv, int[] nzchng, int[] indr, int[] lenold, int[] lennew, int[] iqloc, int[] q, int[] iqinv)
    • lu1pq3

      private void lu1pq3(int n, int[] len, int[] iperm, int[] iw, int[] nrank)
    • lu1rec

      private void lu1rec(int n, boolean reals, int[] luparm, int[] ltop, int lena, double[] a, int[] ind, int[] lenc, int[] locc)
    • lu1slk

      private void lu1slk(int m, int n, int lena, int[] q, int[] iqloc, double[] a, int[] locc, double[] w)
    • lu1mxr

      private void lu1mxr(int mark, int k1, int k2, int m, int n, int lena, double[] a, int[] indc, int[] lenc, int[] locc, int[] indr, int[] lenr, int[] locr, int[] p, int[] markc, int[] markr, double[] Amaxr)
    • Hbuild

      private void Hbuild(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int[] hops)
    • Hchange

      private void Hchange(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int k, double v, int jv, int[] hops)
    • Hdelete

      private void Hdelete(double[] Ha, int[] Hj, int[] Hk, int Nin, int[] N, int Nk, int k, int[] hops)
    • Hdown

      private void Hdown(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int kk, int[] hops)
    • Hinsert

      private void Hinsert(double[] Ha, int[] Hj, int[] Hk, int[] N, int Nk, double v, int jv, int[] hops)
    • Hup

      private void Hup(double[] Ha, int[] Hj, int[] Hk, int N, int Nk, int kk, int[] hops)
    • lu6chk

      private void lu6chk(int mode, int m, int n, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform)
    • lu8rpc

      private void lu8rpc(int mode1, int mode2, int m, int n, int jrep, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag, double[] vnorm)
    • lu7zap

      private void lu7zap(int m, int n, int jzap, int[] kzap, int lena, int[] lenU, int[] lrow, int nrank, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
    • lu6sol

      public void lu6sol(int mode, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenc, int[] lenr, int[] locc, int[] locr, int[] inform)
    • lu6L

      public void lu6L(int[] inform, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc)
    • lu6Lt

      private void lu6Lt(int[] inform, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc)
    • lu6U

      public void lu6U(int[] inform, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
    • lu6Ut

      private void lu6Ut(int[] inform, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indr, int[] p, int[] q, int[] lenr, int[] locr)
    • lu6LD

      private void lu6LD(int[] inform, int mode, int m, int n, double[] v, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] lenc, int[] locr)
    • lu7add

      private void lu7add(int m, int n, int jadd, double[] v, int lena, int[] luparm, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, int nrank, double[] a, int[] indr, int[] p, int[] lenr, int[] locr, int[] inform, int[] klast, double[] vnorm)
    • lu7elm

      private void lu7elm(int m, int n, int jelm, double[] v, int lena, int[] luparm, double[] parmlu, int[] lenL, int lenU, int[] lrow, int nrank, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
    • lu7cyc

      private void lu7cyc(int kfirst, int klast, int[] p)
    • lu7for

      private void lu7for(int m, int n, int kfirst, int klast, int lena, int[] luparm, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
    • lu7rnk

      private void lu7rnk(int m, int n, int jsing, int lena, double[] parmlu, int[] lenL, int[] lenU, int[] lrow, int[] nrank, double[] a, int[] indc, int[] indr, int[] p, int[] q, int[] lenr, int[] locc, int[] locr, int[] inform, double[] diag)
    • lu6mul

      private void lu6mul(int mode, int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)
    • lu6prt

      private void lu6prt(int m, int n, double[] v, double[] w, int lena, int[] luparm, double[] parmlu, double[] a, int[] indc, int[] indr, int[] ip, int[] iq, int[] lenc, int[] lenr, int[] locc, int[] locr)