Class LUSOL
- java.lang.Object
-
- gov.nih.mipav.model.structures.jama.LUSOL
-
- All Implemented Interfaces:
java.io.Serializable
public class LUSOL extends java.lang.Object implements java.io.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 & 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| <= 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| <= factol and |Uij| <= 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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
doubleCheck
(package private) java.text.DecimalFormat
nf
private java.util.Random
rn
private long
seed
private ViewUserInterface
UI
-
Constructor Summary
Constructors Constructor Description LUSOL()
-
Method Summary
All Methods Instance Methods Concrete Methods 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
lutest_driver()
private double
random()
private void
setmat(int m, int n, int nrowb, double[][] B, double[] d, double[] v, double[] w)
void
testflat()
-
-
-
Field Detail
-
UI
private ViewUserInterface UI
-
nf
java.text.DecimalFormat nf
-
seed
private long seed
-
rn
private java.util.Random rn
-
doubleCheck
private boolean doubleCheck
-
-
Method Detail
-
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)
-
-