diff --git a/AMD/Demo/amd_demo.out b/AMD/Demo/amd_demo.out
index bec418af85..9592d51aae 100644
--- a/AMD/Demo/amd_demo.out
+++ b/AMD/Demo/amd_demo.out
@@ -1,7 +1,7 @@
-AMD version 2.2, date: Nov 30, 2009
+AMD version 2.2, date: Jan 25, 2011
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -115,7 +115,7 @@ Plot of input matrix pattern:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from amd_order: 0 (should be 0)
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
diff --git a/AMD/Demo/amd_demo2.out b/AMD/Demo/amd_demo2.out
index 8429589967..387a8bfa77 100644
--- a/AMD/Demo/amd_demo2.out
+++ b/AMD/Demo/amd_demo2.out
@@ -1,7 +1,7 @@
AMD demo, with a jumbled version of the 24-by-24
Harwell/Boeing matrix, can_24:
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -144,7 +144,7 @@ Plot of symmetric matrix to be ordered by amd_order:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from amd_order: 1 (should be 1)
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 24
nz, number of nonzeros in A: 102
diff --git a/AMD/Demo/amd_l_demo.out b/AMD/Demo/amd_l_demo.out
index 2d77186f7b..bd6d04cf10 100644
--- a/AMD/Demo/amd_l_demo.out
+++ b/AMD/Demo/amd_l_demo.out
@@ -1,7 +1,7 @@
-AMD version 2.2, date: Nov 30, 2009
+AMD version 2.2, date: Jan 25, 2011
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -115,7 +115,7 @@ Plot of input matrix pattern:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from amd_l_order: 0 (should be 0)
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
diff --git a/AMD/Doc/ChangeLog b/AMD/Doc/ChangeLog
index c5f4dac247..4a9468822c 100644
--- a/AMD/Doc/ChangeLog
+++ b/AMD/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 2.2.2
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 2.2.1
* added "make install" and "make uninstall"
diff --git a/AMD/Include/amd.h b/AMD/Include/amd.h
index 606e91d6ee..82835f56dd 100644
--- a/AMD/Include/amd.h
+++ b/AMD/Include/amd.h
@@ -398,11 +398,11 @@ void amd_l_info (double Info [ ]) ;
* Versions 1.1 and earlier of AMD do not include a #define'd version number.
*/
-#define AMD_DATE "Nov 30, 2009"
+#define AMD_DATE "Jan 25, 2011"
#define AMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define AMD_MAIN_VERSION 2
#define AMD_SUB_VERSION 2
-#define AMD_SUBSUB_VERSION 1
+#define AMD_SUBSUB_VERSION 2
#define AMD_VERSION AMD_VERSION_CODE(AMD_MAIN_VERSION,AMD_SUB_VERSION)
#ifdef __cplusplus
diff --git a/AMD/Makefile b/AMD/Makefile
index 46685e0a91..aaffb390c6 100644
--- a/AMD/Makefile
+++ b/AMD/Makefile
@@ -2,7 +2,7 @@
# AMD Makefile (for GNU Make or original make)
#------------------------------------------------------------------------------
-VERSION = 2.2.1
+VERSION = 2.2.2
default: demos
@@ -71,7 +71,7 @@ mex:
# install AMD
install:
$(CP) Lib/libamd.a $(INSTALL_LIB)/libamd.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libamd.$(VERSION).a libamd.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libamd.$(VERSION).a libamd.a )
$(CP) Include/amd.h $(INSTALL_INCLUDE)
# uninstall AMD
diff --git a/AMD/README.txt b/AMD/README.txt
index 1f0507a2b8..63838270ca 100644
--- a/AMD/README.txt
+++ b/AMD/README.txt
@@ -1,4 +1,4 @@
-AMD Version 2.2.1, Copyright (c) 2009 by Timothy A.
+AMD, Copyright (c) 2009-2011 by Timothy A.
Davis, Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.
AMD is available under alternate licences; contact T. Davis for details.
diff --git a/BTF/Doc/ChangeLog b/BTF/Doc/ChangeLog
index 0597911be7..2e6278f5d9 100644
--- a/BTF/Doc/ChangeLog
+++ b/BTF/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 1.1.2
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 1.1.1
* added "make install" and "make uninstall"
diff --git a/BTF/Include/btf.h b/BTF/Include/btf.h
index 2eadaa5097..72717fdbd8 100644
--- a/BTF/Include/btf.h
+++ b/BTF/Include/btf.h
@@ -250,11 +250,11 @@ UF_long btf_l_order (UF_long, UF_long *, UF_long *, double , double *,
* #endif
*/
-#define BTF_DATE "Nov 30, 2009"
+#define BTF_DATE "Jan 25, 2011"
#define BTF_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define BTF_MAIN_VERSION 1
#define BTF_SUB_VERSION 1
-#define BTF_SUBSUB_VERSION 1
+#define BTF_SUBSUB_VERSION 2
#define BTF_VERSION BTF_VERSION_CODE(BTF_MAIN_VERSION,BTF_SUB_VERSION)
#ifdef __cplusplus
diff --git a/BTF/Makefile b/BTF/Makefile
index 198790ca83..032e917a03 100644
--- a/BTF/Makefile
+++ b/BTF/Makefile
@@ -1,4 +1,4 @@
-VERSION = 1.1.1
+VERSION = 1.1.2
default: library
@@ -22,7 +22,7 @@ purge: distclean
# install BTF
install:
$(CP) Lib/libbtf.a $(INSTALL_LIB)/libbtf.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libbtf.$(VERSION).a libbtf.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libbtf.$(VERSION).a libbtf.a )
$(CP) Include/btf.h $(INSTALL_INCLUDE)
# uninstall BTF
diff --git a/BTF/README.txt b/BTF/README.txt
index 9d10c55492..299dfdf63e 100644
--- a/BTF/README.txt
+++ b/BTF/README.txt
@@ -1,5 +1,4 @@
-BTF Version 1.0, May 31, 2007, by Timothy A. Davis
-Copyright (C) 2004-2007, University of Florida
+BTF, by Timothy A. Davis, Copyright (C) 2004-2011, University of Florida
BTF is also available under other licenses; contact the author for details.
http://www.cise.ufl.edu/research/sparse
diff --git a/CAMD/Demo/camd_demo.out b/CAMD/Demo/camd_demo.out
index 29b1e0f14c..5e35d089ca 100644
--- a/CAMD/Demo/camd_demo.out
+++ b/CAMD/Demo/camd_demo.out
@@ -1,7 +1,7 @@
-CAMD version 2.2, date: Nov 30, 2009
+CAMD version 2.2, date: Jan 25, 2011
CAMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:
-camd version 2.2, Nov 30, 2009: approximate minimum degree ordering:
+camd version 2.2, Jan 25, 2011: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
diff --git a/CAMD/Demo/camd_demo2.out b/CAMD/Demo/camd_demo2.out
index 4be2c41a75..d51348a4f8 100644
--- a/CAMD/Demo/camd_demo2.out
+++ b/CAMD/Demo/camd_demo2.out
@@ -1,7 +1,7 @@
CAMD demo, with a jumbled version of the 24-by-24
Harwell/Boeing matrix, can_24:
-camd version 2.2, Nov 30, 2009: approximate minimum degree ordering:
+camd version 2.2, Jan 25, 2011: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
diff --git a/CAMD/Demo/camd_l_demo.out b/CAMD/Demo/camd_l_demo.out
index 949fe6c32d..1c86ad31c7 100644
--- a/CAMD/Demo/camd_l_demo.out
+++ b/CAMD/Demo/camd_l_demo.out
@@ -1,7 +1,7 @@
-CAMD version 2.2, date: Nov 30, 2009
+CAMD version 2.2, date: Jan 25, 2011
CAMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:
-camd version 2.2, Nov 30, 2009: approximate minimum degree ordering:
+camd version 2.2, Jan 25, 2011: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
diff --git a/CAMD/Doc/ChangeLog b/CAMD/Doc/ChangeLog
index 4f64115f74..eadfd8b446 100644
--- a/CAMD/Doc/ChangeLog
+++ b/CAMD/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 2.2.2
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 2.2.1
* added "make install" and "make uninstall"
diff --git a/CAMD/Include/camd.h b/CAMD/Include/camd.h
index 14cb0d3fd9..86a54d1959 100644
--- a/CAMD/Include/camd.h
+++ b/CAMD/Include/camd.h
@@ -405,11 +405,11 @@ void camd_l_info (double Info [ ]) ;
* #endif
*/
-#define CAMD_DATE "Nov 30, 2009"
+#define CAMD_DATE "Jan 25, 2011"
#define CAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define CAMD_MAIN_VERSION 2
#define CAMD_SUB_VERSION 2
-#define CAMD_SUBSUB_VERSION 1
+#define CAMD_SUBSUB_VERSION 2
#define CAMD_VERSION CAMD_VERSION_CODE(CAMD_MAIN_VERSION,CAMD_SUB_VERSION)
#ifdef __cplusplus
diff --git a/CAMD/Makefile b/CAMD/Makefile
index 58919faddd..de215275c1 100644
--- a/CAMD/Makefile
+++ b/CAMD/Makefile
@@ -2,7 +2,7 @@
# CAMD Makefile (for GNU Make or original make)
#------------------------------------------------------------------------------
-VERSION = 2.2.1
+VERSION = 2.2.2
default: demos
@@ -61,7 +61,7 @@ mex:
# install CAMD
install:
$(CP) Lib/libcamd.a $(INSTALL_LIB)/libcamd.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libcamd.$(VERSION).a libcamd.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libcamd.$(VERSION).a libcamd.a )
$(CP) Include/camd.h $(INSTALL_INCLUDE)
# uninstall CAMD
diff --git a/CAMD/README.txt b/CAMD/README.txt
index 84702cc25b..1e58667552 100644
--- a/CAMD/README.txt
+++ b/CAMD/README.txt
@@ -1,4 +1,4 @@
-CAMD Version 2.2, Copyright (c) 2007 by Timothy A. Davis, Yanqing Chen,
+CAMD, Copyright (c) 2007-2011 by Timothy A. Davis, Yanqing Chen,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.
CAMD is available under alternate licences; contact T. Davis for details.
diff --git a/CCOLAMD/Demo/ccolamd_example.out b/CCOLAMD/Demo/ccolamd_example.out
index 9ff43e9934..dd2dc49556 100644
--- a/CCOLAMD/Demo/ccolamd_example.out
+++ b/CCOLAMD/Demo/ccolamd_example.out
@@ -15,7 +15,7 @@ Column 3, with 2 entries:
row 1
row 3
-ccolamd version 2.7, Nov 30, 2009: OK.
+ccolamd version 2.7, Jan 25, 2011: OK.
ccolamd: number of dense or empty rows ignored: 0
ccolamd: number of dense or empty columns ignored: 0
ccolamd: number of garbage collections performed: 0
@@ -38,7 +38,7 @@ Column 3, with 1 entries:
row 4
Column 4, with 0 entries:
-csymamd version 2.7, Nov 30, 2009: OK.
+csymamd version 2.7, Jan 25, 2011: OK.
csymamd: number of dense or empty rows ignored: 0
csymamd: number of dense or empty columns ignored: 0
csymamd: number of garbage collections performed: 0
diff --git a/CCOLAMD/Demo/ccolamd_l_example.out b/CCOLAMD/Demo/ccolamd_l_example.out
index 5adacdd973..fc87f54745 100644
--- a/CCOLAMD/Demo/ccolamd_l_example.out
+++ b/CCOLAMD/Demo/ccolamd_l_example.out
@@ -15,7 +15,7 @@ Column 3, with 2 entries:
row 1
row 3
-ccolamd version 2.7, Nov 30, 2009: OK.
+ccolamd version 2.7, Jan 25, 2011: OK.
ccolamd: number of dense or empty rows ignored: 0
ccolamd: number of dense or empty columns ignored: 0
ccolamd: number of garbage collections performed: 0
@@ -38,7 +38,7 @@ Column 3, with 1 entries:
row 4
Column 4, with 0 entries:
-csymamd version 2.7, Nov 30, 2009: OK.
+csymamd version 2.7, Jan 25, 2011: OK.
csymamd: number of dense or empty rows ignored: 0
csymamd: number of dense or empty columns ignored: 0
csymamd: number of garbage collections performed: 0
diff --git a/CCOLAMD/Doc/ChangeLog b/CCOLAMD/Doc/ChangeLog
index fde7f0a0d5..499d2fc696 100644
--- a/CCOLAMD/Doc/ChangeLog
+++ b/CCOLAMD/Doc/ChangeLog
@@ -1,3 +1,8 @@
+Jan 25, 2011: version 2.7.3
+
+ * minor fix to "make install"
+ * fixed stats [CCOLAMD_EMPTY_ROW] output
+
Nov 30, 2009: version 2.7.2
* added "make install" and "make uninstall"
diff --git a/CCOLAMD/Include/ccolamd.h b/CCOLAMD/Include/ccolamd.h
index 11a098741d..c253ed522f 100644
--- a/CCOLAMD/Include/ccolamd.h
+++ b/CCOLAMD/Include/ccolamd.h
@@ -43,11 +43,11 @@ extern "C" {
* #endif
*/
-#define CCOLAMD_DATE "Nov 30, 2009"
+#define CCOLAMD_DATE "Jan 25, 2011"
#define CCOLAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define CCOLAMD_MAIN_VERSION 2
#define CCOLAMD_SUB_VERSION 7
-#define CCOLAMD_SUBSUB_VERSION 2
+#define CCOLAMD_SUBSUB_VERSION 3
#define CCOLAMD_VERSION \
CCOLAMD_VERSION_CODE(CCOLAMD_MAIN_VERSION,CCOLAMD_SUB_VERSION)
diff --git a/CCOLAMD/Makefile b/CCOLAMD/Makefile
index 8c86b80842..7826950629 100644
--- a/CCOLAMD/Makefile
+++ b/CCOLAMD/Makefile
@@ -2,7 +2,7 @@
# CCOLAMD Makefile
#------------------------------------------------------------------------------
-VERSION = 2.7.2
+VERSION = 2.7.3
default: demos
@@ -53,7 +53,7 @@ mex:
# install CCOLAMD
install:
$(CP) Lib/libccolamd.a $(INSTALL_LIB)/libccolamd.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libccolamd.$(VERSION).a libccolamd.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libccolamd.$(VERSION).a libccolamd.a )
$(CP) Include/ccolamd.h $(INSTALL_INCLUDE)
# uninstall CCOLAMD
diff --git a/CCOLAMD/README.txt b/CCOLAMD/README.txt
index f919208176..ccc5a19a58 100644
--- a/CCOLAMD/README.txt
+++ b/CCOLAMD/README.txt
@@ -1,5 +1,5 @@
-CCOLAMD version 2.7: constrained column approximate minimum degree ordering
-Copyright (C) 2005-2007, Univ. of Florida. Authors: Timothy A. Davis,
+CCOLAMD: constrained column approximate minimum degree ordering
+Copyright (C) 2005-2011, Univ. of Florida. Authors: Timothy A. Davis,
Sivasankaran Rajamanickam, and Stefan Larimore. Closely based on COLAMD by
Davis, Stefan Larimore, in collaboration with Esmond Ng, and John Gilbert.
http://www.cise.ufl.edu/research/sparse
diff --git a/CCOLAMD/Source/ccolamd.c b/CCOLAMD/Source/ccolamd.c
index 924747126a..36ffa1ada8 100644
--- a/CCOLAMD/Source/ccolamd.c
+++ b/CCOLAMD/Source/ccolamd.c
@@ -1980,7 +1980,7 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
/* === Return statistics in stats ======================================= */
stats [CCOLAMD_DENSE_ROW] = ndense_row ;
- stats [CCOLAMD_DENSE_COL] = nempty_row ;
+ stats [CCOLAMD_EMPTY_ROW] = nempty_row ; /* fixed in 2.7.3 */
stats [CCOLAMD_NEWLY_EMPTY_ROW] = nnewlyempty_row ;
stats [CCOLAMD_DENSE_COL] = ndense_col ;
stats [CCOLAMD_EMPTY_COL] = nempty_col ;
diff --git a/CHOLMOD/Core/cholmod_memory.c b/CHOLMOD/Core/cholmod_memory.c
index 92f9f8ef97..3c7968bdcf 100644
--- a/CHOLMOD/Core/cholmod_memory.c
+++ b/CHOLMOD/Core/cholmod_memory.c
@@ -404,10 +404,10 @@ int CHOLMOD(realloc_multiple)
int nint, /* number of int/UF_long blocks */
int xtype, /* CHOLMOD_PATTERN, _REAL, _COMPLEX, or _ZOMPLEX */
/* ---- in/out --- */
- void **I, /* int or UF_long block */
- void **J, /* int or UF_long block */
- void **X, /* complex or double block */
- void **Z, /* zomplex case only: double block */
+ void **Iblock, /* int or UF_long block */
+ void **Jblock, /* int or UF_long block */
+ void **Xblock, /* complex or double block */
+ void **Zblock, /* zomplex case only: double block */
size_t *nold_p, /* current size of the I,J,X,Z blocks on input,
* nnew on output if successful */
/* --------------- */
@@ -440,26 +440,30 @@ int CHOLMOD(realloc_multiple)
if (nint > 0)
{
- *I = CHOLMOD(realloc) (nnew, sizeof (Int), *I, &i, Common) ;
+ *Iblock = CHOLMOD(realloc) (nnew, sizeof (Int), *Iblock, &i, Common) ;
}
if (nint > 1)
{
- *J = CHOLMOD(realloc) (nnew, sizeof (Int), *J, &j, Common) ;
+ *Jblock = CHOLMOD(realloc) (nnew, sizeof (Int), *Jblock, &j, Common) ;
}
switch (xtype)
{
case CHOLMOD_REAL:
- *X = CHOLMOD(realloc) (nnew, sizeof (double), *X, &x, Common) ;
+ *Xblock = CHOLMOD(realloc) (nnew, sizeof (double), *Xblock, &x,
+ Common) ;
break ;
case CHOLMOD_COMPLEX:
- *X = CHOLMOD(realloc) (nnew, 2*sizeof (double), *X, &x, Common) ;
+ *Xblock = CHOLMOD(realloc) (nnew, 2*sizeof (double), *Xblock, &x,
+ Common) ;
break ;
case CHOLMOD_ZOMPLEX:
- *X = CHOLMOD(realloc) (nnew, sizeof (double), *X, &x, Common) ;
- *Z = CHOLMOD(realloc) (nnew, sizeof (double), *Z, &z, Common) ;
+ *Xblock = CHOLMOD(realloc) (nnew, sizeof (double), *Xblock, &x,
+ Common) ;
+ *Zblock = CHOLMOD(realloc) (nnew, sizeof (double), *Zblock, &z,
+ Common) ;
break ;
}
@@ -472,26 +476,30 @@ int CHOLMOD(realloc_multiple)
if (nint > 0)
{
- *I = CHOLMOD(free) (i, sizeof (Int), *I, Common) ;
+ *Iblock = CHOLMOD(free) (i, sizeof (Int), *Iblock, Common) ;
}
if (nint > 1)
{
- *J = CHOLMOD(free) (j, sizeof (Int), *J, Common) ;
+ *Jblock = CHOLMOD(free) (j, sizeof (Int), *Jblock, Common) ;
}
switch (xtype)
{
case CHOLMOD_REAL:
- *X = CHOLMOD(free) (x, sizeof (double), *X, Common) ;
+ *Xblock = CHOLMOD(free) (x, sizeof (double), *Xblock,
+ Common) ;
break ;
case CHOLMOD_COMPLEX:
- *X = CHOLMOD(free) (x, 2*sizeof (double), *X, Common) ;
+ *Xblock = CHOLMOD(free) (x, 2*sizeof (double), *Xblock,
+ Common) ;
break ;
case CHOLMOD_ZOMPLEX:
- *X = CHOLMOD(free) (x, sizeof (double), *X, Common) ;
- *Z = CHOLMOD(free) (x, sizeof (double), *Z, Common) ;
+ *Xblock = CHOLMOD(free) (x, sizeof (double), *Xblock,
+ Common) ;
+ *Zblock = CHOLMOD(free) (x, sizeof (double), *Zblock,
+ Common) ;
break ;
}
@@ -500,30 +508,32 @@ int CHOLMOD(realloc_multiple)
{
if (nint > 0)
{
- *I = CHOLMOD(realloc) (nold, sizeof (Int), *I, &i, Common) ;
+ *Iblock = CHOLMOD(realloc) (nold, sizeof (Int), *Iblock, &i,
+ Common) ;
}
if (nint > 1)
{
- *J = CHOLMOD(realloc) (nold, sizeof (Int), *J, &j, Common) ;
+ *Jblock = CHOLMOD(realloc) (nold, sizeof (Int), *Jblock, &j,
+ Common) ;
}
switch (xtype)
{
case CHOLMOD_REAL:
- *X = CHOLMOD(realloc) (nold, sizeof (double), *X, &x,
- Common) ;
+ *Xblock = CHOLMOD(realloc) (nold, sizeof (double),
+ *Xblock, &x, Common) ;
break ;
case CHOLMOD_COMPLEX:
- *X = CHOLMOD(realloc) (nold, 2*sizeof (double), *X, &x,
- Common) ;
+ *Xblock = CHOLMOD(realloc) (nold, 2*sizeof (double),
+ *Xblock, &x, Common) ;
break ;
case CHOLMOD_ZOMPLEX:
- *X = CHOLMOD(realloc) (nold, sizeof (double), *X, &x,
- Common) ;
- *Z = CHOLMOD(realloc) (nold, sizeof (double), *Z, &z,
- Common) ;
+ *Xblock = CHOLMOD(realloc) (nold, sizeof (double),
+ *Xblock, &x, Common) ;
+ *Zblock = CHOLMOD(realloc) (nold, sizeof (double),
+ *Zblock, &z, Common) ;
break ;
}
@@ -537,8 +547,8 @@ int CHOLMOD(realloc_multiple)
/* New space was allocated. Clear the first entry so that valgrind
* doesn't complain about its access in change_complexity
* (Core/cholmod_complex.c). */
- xx = *X ;
- zz = *Z ;
+ xx = *Xblock ;
+ zz = *Zblock ;
switch (xtype)
{
case CHOLMOD_REAL:
diff --git a/CHOLMOD/Doc/ChangeLog b/CHOLMOD/Doc/ChangeLog
index 18fb7dc2c2..732fdc26e3 100644
--- a/CHOLMOD/Doc/ChangeLog
+++ b/CHOLMOD/Doc/ChangeLog
@@ -1,3 +1,9 @@
+Jan 25, 2011: version 1.7.3
+
+ * minor fix to "make install"
+ * minor change to Core/cholmod_memory.c, rename "I" which conflicts with
+ a predefined token in some compilers
+
Nov 30, 2009: version 1.7.2
* added "make install" and "make uninstall"
diff --git a/CHOLMOD/Doc/UserGuide.pdf b/CHOLMOD/Doc/UserGuide.pdf
index 6946056013..2d4b02e40f 100644
Binary files a/CHOLMOD/Doc/UserGuide.pdf and b/CHOLMOD/Doc/UserGuide.pdf differ
diff --git a/CHOLMOD/Doc/UserGuide.tex b/CHOLMOD/Doc/UserGuide.tex
index 47e605aa49..171508b9d4 100644
--- a/CHOLMOD/Doc/UserGuide.tex
+++ b/CHOLMOD/Doc/UserGuide.tex
@@ -21,7 +21,8 @@
Univ. of Florida, Gainesville, FL}
\title{User Guide for CHOLMOD: a sparse Cholesky factorization and
modification package}
-\date{Version 1.7.2, Nov 30, 2009}
+
+\date{VERSION 1.7.3, Jan 25, 2011}
\maketitle
%-------------------------------------------------------------------------------
@@ -47,7 +48,7 @@
\end{abstract}
%-------------------------------------------------------------------------------
-CHOLMOD Copyright\copyright 2005-2009 by Timothy A. Davis. Portions are also
+CHOLMOD Copyright\copyright 2005-2011 by Timothy A. Davis. Portions are also
copyrighted by William W. Hager (the {\tt Modify} Module),
and the University of Florida (the {\tt Partition} and {\tt Core} Modules).
All Rights Reserved. Some of CHOLMOD's Modules are distributed under the GNU
diff --git a/CHOLMOD/Include/cholmod_core.h b/CHOLMOD/Include/cholmod_core.h
index 1637b8267e..9a32e319a0 100644
--- a/CHOLMOD/Include/cholmod_core.h
+++ b/CHOLMOD/Include/cholmod_core.h
@@ -244,11 +244,11 @@
* #endif
*/
-#define CHOLMOD_DATE "Nov 30, 2009"
+#define CHOLMOD_DATE "Jan 25, 2011"
#define CHOLMOD_VER_CODE(main,sub) ((main) * 1000 + (sub))
#define CHOLMOD_MAIN_VERSION 1
#define CHOLMOD_SUB_VERSION 7
-#define CHOLMOD_SUBSUB_VERSION 2
+#define CHOLMOD_SUBSUB_VERSION 3
#define CHOLMOD_VERSION \
CHOLMOD_VER_CODE(CHOLMOD_MAIN_VERSION,CHOLMOD_SUB_VERSION)
@@ -2201,10 +2201,10 @@ int cholmod_realloc_multiple
int nint, /* number of int/UF_long blocks */
int xtype, /* CHOLMOD_PATTERN, _REAL, _COMPLEX, or _ZOMPLEX */
/* ---- in/out --- */
- void **I, /* int or UF_long block */
- void **J, /* int or UF_long block */
- void **X, /* complex, double, or float block */
- void **Z, /* zomplex case only: double or float block */
+ void **Iblock, /* int or UF_long block */
+ void **Jblock, /* int or UF_long block */
+ void **Xblock, /* complex, double, or float block */
+ void **Zblock, /* zomplex case only: double or float block */
size_t *n, /* current size of the I,J,X,Z blocks on input,
* nnew on output if successful */
/* --------------- */
diff --git a/CHOLMOD/Makefile b/CHOLMOD/Makefile
index f2a8e78879..7244e1f3f9 100644
--- a/CHOLMOD/Makefile
+++ b/CHOLMOD/Makefile
@@ -2,7 +2,7 @@
# CHOLMOD Makefile
#-------------------------------------------------------------------------------
-VERSION = 1.7.2
+VERSION = 1.7.3
# Note: If you do not have METIS, or do not wish to use it in CHOLMOD, you must
# compile CHOLMOD with the -DNPARTITION flag. See ../UFconfig/UFconfig.mk.
@@ -63,7 +63,7 @@ demos:
# install CHOLMOD
install:
$(CP) Lib/libcholmod.a $(INSTALL_LIB)/libcholmod.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libcholmod.$(VERSION).a libcholmod.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libcholmod.$(VERSION).a libcholmod.a )
$(CP) Include/cholmod*.h $(INSTALL_INCLUDE)
$(RM) $(INSTALL_INCLUDE)/cholmod_internal.h
diff --git a/CHOLMOD/README.txt b/CHOLMOD/README.txt
index 84fb2bd3af..861d533434 100644
--- a/CHOLMOD/README.txt
+++ b/CHOLMOD/README.txt
@@ -1,5 +1,4 @@
-CHOLMOD: a sparse CHOLesky MODification package
-Version 1.7.1, March 24, 2009. Copyright (c) 2005-2009.
+CHOLMOD: a sparse CHOLesky MODification package, Copyright (c) 2005-2011.
-----------------------------------------------
CHOLMOD is a set of routines for factorizing sparse symmetric positive
diff --git a/CHOLMOD/Tcov/cm.c b/CHOLMOD/Tcov/cm.c
index ce69997041..e8827ce279 100644
--- a/CHOLMOD/Tcov/cm.c
+++ b/CHOLMOD/Tcov/cm.c
@@ -1438,8 +1438,11 @@ int main (int argc, char **argv)
if (T->nrow > 1000000)
{
- /* do huge-problem tests only */
- huge ( ) ;
+ /* do huge-problem tests only, but only for 32-bit systems */
+ if (sizeof (Int) == sizeof (int))
+ {
+ huge ( ) ;
+ }
CHOLMOD(free_triplet) (&T, cm) ;
continue ;
}
diff --git a/CHOLMOD/Tcov/tmp/.gitkeep b/CHOLMOD/Tcov/tmp/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/CHOLMOD/Valgrind/tmp/.gitkeep b/CHOLMOD/Valgrind/tmp/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/COLAMD/Demo/colamd_example.out b/COLAMD/Demo/colamd_example.out
index 3e6eb4decf..239996faa2 100644
--- a/COLAMD/Demo/colamd_example.out
+++ b/COLAMD/Demo/colamd_example.out
@@ -15,7 +15,7 @@ Column 3, with 2 entries:
row 1
row 3
-colamd version 2.7, Nov 30, 2009: OK.
+colamd version 2.7, Jan 25, 2011: OK.
colamd: number of dense or empty rows ignored: 0
colamd: number of dense or empty columns ignored: 0
colamd: number of garbage collections performed: 0
@@ -38,7 +38,7 @@ Column 3, with 1 entries:
row 4
Column 4, with 0 entries:
-symamd version 2.7, Nov 30, 2009: OK.
+symamd version 2.7, Jan 25, 2011: OK.
symamd: number of dense or empty rows ignored: 0
symamd: number of dense or empty columns ignored: 0
symamd: number of garbage collections performed: 0
diff --git a/COLAMD/Demo/colamd_l_example.out b/COLAMD/Demo/colamd_l_example.out
index 60dfad00da..838b5826e8 100644
--- a/COLAMD/Demo/colamd_l_example.out
+++ b/COLAMD/Demo/colamd_l_example.out
@@ -15,7 +15,7 @@ Column 3, with 2 entries:
row 1
row 3
-colamd version 2.7, Nov 30, 2009: OK.
+colamd version 2.7, Jan 25, 2011: OK.
colamd: number of dense or empty rows ignored: 0
colamd: number of dense or empty columns ignored: 0
colamd: number of garbage collections performed: 0
@@ -38,7 +38,7 @@ Column 3, with 1 entries:
row 4
Column 4, with 0 entries:
-symamd version 2.7, Nov 30, 2009: OK.
+symamd version 2.7, Jan 25, 2011: OK.
symamd: number of dense or empty rows ignored: 0
symamd: number of dense or empty columns ignored: 0
symamd: number of garbage collections performed: 0
diff --git a/COLAMD/Doc/ChangeLog b/COLAMD/Doc/ChangeLog
index 9901eff093..03f7f69822 100644
--- a/COLAMD/Doc/ChangeLog
+++ b/COLAMD/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 2.7.3
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 2.7.2
* added "make install" and "make uninstall"
diff --git a/COLAMD/Include/colamd.h b/COLAMD/Include/colamd.h
index b5d8daba6f..47e2582b6c 100644
--- a/COLAMD/Include/colamd.h
+++ b/COLAMD/Include/colamd.h
@@ -81,11 +81,11 @@ extern "C" {
* Versions 2.3 and earlier of COLAMD do not include a #define'd version number.
*/
-#define COLAMD_DATE "Nov 30, 2009"
+#define COLAMD_DATE "Jan 25, 2011"
#define COLAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define COLAMD_MAIN_VERSION 2
#define COLAMD_SUB_VERSION 7
-#define COLAMD_SUBSUB_VERSION 2
+#define COLAMD_SUBSUB_VERSION 3
#define COLAMD_VERSION \
COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION,COLAMD_SUB_VERSION)
diff --git a/COLAMD/Makefile b/COLAMD/Makefile
index 69b787b39c..5c6faf2bbd 100644
--- a/COLAMD/Makefile
+++ b/COLAMD/Makefile
@@ -2,7 +2,7 @@
# COLAMD Makefile
#------------------------------------------------------------------------------
-VERSION = 2.7.2
+VERSION = 2.7.3
default: demos
@@ -53,7 +53,7 @@ mex:
# install COLAMD
install:
$(CP) Lib/libcolamd.a $(INSTALL_LIB)/libcolamd.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libcolamd.$(VERSION).a libcolamd.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libcolamd.$(VERSION).a libcolamd.a )
$(CP) Include/colamd.h $(INSTALL_INCLUDE)
# uninstall COLAMD
diff --git a/COLAMD/README.txt b/COLAMD/README.txt
index 5ed81c71d0..47da68ea08 100644
--- a/COLAMD/README.txt
+++ b/COLAMD/README.txt
@@ -1,4 +1,4 @@
-The COLAMD ordering method - Version 2.7
+The COLAMD ordering method, Copyright 1998-2011, Timothy A. Davis.
-------------------------------------------------------------------------------
The COLAMD column approximate minimum degree ordering algorithm computes
@@ -44,8 +44,6 @@ colamd from a C program.
Requires UFconfig, in the ../UFconfig directory relative to this directory.
- Copyright (c) 1998-2007, Timothy A. Davis, All Rights Reserved.
-
See http://www.cise.ufl.edu/research/sparse/colamd (the colamd.c
file) for the License.
diff --git a/CSparse/Demo/cs_demo.out b/CSparse/Demo/cs_demo.out
index 6e2a56097a..7a188f7dd9 100644
--- a/CSparse/Demo/cs_demo.out
+++ b/CSparse/Demo/cs_demo.out
@@ -1,5 +1,7 @@
( cd ../Lib ; make )
+make[1]: Entering directory `/cise/research/sparse2/SuiteSparse/CSparse/Lib'
make[1]: Nothing to be done for `all'.
+make[1]: Leaving directory `/cise/research/sparse2/SuiteSparse/CSparse/Lib'
cc -O -I../Include -o cs_demo1 cs_demo1.c ../Lib/libcsparse.a -lm
cc -O -I../Include -o cs_demo2 cs_demo2.c cs_demo.c ../Lib/libcsparse.a -lm
cc -O -I../Include -o cs_demo3 cs_demo3.c cs_demo.c ../Lib/libcsparse.a -lm
@@ -110,7 +112,7 @@ tiny entries dropped: 10
blocks: 38 singletons: 37 structural rank: 183
QR natural time: 0.01 resid: 6.84e-28
QR amd(A'*A) time: 0.00 resid: 9.38e-28
-LU natural time: 0.00 resid: 6.20e-28
+LU natural time: 0.01 resid: 6.20e-28
LU amd(A+A') time: 0.00 resid: 1.55e-27
LU amd(S'*S) time: 0.00 resid: 6.98e-28
LU amd(A'*A) time: 0.00 resid: 6.98e-28
@@ -118,8 +120,8 @@ LU amd(A'*A) time: 0.00 resid: 6.98e-28
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
-QR natural time: 0.11 resid: nan
-QR amd(A'*A) time: 0.15 resid: nan
+QR natural time: 0.13 resid: nan
+QR amd(A'*A) time: 0.18 resid: nan
./cs_demo2 < ../Matrix/west0067
--- Matrix: 67-by-67, nnz: 294 (sym: 0: nnz 0), norm: 6.14e+00
@@ -140,11 +142,11 @@ QR amd(A'*A) time: 0.00 resid: 2.25e-16
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
blocks: 75 singletons: 74 structural rank: 4884
-QR amd(A'*A) time: 1.35 resid: 1.39e-22
-LU amd(A+A') time: 0.82 resid: 1.10e-22
-LU amd(S'*S) time: 0.85 resid: 1.28e-22
-LU amd(A'*A) time: 0.88 resid: 1.78e-22
-Chol amd(A+A') time: 0.25 resid: 1.19e-22
+QR amd(A'*A) time: 1.80 resid: 1.39e-22
+LU amd(A+A') time: 1.02 resid: 1.10e-22
+LU amd(S'*S) time: 1.00 resid: 1.28e-22
+LU amd(A'*A) time: 1.04 resid: 1.78e-22
+Chol amd(A+A') time: 0.35 resid: 1.19e-22
./cs_demo3 < ../Matrix/bcsstk01
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
@@ -155,21 +157,21 @@ numeric chol time 0.00
solve chol time 0.00
original: resid: 2.55e-19
update: time: 0.00
-update: time: 0.00 (incl solve) resid: 3.52e-18
-rechol: time: 0.00 (incl solve) resid: 2.93e-18
+update: time: 0.00 (incl solve) resid: 9.66e-19
+rechol: time: 0.00 (incl solve) resid: 1.55e-18
downdate: time: 0.00
-downdate: time: 0.00 (incl solve) resid: 4.32e-17
+downdate: time: 0.00 (incl solve) resid: 3.74e-17
./cs_demo3 < ../Matrix/bcsstk16
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
chol then update/downdate amd(A+A')
symbolic chol time 0.02
-numeric chol time 0.22
+numeric chol time 0.33
solve chol time 0.01
original: resid: 1.19e-22
update: time: 0.00
-update: time: 0.01 (incl solve) resid: 1.71e-23
-rechol: time: 0.22 (incl solve) resid: 1.61e-23
+update: time: 0.01 (incl solve) resid: 1.12e-23
+rechol: time: 0.34 (incl solve) resid: 1.17e-23
downdate: time: 0.00
-downdate: time: 0.01 (incl solve) resid: 1.24e-21
+downdate: time: 0.01 (incl solve) resid: 4.09e-22
diff --git a/CSparse/Doc/ChangeLog b/CSparse/Doc/ChangeLog
index 0a7891bf74..29491885a7 100644
--- a/CSparse/Doc/ChangeLog
+++ b/CSparse/Doc/ChangeLog
@@ -1,6 +1,12 @@
+Jan 25, 2011: version 2.2.5
+
+ * minor fix to "make install"
+ * minor change to cs_util.c, typecast return (cs_free (...))
+ * minor fixes to UFget: help file, UFsettings.txt
+
Nov 30, 2009: version 2.2.4
- * added "make install" and "make uninstall"
+ * added "make install" and "make uninstall" to CXSparse
* minor change to cs_make.m
Jan 20, 2009, v2.2.3
diff --git a/CSparse/MATLAB/UFget/UFget_defaults.m b/CSparse/MATLAB/UFget/UFget_defaults.m
index 00924c1b9a..a907e94bd8 100644
--- a/CSparse/MATLAB/UFget/UFget_defaults.m
+++ b/CSparse/MATLAB/UFget/UFget_defaults.m
@@ -31,7 +31,7 @@
f = -1 ;
try
- f = fopen (sprintf ('%sUFsettings.txt', s), 'r') ;
+ f = fopen (sprintf ('%sUFsettings.txt', this), 'r') ;
if (f >= 0)
% get the location of the mat directory
s = fgetl (f) ;
diff --git a/CSparse/MATLAB/UFget/UFgui.jar b/CSparse/MATLAB/UFget/UFgui.jar
index 51c14e28c5..756923a64d 100644
Binary files a/CSparse/MATLAB/UFget/UFgui.jar and b/CSparse/MATLAB/UFget/UFgui.jar differ
diff --git a/CSparse/MATLAB/UFget/UFgui.java b/CSparse/MATLAB/UFget/UFgui.java
index 2f4f635e2b..d4f1136bd8 100644
--- a/CSparse/MATLAB/UFget/UFgui.java
+++ b/CSparse/MATLAB/UFget/UFgui.java
@@ -645,7 +645,7 @@ public void actionPerformed (ActionEvent e)
real_group.add (real_either_Button) ;
real_yes_Button.setToolTipText
- ("Select 'real' for real matrices only.") ;
+ ("Select 'real' for real matrices only (includes integer and binary).") ;
real_no_Button.setToolTipText
("Select 'complex' for complex matrices only.") ;
real_either_Button.setToolTipText
@@ -1172,7 +1172,7 @@ else if (k == 0)
"# of rows in the matrix", // 7:nrows
"# of columns in the matrix", // 8:ncols
"# of nonzeros in the matrix", // 9:nnz
- "if the matrix is real", // 10:isReal
+ "if the matrix is real (not complex)", // 10:isReal
"if the matrix is binary", // 11:isBinary
"if the matrix arises from a 2D/3D discretization", // 12:isND
"if the matrix is symmetric positive definite", // 13:posdef
diff --git a/CSparse/MATLAB/UFget/UFhelp.html b/CSparse/MATLAB/UFget/UFhelp.html
index 01775b2093..935a905acf 100644
--- a/CSparse/MATLAB/UFget/UFhelp.html
+++ b/CSparse/MATLAB/UFget/UFhelp.html
@@ -21,13 +21,17 @@
1. Overview
UFgui is a Java GUI interface to the University of Florida Sparse Matrix
Collection at http://www.cise.ufl.edu/research/sparse/matrices. It provides an
easy way to select matrices from the collection based on their matrix
-properties. As of September 2009, there were 2255 matrices ranging in size
+properties. As of October 2010, there were 2328 matrices ranging in size
from 1-by-2 (with a single nonzero entry) to a square matrix with nearly 28
million rows and 760 million entries. The total size of the collection in all
-three formats exceeds 40 GB, and is constantly growing in size.
+three formats exceeds 47 GB, and is constantly growing in size.
2. Quick Start
+First, download the UFget archive (tar.gz or zip file), and uncompress it.
+Open the UFget folder.
+
+
If your web browswer requires an HTTP proxy, or if you wish to change
the download location, first see the Customization section below,
to configure UFgui before you run it.
@@ -40,16 +44,23 @@
2. Quick Start
java -jar UFgui.jar
+If the above command fails, then you need to install Java.
+See
+http://www.java.com/en/download/manual.jsp for details.
+
+
You can skip reading this document by simply navigating the GUI itself. Most
of the buttons, check boxes, lists, and table columns have a short "tool tip"
which is visible if you hover your mouse over the item.
When the UFgui starts, it checks for any missing matrix icons and
-downloads a new table if needed.
+downloads a new table if needed. This might take a few minutes, so
+just sit back and enjoy the slideshow. It will only happen occassionaly.
3. A Sparse Matrix Problem
-The UF Sparse Matrix Collection a simplified name. It is actually a collection
+The UF Sparse Matrix Collection is a simplified name. It is actually a
+collection
of sparse matrix problems, not just sparse matrices. Each problem
includes one primary sparse matrix and meta-data about that matrix. Some
problems include additional matrices and vectors (sparse or dense) such as
@@ -184,6 +195,11 @@ 5. Selecting Matrices
the list to add a single item to your highlighted choices. To clear your
choices, click the Reset criteria button, described below.
+ When you select/deselect matrices, the boxes to the left of each matrix in
+the Table of Matrices get checked/unchecked. You still see all the matrices
+in the list, because you can then modify your selection by checking/unchecking
+matrices one at a time in the Table itself.
+
At the bottom of the Selection Criteria panel is a row of buttons:
@@ -279,9 +295,13 @@
5. Selecting Matrices
real: this box is checked if the matrix is real.
It is complex otherwise.
+ Note that real matrices include any matrix that is not
+ complex. In particular, integer and binary matrices are
+ considered real in this search criterion.
binary: this box is checked if the matrix is binary.
- It is non-binary otherwise (there are no binary complex matrices).
+ It is non-binary otherwise (there are no binary complex matrices,
+ so any matrix that is binary is also marked as real).
2D/3D: this box is checked if the matrix comes
from a discretization of a 2D or 3D geometry.
@@ -449,7 +469,7 @@ 7. Limitations and known issues
8. Copyright and License
-Copyright (c) 2009, Timothy A. Davis. All rights reserved.
+Copyright (c) 2009-2010, Timothy A. Davis. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -479,6 +499,8 @@
8. Copyright and License
9. Version and Change-Log
+- Version 1.0.4, October 27, 2010. Update to this help file only.
+
- Version 1.0.3, October 9, 2009. Removed the Update button which when
clicked would download a fresh copy of matrices/UFstats.csv. UFgui
updates itself automatically every 30 days. If you want to force a
@@ -506,8 +528,12 @@
9. Version and Change-Log
10. For Further Help
Contact the author of this UFgui program, and the maintainer of the UF Sparse
-Matrix Collection: Tim Davis (http://www.cise.ufl.edu/~davis, email
-davis@cise.ufl.edu or DrTimothyAldenDavis@gmail.com). To print this document,
+Matrix Collection: Tim Davis (
+http://www.cise.ufl.edu/~davis, email
+davis@cise.ufl.edu
+or
+DrTimothyAldenDavis@gmail.com).
+To print this document,
open the file UFhelp.html in your favorite web browser.
11. Acknowledgements
diff --git a/CSparse/MATLAB/UFget/mat/UF_Index.mat b/CSparse/MATLAB/UFget/mat/UF_Index.mat
index 858a66c07a..5f549d931c 100644
Binary files a/CSparse/MATLAB/UFget/mat/UF_Index.mat and b/CSparse/MATLAB/UFget/mat/UF_Index.mat differ
diff --git a/CSparse/MATLAB/UFget/matrices/UFstats.csv b/CSparse/MATLAB/UFget/matrices/UFstats.csv
index e8d55cb937..1c828a6057 100644
--- a/CSparse/MATLAB/UFget/matrices/UFstats.csv
+++ b/CSparse/MATLAB/UFget/matrices/UFstats.csv
@@ -1,5 +1,5 @@
-2272
-02-Nov-2009 14:30:41
+2379
+14-Jan-2011 15:51:12
HB,1138_bus,1138,1138,4054,1,0,0,1,1,1,power network problem
HB,494_bus,494,494,1666,1,0,0,1,1,1,power network problem
HB,662_bus,662,662,2474,1,0,0,1,1,1,power network problem
@@ -2272,3 +2272,110 @@ Puri,ABACUS_shell_ud,23412,23412,218484,1,0,1,0,1,0.9753731955380578,model reduc
Puri,ABACUS_shell_ld,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
Puri,ABACUS_shell_md,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
Puri,ABACUS_shell_hd,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
+Stevenson,LargeRegFile,2111154,801374,4944201,1,0,0,0,0,0,circuit simulation problem
+Freescale,memchip,2707524,2707524,13343948,1,0,0,0,0.9058013004223939,0.4015860962358702,circuit simulation problem
+Freescale,transient,178866,178866,961368,1,0,0,0,0.9996742983044353,0.243597788123496,circuit simulation problem
+Freescale,circuit5M,5558326,5558326,59524291,1,0,0,0,0.9999998517635799,0.4198865531852634,circuit simulation problem
+Freescale,circuit5M_dc,3523317,3523317,14865409,1,0,0,0,0.9072118240231114,0.7150571517141635,circuit simulation problem
+Grund,poli3,16955,16955,37849,1,0,0,0,0.00507322676366421,0.0005743275581506652,economic problem
+Grund,poli4,33833,33833,73249,1,0,0,0,0.003551857113862391,0.0002029632636492795,economic problem
+Belcastro,human_gene1,22283,22283,24669643,1,0,0,0,1,1,undirected weighted graph
+Belcastro,human_gene2,14340,14340,18068388,1,0,0,0,1,1,undirected weighted graph
+Belcastro,mouse_gene,45101,45101,28967291,1,0,0,0,1,1,undirected weighted graph
+Um,offshore,259789,259789,4242673,1,0,1,1,1,1,electromagnetics problem
+SNAP,soc-Epinions1,75888,75888,508837,1,1,0,0,0.405226035056413,0.405226035056413,directed graph
+SNAP,soc-LiveJournal1,4847571,4847571,68993773,1,1,0,0,0.7484193555024753,0.7484193555024753,directed graph
+SNAP,soc-Slashdot0811,77360,77360,905468,1,1,0,0,0.8669352939826918,0.8669352939826918,directed graph
+SNAP,soc-Slashdot0902,82168,82168,948464,1,1,0,0,0.8410650442849082,0.8410650442849082,directed graph
+SNAP,wiki-Vote,8297,8297,103689,1,1,0,0,0.0564572905515532,0.0564572905515532,directed graph
+SNAP,email-EuAll,265214,265214,420045,1,1,0,0,0.2600511748250413,0.2600511748250413,directed graph
+SNAP,email-Enron,36692,36692,367662,1,1,0,0,1,1,directed graph
+SNAP,wiki-Talk,2394385,2394385,5021410,1,1,0,0,0.1441208744157517,0.1441208744157517,directed graph
+SNAP,cit-HepPh,34546,34546,421578,1,1,0,0,0.003117186276789061,0.003117186276789061,directed graph
+SNAP,cit-HepTh,27770,27770,352807,1,1,0,0,0.002738343613933237,0.002738343613933237,directed graph
+SNAP,cit-Patents,3774768,3774768,16518948,1,1,0,0,0,0,directed graph
+SNAP,ca-AstroPh,18772,18772,396160,1,1,0,0,1,1,undirected graph
+SNAP,ca-CondMat,23133,23133,186936,1,1,0,0,1,1,undirected graph
+SNAP,ca-GrQc,5242,5242,28980,1,1,0,0,1,1,undirected graph
+SNAP,ca-HepPh,12008,12008,237010,1,1,0,0,1,1,undirected graph
+SNAP,ca-HepTh,9877,9877,51971,1,1,0,0,1,1,undirected graph
+SNAP,web-BerkStan,685230,685230,7600595,1,1,0,0,0.2502764586193581,0.2502764586193581,directed graph
+SNAP,web-Google,916428,916428,5105039,1,1,0,0,0.3067510355944391,0.3067510355944391,directed graph
+SNAP,web-NotreDame,325729,325729,1497134,1,1,0,0,0.5165359238309862,0.5165359238309862,directed graph
+SNAP,web-Stanford,281903,281903,2312497,1,1,0,0,0.2766368994208425,0.2766368994208425,directed graph
+SNAP,amazon0302,262111,262111,1234877,1,1,0,0,0.5427018237443891,0.5427018237443891,directed graph
+SNAP,amazon0312,400727,400727,3200440,1,1,0,0,0.5315337891039982,0.5315337891039982,directed graph
+SNAP,amazon0505,410236,410236,3356824,1,1,0,0,0.5465803390347542,0.5465803390347542,directed graph
+SNAP,amazon0601,403394,403394,3387388,1,1,0,0,0.5573497928197183,0.5573497928197183,directed graph
+SNAP,p2p-Gnutella04,10879,10879,39994,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella05,8846,8846,31839,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella06,8717,8717,31525,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella08,6301,6301,20777,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella09,8114,8114,26013,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella24,26518,26518,65369,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella25,22687,22687,54705,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella30,36682,36682,88328,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella31,62586,62586,147892,1,1,0,0,0,0,directed graph
+SNAP,roadNet-CA,1971281,1971281,5533214,1,1,0,0,1,1,undirected graph
+SNAP,roadNet-PA,1090920,1090920,3083796,1,1,0,0,1,1,undirected graph
+SNAP,roadNet-TX,1393383,1393383,3843320,1,1,0,0,1,1,undirected graph
+SNAP,as-735,7716,7716,26467,1,1,0,0,1,1,undirected graph sequence
+SNAP,as-Skitter,1696415,1696415,22190596,1,1,0,0,1,1,undirected graph
+SNAP,as-caida,31379,31379,106762,1,0,0,0,1,0.07869841329311927,directed weighted graph sequence
+SNAP,Oregon-1,11492,11492,46818,1,1,0,0,1,1,undirected graph sequence
+SNAP,Oregon-2,11806,11806,65460,1,1,0,0,1,1,undirected graph sequence
+SNAP,soc-sign-epinions,131828,131828,841372,1,0,0,0,0.3082520316984202,0.3018224331855771,directed weighted graph
+SNAP,soc-sign-Slashdot081106,77357,77357,516575,1,0,0,0,0.1859207278710739,0.1786110438948846,directed weighted graph
+SNAP,soc-sign-Slashdot090216,81871,81871,545671,1,0,0,0,0.175926519826049,0.168574104176326,directed weighted graph
+SNAP,soc-sign-Slashdot090221,82144,82144,549202,1,0,0,0,0.1774246998372184,0.1703271291801559,directed weighted graph
+Dziekonski,gsm_106857,589446,589446,21758924,1,0,1,0,1,1,electromagnetics problem
+Gleich,flickr,820878,820878,9837214,1,1,0,0,0.653017002578169,0.653017002578169,directed graph
+Gleich,minnesota,2642,2642,6606,1,1,0,0,1,1,undirected graph
+Gleich,usroads-48,126146,126146,323900,1,1,0,0,1,1,undirected graph
+Gleich,usroads,129164,129164,330870,1,1,0,0,1,1,undirected graph
+Fluorem,DK01R,903,903,11766,1,0,1,0,0.9614287029365737,0,computational fluid dynamics problem
+Fluorem,GT01R,7980,7980,430909,1,0,1,0,0.8811455350661695,9.457852263618717e-06,computational fluid dynamics problem
+Fluorem,PR02R,161070,161070,8185136,1,0,1,0,0.9476492341912441,0.0001697393815055858,computational fluid dynamics problem
+Fluorem,RM07R,381689,381689,37464962,1,0,1,0,0.9261667922354103,4.260681089287885e-06,computational fluid dynamics problem
+Rommes,ww_36_pmec_36,66,66,1194,1,0,1,0,0.3339191564147627,0,eigenvalue/model reduction problem
+Rommes,ww_vref_6405,13251,13251,48737,1,0,1,0,0.707540090603374,0.5856980072816208,eigenvalue/model reduction problem
+Rommes,xingo_afonso_itaipu,13250,13250,48735,1,0,1,0,0.7075597554196776,0.5857142857142857,eigenvalue/model reduction problem
+Rommes,mimo8x8_system,13309,13309,48872,1,0,1,0,0.7060291752177048,0.5844472793832159,eigenvalue/model reduction problem
+Rommes,mimo28x28_system,13251,13251,48737,1,0,1,0,0.707540090603374,0.5856980072816208,eigenvalue/model reduction problem
+Rommes,mimo46x46_system,13250,13250,48735,1,0,1,0,0.7075597554196776,0.5857142857142857,eigenvalue/model reduction problem
+Rommes,juba40k,40337,40337,144945,1,0,1,0,0.6934462083788981,0.5830536596402579,eigenvalue/model reduction problem
+Rommes,bauru5727,40366,40366,145019,1,0,1,0,0.6931521565005984,0.5828064190876452,eigenvalue/model reduction problem
+Rommes,zeros_nopss_13k,13296,13296,48827,1,0,1,0,0.7083056110002218,0.5842204479929031,eigenvalue/model reduction problem
+Rommes,descriptor_xingo6u,20738,20738,73916,1,0,1,0,0.6848202865775669,0.5745268504272713,eigenvalue/model reduction problem
+Rommes,nopss_11k,11685,11685,44941,1,0,1,0,0.7502077151335311,0.6233827893175075,eigenvalue/model reduction problem
+Rommes,xingo3012,20944,20944,74386,1,0,1,0,0.681002526603102,0.5712336093539642,eigenvalue/model reduction problem
+Rommes,bips98_606,7135,7135,34738,1,0,1,0,0.9086859688195991,0.7583878152166104,eigenvalue/model reduction problem
+Rommes,bips98_1142,9735,9735,40983,1,0,1,0,0.8020552507215579,0.6694154587839767,eigenvalue/model reduction problem
+Rommes,bips98_1450,11305,11305,44678,1,0,1,0,0.7593684272891549,0.6277809047012471,eigenvalue/model reduction problem
+Rommes,bips07_1693,13275,13275,49044,1,0,1,0,0.706761938919083,0.5845449278560985,eigenvalue/model reduction problem
+Rommes,bips07_1998,15066,15066,62198,1,0,1,0,0.7978660841804587,0.6687809795849786,eigenvalue/model reduction problem
+Rommes,bips07_2476,16861,16861,66498,1,0,1,0,0.7574573297176583,0.6349098739830914,eigenvalue/model reduction problem
+Rommes,bips07_3078,21128,21128,75729,1,0,1,0,0.6861363964744979,0.5750975292587777,eigenvalue/model reduction problem
+Rommes,M10PI_n1,528,528,1317,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M20PI_n1,1028,1028,2547,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M40PI_n1,2028,2028,5007,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M80PI_n1,4028,4028,9927,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M10PI_n,682,682,1633,1,0,1,0,1,0.1132075471698113,eigenvalue/model reduction problem
+Rommes,M20PI_n,1182,1182,2881,1,0,1,0,1,0.04173622704507512,eigenvalue/model reduction problem
+Rommes,M40PI_n,2182,2182,5341,1,0,1,0,1,0.02274795268425842,eigenvalue/model reduction problem
+Rommes,M80PI_n,4182,4182,10261,1,0,1,0,1,0.01191043353978085,eigenvalue/model reduction problem
+Rommes,S10PI_n1,528,528,1317,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S20PI_n1,1028,1028,2547,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S40PI_n1,2028,2028,5007,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S80PI_n1,4028,4028,9927,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S10PI_n,682,682,1633,1,0,1,0,1,0.1132075471698113,eigenvalue/model reduction problem
+Rommes,S20PI_n,1182,1182,2881,1,0,1,0,1,0.04173622704507512,eigenvalue/model reduction problem
+Rommes,S40PI_n,2182,2182,5341,1,0,1,0,1,0.02274795268425842,eigenvalue/model reduction problem
+Rommes,S80PI_n,4182,4182,10261,1,0,1,0,1,0.01191043353978085,eigenvalue/model reduction problem
+Williams,pdb1HYS,36417,36417,4344765,1,0,0,1,1,1,weighted undirected graph
+Williams,consph,83334,83334,6010480,1,0,1,1,1,1,2D/3D problem
+Williams,cant,62451,62451,4007383,1,0,1,1,1,1,2D/3D problem
+Williams,mac_econ_fwd500,206500,206500,1273389,1,0,0,0,0.05995735832675801,0.005599217836274841,economic problem
+Williams,mc2depi,525825,525825,2100225,1,0,1,0,0,0,2D/3D problem
+Williams,cop20k_A,121192,121192,2624331,1,0,1,0,1,1,2D/3D problem
+Williams,webbase-1M,1000005,1000005,3105536,1,0,0,0,0.09552554676231316,0.01588957844838191,weighted directed graph
diff --git a/CSparse/Makefile b/CSparse/Makefile
index b47121ecc3..ead3ffa775 100644
--- a/CSparse/Makefile
+++ b/CSparse/Makefile
@@ -1,6 +1,6 @@
# CSparse Makefile
-VERSION = 2.2.4
+VERSION = 2.2.5
C:
( cd Lib ; $(MAKE) )
diff --git a/CSparse/README.txt b/CSparse/README.txt
index b2396e4f5d..201a6e5684 100644
--- a/CSparse/README.txt
+++ b/CSparse/README.txt
@@ -1,5 +1,4 @@
-CSparse: a Concise Sparse Matrix package.
-Version 2.2.3, Copyright (c) 2006-2009, Timothy A. Davis, Sept 23, 2009.
+CSparse: Copyright (c) 2006-2011, Timothy A. Davis.
Refer to "Direct Methods for Sparse Linear Systems," Timothy A. Davis,
SIAM, Philadelphia, 2006. No detailed user guide is included in this
diff --git a/CSparse/Source/cs_util.c b/CSparse/Source/cs_util.c
index f714ed8f49..32d9a31e7f 100644
--- a/CSparse/Source/cs_util.c
+++ b/CSparse/Source/cs_util.c
@@ -35,7 +35,7 @@ cs *cs_spfree (cs *A)
cs_free (A->p) ;
cs_free (A->i) ;
cs_free (A->x) ;
- return (cs_free (A)) ; /* free the cs struct and return NULL */
+ return ((cs *) cs_free (A)) ; /* free the cs struct and return NULL */
}
/* free a numeric factorization */
@@ -46,7 +46,7 @@ csn *cs_nfree (csn *N)
cs_spfree (N->U) ;
cs_free (N->pinv) ;
cs_free (N->B) ;
- return (cs_free (N)) ; /* free the csn struct and return NULL */
+ return ((csn *) cs_free (N)) ; /* free the csn struct and return NULL */
}
/* free a symbolic factorization */
@@ -58,7 +58,7 @@ css *cs_sfree (css *S)
cs_free (S->parent) ;
cs_free (S->cp) ;
cs_free (S->leftmost) ;
- return (cs_free (S)) ; /* free the css struct and return NULL */
+ return ((css *) cs_free (S)) ; /* free the css struct and return NULL */
}
/* allocate a cs_dmperm or cs_scc result */
@@ -82,7 +82,7 @@ csd *cs_dfree (csd *D)
cs_free (D->q) ;
cs_free (D->r) ;
cs_free (D->s) ;
- return (cs_free (D)) ;
+ return ((csd *) cs_free (D)) ; /* free the csd struct and return NULL */
}
/* free workspace and return a sparse matrix result */
@@ -98,7 +98,7 @@ int *cs_idone (int *p, cs *C, void *w, int ok)
{
cs_spfree (C) ; /* free temporary matrix */
cs_free (w) ; /* free workspace */
- return (ok ? p : cs_free (p)) ; /* return result if OK, else free it */
+ return (ok ? p : (int *) cs_free (p)) ; /* return result, or free it */
}
/* free workspace and return a numeric factorization (Cholesky, LU, or QR) */
diff --git a/CSparse/Tcov/Makefile b/CSparse/Tcov/Makefile
index 57ce8442cb..fcdcd37297 100644
--- a/CSparse/Tcov/Makefile
+++ b/CSparse/Tcov/Makefile
@@ -100,3 +100,4 @@ purge: distclean
distclean: clean
rm -f cs_demo1 cs_demo2 readhb *.out *.a cs_demo3 cstcov_test cov.sort
rm -f cs_*.c
+ rm -rf *.dSYM
diff --git a/CXSparse/Demo/cs_demo.out b/CXSparse/Demo/cs_demo.out
index a01cece44b..3cc4a60357 100644
--- a/CXSparse/Demo/cs_demo.out
+++ b/CXSparse/Demo/cs_demo.out
@@ -1,4 +1,4 @@
-make[1]: Entering directory `/amd/netapp3/vol/research0a/research18/sparse2/SuiteSparse/CXSparse/Demo'
+make[1]: Entering directory `/cise/research/sparse2/SuiteSparse/CXSparse/Demo'
./cs_idemo < ../Matrix/t2
--- cs_idemo, size of CS_INT: 4
@@ -394,10 +394,10 @@ tiny entries dropped: 10
blocks: 38 singletons: 37 structural rank: 183
QR natural time: 0.01 resid: 1.42e-27
QR amd(A'*A) time: 0.00 resid: 3.35e-28
-LU natural time: 0.00 resid: 6.20e-28
+LU natural time: 0.01 resid: 6.20e-28
LU amd(A+A') time: 0.00 resid: 1.55e-27
LU amd(S'*S) time: 0.00 resid: 6.98e-28
-LU amd(A'*A) time: 0.01 resid: 6.98e-28
+LU amd(A'*A) time: 0.00 resid: 6.98e-28
./cs_demo2 < ../Matrix/west0067
--- Matrix: 67-by-67, nnz: 294 (sym: 0: nnz 0), norm: 6.14e+00
@@ -425,7 +425,7 @@ QR amd(A'*A) time: 0.00 resid: 1.61e-02
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
QR natural time: 0.12 resid: nan
-QR amd(A'*A) time: 0.15 resid: nan
+QR amd(A'*A) time: 0.16 resid: nan
./cs_demo2 < ../Matrix/bcsstk01
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
@@ -456,24 +456,24 @@ downdate: time: 0.00 (incl solve) resid: 3.74e-17
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
blocks: 75 singletons: 74 structural rank: 4884
-QR amd(A'*A) time: 1.98 resid: 2.01e-22
-LU amd(A+A') time: 1.04 resid: 1.10e-22
-LU amd(S'*S) time: 0.99 resid: 1.28e-22
-LU amd(A'*A) time: 1.03 resid: 1.78e-22
-Chol amd(A+A') time: 0.40 resid: 1.19e-22
+QR amd(A'*A) time: 1.66 resid: 2.01e-22
+LU amd(A+A') time: 0.98 resid: 1.10e-22
+LU amd(S'*S) time: 0.95 resid: 1.28e-22
+LU amd(A'*A) time: 0.99 resid: 1.78e-22
+Chol amd(A+A') time: 0.31 resid: 1.19e-22
./cs_demo3 < ../Matrix/bcsstk16
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
chol then update/downdate amd(A+A')
symbolic chol time 0.02
-numeric chol time 0.35
+numeric chol time 0.30
solve chol time 0.00
original: resid: 1.19e-22
update: time: 0.00
-update: time: 0.01 (incl solve) resid: 1.12e-23
-rechol: time: 0.37 (incl solve) resid: 1.17e-23
-downdate: time: 0.00
+update: time: 0.00 (incl solve) resid: 1.12e-23
+rechol: time: 0.31 (incl solve) resid: 1.17e-23
+downdate: time: 0.01
downdate: time: 0.01 (incl solve) resid: 4.09e-22
./cs_di_demo1 < ../Matrix/t1
T:
@@ -562,11 +562,11 @@ LU amd(A'*A) time: 0.00 resid: 1.53e-17
zero entries dropped: 71
tiny entries dropped: 10
blocks: 38 singletons: 37 structural rank: 183
-QR natural time: 0.00 resid: 1.42e-27
+QR natural time: 0.01 resid: 1.42e-27
QR amd(A'*A) time: 0.00 resid: 3.35e-28
-LU natural time: 0.01 resid: 6.20e-28
+LU natural time: 0.00 resid: 6.20e-28
LU amd(A+A') time: 0.00 resid: 1.55e-27
-LU amd(S'*S) time: 0.00 resid: 6.98e-28
+LU amd(S'*S) time: 0.01 resid: 6.98e-28
LU amd(A'*A) time: 0.00 resid: 6.98e-28
./cs_di_demo2 < ../Matrix/west0067
@@ -595,7 +595,7 @@ QR amd(A'*A) time: 0.00 resid: 1.61e-02
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
QR natural time: 0.12 resid: nan
-QR amd(A'*A) time: 0.16 resid: nan
+QR amd(A'*A) time: 0.15 resid: nan
./cs_di_demo2 < ../Matrix/bcsstk01
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
@@ -626,23 +626,23 @@ downdate: time: 0.00 (incl solve) resid: 3.74e-17
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
blocks: 75 singletons: 74 structural rank: 4884
-QR amd(A'*A) time: 1.73 resid: 2.01e-22
-LU amd(A+A') time: 0.93 resid: 1.10e-22
-LU amd(S'*S) time: 0.98 resid: 1.28e-22
-LU amd(A'*A) time: 1.00 resid: 1.78e-22
-Chol amd(A+A') time: 0.39 resid: 1.19e-22
+QR amd(A'*A) time: 1.67 resid: 2.01e-22
+LU amd(A+A') time: 0.98 resid: 1.10e-22
+LU amd(S'*S) time: 0.95 resid: 1.28e-22
+LU amd(A'*A) time: 0.98 resid: 1.78e-22
+Chol amd(A+A') time: 0.32 resid: 1.19e-22
./cs_di_demo3 < ../Matrix/bcsstk16
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
chol then update/downdate amd(A+A')
-symbolic chol time 0.03
-numeric chol time 0.36
-solve chol time 0.02
+symbolic chol time 0.02
+numeric chol time 0.30
+solve chol time 0.00
original: resid: 1.19e-22
update: time: 0.00
update: time: 0.01 (incl solve) resid: 1.12e-23
-rechol: time: 0.38 (incl solve) resid: 1.17e-23
+rechol: time: 0.31 (incl solve) resid: 1.17e-23
downdate: time: 0.00
downdate: time: 0.01 (incl solve) resid: 4.09e-22
./cs_dl_demo1 < ../Matrix/t1
@@ -732,8 +732,8 @@ LU amd(A'*A) time: 0.00 resid: 1.53e-17
zero entries dropped: 71
tiny entries dropped: 10
blocks: 38 singletons: 37 structural rank: 183
-QR natural time: 0.00 resid: 1.42e-27
-QR amd(A'*A) time: 0.01 resid: 3.35e-28
+QR natural time: 0.01 resid: 1.42e-27
+QR amd(A'*A) time: 0.00 resid: 3.35e-28
LU natural time: 0.00 resid: 6.20e-28
LU amd(A+A') time: 0.00 resid: 1.55e-27
LU amd(S'*S) time: 0.00 resid: 6.98e-28
@@ -765,7 +765,7 @@ QR amd(A'*A) time: 0.00 resid: 1.61e-02
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
QR natural time: 0.13 resid: nan
-QR amd(A'*A) time: 0.16 resid: nan
+QR amd(A'*A) time: 0.17 resid: nan
./cs_dl_demo2 < ../Matrix/bcsstk01
--- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
@@ -796,23 +796,23 @@ downdate: time: 0.00 (incl solve) resid: 3.74e-17
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
blocks: 75 singletons: 74 structural rank: 4884
-QR amd(A'*A) time: 1.92 resid: 2.01e-22
-LU amd(A+A') time: 1.01 resid: 1.10e-22
-LU amd(S'*S) time: 1.09 resid: 1.28e-22
+QR amd(A'*A) time: 1.87 resid: 2.01e-22
+LU amd(A+A') time: 1.00 resid: 1.10e-22
+LU amd(S'*S) time: 0.94 resid: 1.28e-22
LU amd(A'*A) time: 0.99 resid: 1.78e-22
-Chol amd(A+A') time: 0.51 resid: 1.19e-22
+Chol amd(A+A') time: 0.39 resid: 1.19e-22
./cs_dl_demo3 < ../Matrix/bcsstk16
--- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
chol then update/downdate amd(A+A')
symbolic chol time 0.03
-numeric chol time 0.49
+numeric chol time 0.34
solve chol time 0.01
original: resid: 1.19e-22
update: time: 0.00
update: time: 0.01 (incl solve) resid: 1.12e-23
-rechol: time: 0.48 (incl solve) resid: 1.17e-23
+rechol: time: 0.36 (incl solve) resid: 1.17e-23
downdate: time: 0.00
downdate: time: 0.01 (incl solve) resid: 4.09e-22
./cs_ci_demo1 < ../Matrix/t2
@@ -929,7 +929,7 @@ LU amd(A'*A) time: 0.00 resid: 4.76e-17
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
QR natural time: 0.41 resid: nan
-QR amd(A'*A) time: 0.48 resid: nan
+QR amd(A'*A) time: 0.45 resid: nan
./cs_ci_demo2 < ../Matrix/young1c
--- Matrix: 841-by-841, nnz: 4089 (sym: 0: nnz 0), norm: 7.30e+02
@@ -937,16 +937,16 @@ blocks: 1 singletons: 0 structural rank: 841
QR natural time: 0.03 resid: 1.81e-16
QR amd(A'*A) time: 0.02 resid: 1.57e-16
LU natural time: 0.01 resid: 1.39e-16
-LU amd(A+A') time: 0.02 resid: 2.95e-16
-LU amd(S'*S) time: 0.01 resid: 3.37e-16
-LU amd(A'*A) time: 0.00 resid: 3.37e-16
+LU amd(A+A') time: 0.01 resid: 2.95e-16
+LU amd(S'*S) time: 0.00 resid: 3.37e-16
+LU amd(A'*A) time: 0.01 resid: 3.37e-16
./cs_ci_demo2 < ../Matrix/qc324
--- Matrix: 324-by-324, nnz: 26730 (sym: 0: nnz 0), norm: 1.71e+00
blocks: 1 singletons: 0 structural rank: 324
-QR natural time: 0.07 resid: 9.42e-17
+QR natural time: 0.06 resid: 9.42e-17
QR amd(A'*A) time: 0.07 resid: 8.94e-17
-LU natural time: 0.03 resid: 6.01e-17
+LU natural time: 0.02 resid: 6.01e-17
LU amd(A+A') time: 0.03 resid: 4.05e-17
LU amd(S'*S) time: 0.03 resid: 4.71e-17
LU amd(A'*A) time: 0.03 resid: 4.71e-17
@@ -954,7 +954,7 @@ LU amd(A'*A) time: 0.03 resid: 4.71e-17
--- Matrix: 1600-by-1600, nnz: 7840 (sym: 0: nnz 0), norm: 1.41e+01
blocks: 1 singletons: 0 structural rank: 1600
-QR amd(A'*A) time: 0.05 resid: 1.04e-15
+QR amd(A'*A) time: 0.04 resid: 1.04e-15
LU amd(A+A') time: 0.01 resid: 3.55e-16
LU amd(S'*S) time: 0.02 resid: 4.03e-16
LU amd(A'*A) time: 0.02 resid: 4.03e-16
@@ -993,7 +993,7 @@ QR amd(A'*A) time: 0.01 resid: 6.15e-25
LU amd(A+A') time: 0.01 resid: 2.33e-25
LU amd(S'*S) time: 0.01 resid: 3.96e-25
LU amd(A'*A) time: 0.00 resid: 3.96e-25
-Chol amd(A+A') time: 0.01 resid: 1.58e-25
+Chol amd(A+A') time: 0.00 resid: 1.58e-25
./cs_ci_demo3 < ../Matrix/mhd1280b
--- Matrix: 1280-by-1280, nnz: 12029 (sym: -1: nnz 22778), norm: 8.00e+01
@@ -1005,7 +1005,7 @@ solve chol time 0.00
original: resid: 1.51e-25
update: time: 0.00
update: time: 0.00 (incl solve) resid: 1.75e-25
-rechol: time: 0.00 (incl solve) resid: 1.71e-25
+rechol: time: 0.01 (incl solve) resid: 1.71e-25
downdate: time: 0.00
downdate: time: 0.00 (incl solve) resid: 5.85e-25
./cs_cl_demo1 < ../Matrix/t2
@@ -1121,8 +1121,8 @@ LU amd(A'*A) time: 0.00 resid: 4.76e-17
--- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
blocks: 10 singletons: 8 structural rank: 448
-QR natural time: 0.51 resid: nan
-QR amd(A'*A) time: 0.52 resid: nan
+QR natural time: 0.42 resid: nan
+QR amd(A'*A) time: 0.45 resid: nan
./cs_cl_demo2 < ../Matrix/young1c
--- Matrix: 841-by-841, nnz: 4089 (sym: 0: nnz 0), norm: 7.30e+02
@@ -1138,18 +1138,18 @@ LU amd(A'*A) time: 0.01 resid: 3.37e-16
--- Matrix: 324-by-324, nnz: 26730 (sym: 0: nnz 0), norm: 1.71e+00
blocks: 1 singletons: 0 structural rank: 324
QR natural time: 0.06 resid: 9.42e-17
-QR amd(A'*A) time: 0.08 resid: 8.94e-17
+QR amd(A'*A) time: 0.07 resid: 8.94e-17
LU natural time: 0.03 resid: 6.01e-17
-LU amd(A+A') time: 0.03 resid: 4.05e-17
+LU amd(A+A') time: 0.02 resid: 4.05e-17
LU amd(S'*S) time: 0.03 resid: 4.71e-17
LU amd(A'*A) time: 0.03 resid: 4.71e-17
./cs_cl_demo2 < ../Matrix/neumann
--- Matrix: 1600-by-1600, nnz: 7840 (sym: 0: nnz 0), norm: 1.41e+01
blocks: 1 singletons: 0 structural rank: 1600
-QR amd(A'*A) time: 0.05 resid: 1.04e-15
+QR amd(A'*A) time: 0.04 resid: 1.04e-15
LU amd(A+A') time: 0.01 resid: 3.55e-16
-LU amd(S'*S) time: 0.02 resid: 4.03e-16
+LU amd(S'*S) time: 0.03 resid: 4.03e-16
LU amd(A'*A) time: 0.02 resid: 4.03e-16
./cs_cl_demo2 < ../Matrix/c4
@@ -1185,8 +1185,8 @@ blocks: 20 singletons: 14 structural rank: 1280
QR amd(A'*A) time: 0.01 resid: 6.15e-25
LU amd(A+A') time: 0.01 resid: 2.33e-25
LU amd(S'*S) time: 0.01 resid: 3.96e-25
-LU amd(A'*A) time: 0.00 resid: 3.96e-25
-Chol amd(A+A') time: 0.01 resid: 1.58e-25
+LU amd(A'*A) time: 0.01 resid: 3.96e-25
+Chol amd(A+A') time: 0.00 resid: 1.58e-25
./cs_cl_demo3 < ../Matrix/mhd1280b
--- Matrix: 1280-by-1280, nnz: 12029 (sym: -1: nnz 22778), norm: 8.00e+01
@@ -1197,8 +1197,8 @@ numeric chol time 0.00
solve chol time 0.00
original: resid: 1.51e-25
update: time: 0.00
-update: time: 0.00 (incl solve) resid: 1.75e-25
-rechol: time: 0.01 (incl solve) resid: 1.71e-25
+update: time: 0.01 (incl solve) resid: 1.75e-25
+rechol: time: 0.00 (incl solve) resid: 1.71e-25
downdate: time: 0.00
downdate: time: 0.00 (incl solve) resid: 5.85e-25
-make[1]: Leaving directory `/amd/netapp3/vol/research0a/research18/sparse2/SuiteSparse/CXSparse/Demo'
+make[1]: Leaving directory `/cise/research/sparse2/SuiteSparse/CXSparse/Demo'
diff --git a/CXSparse/Doc/ChangeLog b/CXSparse/Doc/ChangeLog
index 11bbf5a732..29491885a7 100644
--- a/CXSparse/Doc/ChangeLog
+++ b/CXSparse/Doc/ChangeLog
@@ -1,3 +1,9 @@
+Jan 25, 2011: version 2.2.5
+
+ * minor fix to "make install"
+ * minor change to cs_util.c, typecast return (cs_free (...))
+ * minor fixes to UFget: help file, UFsettings.txt
+
Nov 30, 2009: version 2.2.4
* added "make install" and "make uninstall" to CXSparse
diff --git a/CXSparse/MATLAB/UFget/UFget_defaults.m b/CXSparse/MATLAB/UFget/UFget_defaults.m
index 00924c1b9a..a907e94bd8 100644
--- a/CXSparse/MATLAB/UFget/UFget_defaults.m
+++ b/CXSparse/MATLAB/UFget/UFget_defaults.m
@@ -31,7 +31,7 @@
f = -1 ;
try
- f = fopen (sprintf ('%sUFsettings.txt', s), 'r') ;
+ f = fopen (sprintf ('%sUFsettings.txt', this), 'r') ;
if (f >= 0)
% get the location of the mat directory
s = fgetl (f) ;
diff --git a/CXSparse/MATLAB/UFget/UFgui.jar b/CXSparse/MATLAB/UFget/UFgui.jar
index 51c14e28c5..756923a64d 100644
Binary files a/CXSparse/MATLAB/UFget/UFgui.jar and b/CXSparse/MATLAB/UFget/UFgui.jar differ
diff --git a/CXSparse/MATLAB/UFget/UFgui.java b/CXSparse/MATLAB/UFget/UFgui.java
index 2f4f635e2b..d4f1136bd8 100644
--- a/CXSparse/MATLAB/UFget/UFgui.java
+++ b/CXSparse/MATLAB/UFget/UFgui.java
@@ -645,7 +645,7 @@ public void actionPerformed (ActionEvent e)
real_group.add (real_either_Button) ;
real_yes_Button.setToolTipText
- ("Select 'real' for real matrices only.") ;
+ ("Select 'real' for real matrices only (includes integer and binary).") ;
real_no_Button.setToolTipText
("Select 'complex' for complex matrices only.") ;
real_either_Button.setToolTipText
@@ -1172,7 +1172,7 @@ else if (k == 0)
"# of rows in the matrix", // 7:nrows
"# of columns in the matrix", // 8:ncols
"# of nonzeros in the matrix", // 9:nnz
- "if the matrix is real", // 10:isReal
+ "if the matrix is real (not complex)", // 10:isReal
"if the matrix is binary", // 11:isBinary
"if the matrix arises from a 2D/3D discretization", // 12:isND
"if the matrix is symmetric positive definite", // 13:posdef
diff --git a/CXSparse/MATLAB/UFget/UFhelp.html b/CXSparse/MATLAB/UFget/UFhelp.html
index 01775b2093..935a905acf 100644
--- a/CXSparse/MATLAB/UFget/UFhelp.html
+++ b/CXSparse/MATLAB/UFget/UFhelp.html
@@ -21,13 +21,17 @@ 1. Overview
UFgui is a Java GUI interface to the University of Florida Sparse Matrix
Collection at http://www.cise.ufl.edu/research/sparse/matrices. It provides an
easy way to select matrices from the collection based on their matrix
-properties. As of September 2009, there were 2255 matrices ranging in size
+properties. As of October 2010, there were 2328 matrices ranging in size
from 1-by-2 (with a single nonzero entry) to a square matrix with nearly 28
million rows and 760 million entries. The total size of the collection in all
-three formats exceeds 40 GB, and is constantly growing in size.
+three formats exceeds 47 GB, and is constantly growing in size.
2. Quick Start
+First, download the UFget archive (tar.gz or zip file), and uncompress it.
+Open the UFget folder.
+
+
If your web browswer requires an HTTP proxy, or if you wish to change
the download location, first see the Customization section below,
to configure UFgui before you run it.
@@ -40,16 +44,23 @@
2. Quick Start
java -jar UFgui.jar
+If the above command fails, then you need to install Java.
+See
+http://www.java.com/en/download/manual.jsp for details.
+
+
You can skip reading this document by simply navigating the GUI itself. Most
of the buttons, check boxes, lists, and table columns have a short "tool tip"
which is visible if you hover your mouse over the item.
When the UFgui starts, it checks for any missing matrix icons and
-downloads a new table if needed.
+downloads a new table if needed. This might take a few minutes, so
+just sit back and enjoy the slideshow. It will only happen occassionaly.
3. A Sparse Matrix Problem
-The UF Sparse Matrix Collection a simplified name. It is actually a collection
+The UF Sparse Matrix Collection is a simplified name. It is actually a
+collection
of sparse matrix problems, not just sparse matrices. Each problem
includes one primary sparse matrix and meta-data about that matrix. Some
problems include additional matrices and vectors (sparse or dense) such as
@@ -184,6 +195,11 @@ 5. Selecting Matrices
the list to add a single item to your highlighted choices. To clear your
choices, click the Reset criteria button, described below.
+ When you select/deselect matrices, the boxes to the left of each matrix in
+the Table of Matrices get checked/unchecked. You still see all the matrices
+in the list, because you can then modify your selection by checking/unchecking
+matrices one at a time in the Table itself.
+
At the bottom of the Selection Criteria panel is a row of buttons:
@@ -279,9 +295,13 @@
5. Selecting Matrices
- real: this box is checked if the matrix is real.
It is complex otherwise.
+ Note that real matrices include any matrix that is not
+ complex. In particular, integer and binary matrices are
+ considered real in this search criterion.
- binary: this box is checked if the matrix is binary.
- It is non-binary otherwise (there are no binary complex matrices).
+ It is non-binary otherwise (there are no binary complex matrices,
+ so any matrix that is binary is also marked as real).
- 2D/3D: this box is checked if the matrix comes
from a discretization of a 2D or 3D geometry.
@@ -449,7 +469,7 @@
7. Limitations and known issues
8. Copyright and License
-Copyright (c) 2009, Timothy A. Davis. All rights reserved.
+Copyright (c) 2009-2010, Timothy A. Davis. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -479,6 +499,8 @@
8. Copyright and License
9. Version and Change-Log
+- Version 1.0.4, October 27, 2010. Update to this help file only.
+
- Version 1.0.3, October 9, 2009. Removed the Update button which when
clicked would download a fresh copy of matrices/UFstats.csv. UFgui
updates itself automatically every 30 days. If you want to force a
@@ -506,8 +528,12 @@
9. Version and Change-Log
10. For Further Help
Contact the author of this UFgui program, and the maintainer of the UF Sparse
-Matrix Collection: Tim Davis (http://www.cise.ufl.edu/~davis, email
-davis@cise.ufl.edu or DrTimothyAldenDavis@gmail.com). To print this document,
+Matrix Collection: Tim Davis (
+http://www.cise.ufl.edu/~davis, email
+davis@cise.ufl.edu
+or
+DrTimothyAldenDavis@gmail.com).
+To print this document,
open the file UFhelp.html in your favorite web browser.
11. Acknowledgements
diff --git a/CXSparse/MATLAB/UFget/mat/UF_Index.mat b/CXSparse/MATLAB/UFget/mat/UF_Index.mat
index d8678f6e6d..5f549d931c 100644
Binary files a/CXSparse/MATLAB/UFget/mat/UF_Index.mat and b/CXSparse/MATLAB/UFget/mat/UF_Index.mat differ
diff --git a/CXSparse/MATLAB/UFget/matrices/UFstats.csv b/CXSparse/MATLAB/UFget/matrices/UFstats.csv
index e8d55cb937..1c828a6057 100644
--- a/CXSparse/MATLAB/UFget/matrices/UFstats.csv
+++ b/CXSparse/MATLAB/UFget/matrices/UFstats.csv
@@ -1,5 +1,5 @@
-2272
-02-Nov-2009 14:30:41
+2379
+14-Jan-2011 15:51:12
HB,1138_bus,1138,1138,4054,1,0,0,1,1,1,power network problem
HB,494_bus,494,494,1666,1,0,0,1,1,1,power network problem
HB,662_bus,662,662,2474,1,0,0,1,1,1,power network problem
@@ -2272,3 +2272,110 @@ Puri,ABACUS_shell_ud,23412,23412,218484,1,0,1,0,1,0.9753731955380578,model reduc
Puri,ABACUS_shell_ld,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
Puri,ABACUS_shell_md,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
Puri,ABACUS_shell_hd,23412,23412,218484,0,0,1,0,1,0.8850885826771654,model reduction problem
+Stevenson,LargeRegFile,2111154,801374,4944201,1,0,0,0,0,0,circuit simulation problem
+Freescale,memchip,2707524,2707524,13343948,1,0,0,0,0.9058013004223939,0.4015860962358702,circuit simulation problem
+Freescale,transient,178866,178866,961368,1,0,0,0,0.9996742983044353,0.243597788123496,circuit simulation problem
+Freescale,circuit5M,5558326,5558326,59524291,1,0,0,0,0.9999998517635799,0.4198865531852634,circuit simulation problem
+Freescale,circuit5M_dc,3523317,3523317,14865409,1,0,0,0,0.9072118240231114,0.7150571517141635,circuit simulation problem
+Grund,poli3,16955,16955,37849,1,0,0,0,0.00507322676366421,0.0005743275581506652,economic problem
+Grund,poli4,33833,33833,73249,1,0,0,0,0.003551857113862391,0.0002029632636492795,economic problem
+Belcastro,human_gene1,22283,22283,24669643,1,0,0,0,1,1,undirected weighted graph
+Belcastro,human_gene2,14340,14340,18068388,1,0,0,0,1,1,undirected weighted graph
+Belcastro,mouse_gene,45101,45101,28967291,1,0,0,0,1,1,undirected weighted graph
+Um,offshore,259789,259789,4242673,1,0,1,1,1,1,electromagnetics problem
+SNAP,soc-Epinions1,75888,75888,508837,1,1,0,0,0.405226035056413,0.405226035056413,directed graph
+SNAP,soc-LiveJournal1,4847571,4847571,68993773,1,1,0,0,0.7484193555024753,0.7484193555024753,directed graph
+SNAP,soc-Slashdot0811,77360,77360,905468,1,1,0,0,0.8669352939826918,0.8669352939826918,directed graph
+SNAP,soc-Slashdot0902,82168,82168,948464,1,1,0,0,0.8410650442849082,0.8410650442849082,directed graph
+SNAP,wiki-Vote,8297,8297,103689,1,1,0,0,0.0564572905515532,0.0564572905515532,directed graph
+SNAP,email-EuAll,265214,265214,420045,1,1,0,0,0.2600511748250413,0.2600511748250413,directed graph
+SNAP,email-Enron,36692,36692,367662,1,1,0,0,1,1,directed graph
+SNAP,wiki-Talk,2394385,2394385,5021410,1,1,0,0,0.1441208744157517,0.1441208744157517,directed graph
+SNAP,cit-HepPh,34546,34546,421578,1,1,0,0,0.003117186276789061,0.003117186276789061,directed graph
+SNAP,cit-HepTh,27770,27770,352807,1,1,0,0,0.002738343613933237,0.002738343613933237,directed graph
+SNAP,cit-Patents,3774768,3774768,16518948,1,1,0,0,0,0,directed graph
+SNAP,ca-AstroPh,18772,18772,396160,1,1,0,0,1,1,undirected graph
+SNAP,ca-CondMat,23133,23133,186936,1,1,0,0,1,1,undirected graph
+SNAP,ca-GrQc,5242,5242,28980,1,1,0,0,1,1,undirected graph
+SNAP,ca-HepPh,12008,12008,237010,1,1,0,0,1,1,undirected graph
+SNAP,ca-HepTh,9877,9877,51971,1,1,0,0,1,1,undirected graph
+SNAP,web-BerkStan,685230,685230,7600595,1,1,0,0,0.2502764586193581,0.2502764586193581,directed graph
+SNAP,web-Google,916428,916428,5105039,1,1,0,0,0.3067510355944391,0.3067510355944391,directed graph
+SNAP,web-NotreDame,325729,325729,1497134,1,1,0,0,0.5165359238309862,0.5165359238309862,directed graph
+SNAP,web-Stanford,281903,281903,2312497,1,1,0,0,0.2766368994208425,0.2766368994208425,directed graph
+SNAP,amazon0302,262111,262111,1234877,1,1,0,0,0.5427018237443891,0.5427018237443891,directed graph
+SNAP,amazon0312,400727,400727,3200440,1,1,0,0,0.5315337891039982,0.5315337891039982,directed graph
+SNAP,amazon0505,410236,410236,3356824,1,1,0,0,0.5465803390347542,0.5465803390347542,directed graph
+SNAP,amazon0601,403394,403394,3387388,1,1,0,0,0.5573497928197183,0.5573497928197183,directed graph
+SNAP,p2p-Gnutella04,10879,10879,39994,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella05,8846,8846,31839,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella06,8717,8717,31525,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella08,6301,6301,20777,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella09,8114,8114,26013,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella24,26518,26518,65369,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella25,22687,22687,54705,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella30,36682,36682,88328,1,1,0,0,0,0,directed graph
+SNAP,p2p-Gnutella31,62586,62586,147892,1,1,0,0,0,0,directed graph
+SNAP,roadNet-CA,1971281,1971281,5533214,1,1,0,0,1,1,undirected graph
+SNAP,roadNet-PA,1090920,1090920,3083796,1,1,0,0,1,1,undirected graph
+SNAP,roadNet-TX,1393383,1393383,3843320,1,1,0,0,1,1,undirected graph
+SNAP,as-735,7716,7716,26467,1,1,0,0,1,1,undirected graph sequence
+SNAP,as-Skitter,1696415,1696415,22190596,1,1,0,0,1,1,undirected graph
+SNAP,as-caida,31379,31379,106762,1,0,0,0,1,0.07869841329311927,directed weighted graph sequence
+SNAP,Oregon-1,11492,11492,46818,1,1,0,0,1,1,undirected graph sequence
+SNAP,Oregon-2,11806,11806,65460,1,1,0,0,1,1,undirected graph sequence
+SNAP,soc-sign-epinions,131828,131828,841372,1,0,0,0,0.3082520316984202,0.3018224331855771,directed weighted graph
+SNAP,soc-sign-Slashdot081106,77357,77357,516575,1,0,0,0,0.1859207278710739,0.1786110438948846,directed weighted graph
+SNAP,soc-sign-Slashdot090216,81871,81871,545671,1,0,0,0,0.175926519826049,0.168574104176326,directed weighted graph
+SNAP,soc-sign-Slashdot090221,82144,82144,549202,1,0,0,0,0.1774246998372184,0.1703271291801559,directed weighted graph
+Dziekonski,gsm_106857,589446,589446,21758924,1,0,1,0,1,1,electromagnetics problem
+Gleich,flickr,820878,820878,9837214,1,1,0,0,0.653017002578169,0.653017002578169,directed graph
+Gleich,minnesota,2642,2642,6606,1,1,0,0,1,1,undirected graph
+Gleich,usroads-48,126146,126146,323900,1,1,0,0,1,1,undirected graph
+Gleich,usroads,129164,129164,330870,1,1,0,0,1,1,undirected graph
+Fluorem,DK01R,903,903,11766,1,0,1,0,0.9614287029365737,0,computational fluid dynamics problem
+Fluorem,GT01R,7980,7980,430909,1,0,1,0,0.8811455350661695,9.457852263618717e-06,computational fluid dynamics problem
+Fluorem,PR02R,161070,161070,8185136,1,0,1,0,0.9476492341912441,0.0001697393815055858,computational fluid dynamics problem
+Fluorem,RM07R,381689,381689,37464962,1,0,1,0,0.9261667922354103,4.260681089287885e-06,computational fluid dynamics problem
+Rommes,ww_36_pmec_36,66,66,1194,1,0,1,0,0.3339191564147627,0,eigenvalue/model reduction problem
+Rommes,ww_vref_6405,13251,13251,48737,1,0,1,0,0.707540090603374,0.5856980072816208,eigenvalue/model reduction problem
+Rommes,xingo_afonso_itaipu,13250,13250,48735,1,0,1,0,0.7075597554196776,0.5857142857142857,eigenvalue/model reduction problem
+Rommes,mimo8x8_system,13309,13309,48872,1,0,1,0,0.7060291752177048,0.5844472793832159,eigenvalue/model reduction problem
+Rommes,mimo28x28_system,13251,13251,48737,1,0,1,0,0.707540090603374,0.5856980072816208,eigenvalue/model reduction problem
+Rommes,mimo46x46_system,13250,13250,48735,1,0,1,0,0.7075597554196776,0.5857142857142857,eigenvalue/model reduction problem
+Rommes,juba40k,40337,40337,144945,1,0,1,0,0.6934462083788981,0.5830536596402579,eigenvalue/model reduction problem
+Rommes,bauru5727,40366,40366,145019,1,0,1,0,0.6931521565005984,0.5828064190876452,eigenvalue/model reduction problem
+Rommes,zeros_nopss_13k,13296,13296,48827,1,0,1,0,0.7083056110002218,0.5842204479929031,eigenvalue/model reduction problem
+Rommes,descriptor_xingo6u,20738,20738,73916,1,0,1,0,0.6848202865775669,0.5745268504272713,eigenvalue/model reduction problem
+Rommes,nopss_11k,11685,11685,44941,1,0,1,0,0.7502077151335311,0.6233827893175075,eigenvalue/model reduction problem
+Rommes,xingo3012,20944,20944,74386,1,0,1,0,0.681002526603102,0.5712336093539642,eigenvalue/model reduction problem
+Rommes,bips98_606,7135,7135,34738,1,0,1,0,0.9086859688195991,0.7583878152166104,eigenvalue/model reduction problem
+Rommes,bips98_1142,9735,9735,40983,1,0,1,0,0.8020552507215579,0.6694154587839767,eigenvalue/model reduction problem
+Rommes,bips98_1450,11305,11305,44678,1,0,1,0,0.7593684272891549,0.6277809047012471,eigenvalue/model reduction problem
+Rommes,bips07_1693,13275,13275,49044,1,0,1,0,0.706761938919083,0.5845449278560985,eigenvalue/model reduction problem
+Rommes,bips07_1998,15066,15066,62198,1,0,1,0,0.7978660841804587,0.6687809795849786,eigenvalue/model reduction problem
+Rommes,bips07_2476,16861,16861,66498,1,0,1,0,0.7574573297176583,0.6349098739830914,eigenvalue/model reduction problem
+Rommes,bips07_3078,21128,21128,75729,1,0,1,0,0.6861363964744979,0.5750975292587777,eigenvalue/model reduction problem
+Rommes,M10PI_n1,528,528,1317,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M20PI_n1,1028,1028,2547,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M40PI_n1,2028,2028,5007,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M80PI_n1,4028,4028,9927,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,M10PI_n,682,682,1633,1,0,1,0,1,0.1132075471698113,eigenvalue/model reduction problem
+Rommes,M20PI_n,1182,1182,2881,1,0,1,0,1,0.04173622704507512,eigenvalue/model reduction problem
+Rommes,M40PI_n,2182,2182,5341,1,0,1,0,1,0.02274795268425842,eigenvalue/model reduction problem
+Rommes,M80PI_n,4182,4182,10261,1,0,1,0,1,0.01191043353978085,eigenvalue/model reduction problem
+Rommes,S10PI_n1,528,528,1317,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S20PI_n1,1028,1028,2547,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S40PI_n1,2028,2028,5007,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S80PI_n1,4028,4028,9927,1,0,1,0,1,0,eigenvalue/model reduction problem
+Rommes,S10PI_n,682,682,1633,1,0,1,0,1,0.1132075471698113,eigenvalue/model reduction problem
+Rommes,S20PI_n,1182,1182,2881,1,0,1,0,1,0.04173622704507512,eigenvalue/model reduction problem
+Rommes,S40PI_n,2182,2182,5341,1,0,1,0,1,0.02274795268425842,eigenvalue/model reduction problem
+Rommes,S80PI_n,4182,4182,10261,1,0,1,0,1,0.01191043353978085,eigenvalue/model reduction problem
+Williams,pdb1HYS,36417,36417,4344765,1,0,0,1,1,1,weighted undirected graph
+Williams,consph,83334,83334,6010480,1,0,1,1,1,1,2D/3D problem
+Williams,cant,62451,62451,4007383,1,0,1,1,1,1,2D/3D problem
+Williams,mac_econ_fwd500,206500,206500,1273389,1,0,0,0,0.05995735832675801,0.005599217836274841,economic problem
+Williams,mc2depi,525825,525825,2100225,1,0,1,0,0,0,2D/3D problem
+Williams,cop20k_A,121192,121192,2624331,1,0,1,0,1,1,2D/3D problem
+Williams,webbase-1M,1000005,1000005,3105536,1,0,0,0,0.09552554676231316,0.01588957844838191,weighted directed graph
diff --git a/CXSparse/Makefile b/CXSparse/Makefile
index 34794467d0..76ed252772 100644
--- a/CXSparse/Makefile
+++ b/CXSparse/Makefile
@@ -1,6 +1,6 @@
# CXSparse Makefile
-VERSION = 2.2.4
+VERSION = 2.2.5
default: C
@@ -38,11 +38,11 @@ distclean: purge
# install CSparse
install:
$(CP) Lib/libcxsparse.a $(INSTALL_LIB)/libcxsparse.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libcxsparse.$(VERSION).a libcxsparse.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libcxsparse.$(VERSION).a libcxsparse.a )
$(CP) Include/cs.h $(INSTALL_INCLUDE)
# uninstall CSparse
uninstall:
- $(RM) $(INSTALL_LIB)/libcxsparse.a
+ $(RM) $(INSTALL_LIB)/libcxsparse*.a
$(RM) $(INSTALL_INCLUDE)/cs.h
diff --git a/CXSparse/README.txt b/CXSparse/README.txt
index 32f59e5ae3..65e2a5898e 100644
--- a/CXSparse/README.txt
+++ b/CXSparse/README.txt
@@ -1,5 +1,5 @@
-CXSparse: a Concise Sparse Matrix package - Extended.
-Version 2.2.3, Copyright (c) 2006-2007, Timothy A. Davis.
+CXSparse: Copyright (c) 2006-2011, Timothy A. Davis.
+
Derived from CSparse. Conversion originally by David Bateman, Motorola,
and then modified by Tim Davis. ANSI C99 is required, with support for
the _Complex data type.
diff --git a/CXSparse/Source/cs_util.c b/CXSparse/Source/cs_util.c
index 2a42121174..5a6294200c 100644
--- a/CXSparse/Source/cs_util.c
+++ b/CXSparse/Source/cs_util.c
@@ -35,7 +35,7 @@ cs *cs_spfree (cs *A)
cs_free (A->p) ;
cs_free (A->i) ;
cs_free (A->x) ;
- return (cs_free (A)) ; /* free the cs struct and return NULL */
+ return ((cs *) cs_free (A)) ; /* free the cs struct and return NULL */
}
/* free a numeric factorization */
@@ -46,7 +46,7 @@ csn *cs_nfree (csn *N)
cs_spfree (N->U) ;
cs_free (N->pinv) ;
cs_free (N->B) ;
- return (cs_free (N)) ; /* free the csn struct and return NULL */
+ return ((csn *) cs_free (N)) ; /* free the csn struct and return NULL */
}
/* free a symbolic factorization */
@@ -58,7 +58,7 @@ css *cs_sfree (css *S)
cs_free (S->parent) ;
cs_free (S->cp) ;
cs_free (S->leftmost) ;
- return (cs_free (S)) ; /* free the css struct and return NULL */
+ return ((css *) cs_free (S)) ; /* free the css struct and return NULL */
}
/* allocate a cs_dmperm or cs_scc result */
@@ -82,7 +82,7 @@ csd *cs_dfree (csd *D)
cs_free (D->q) ;
cs_free (D->r) ;
cs_free (D->s) ;
- return (cs_free (D)) ;
+ return ((csd *) cs_free (D)) ; /* free the csd struct and return NULL */
}
/* free workspace and return a sparse matrix result */
@@ -98,7 +98,7 @@ CS_INT *cs_idone (CS_INT *p, cs *C, void *w, CS_INT ok)
{
cs_spfree (C) ; /* free temporary matrix */
cs_free (w) ; /* free workspace */
- return (ok ? p : cs_free (p)) ; /* return result if OK, else free it */
+ return (ok ? p : (CS_INT *) cs_free (p)) ; /* return result, or free it */
}
/* free workspace and return a numeric factorization (Cholesky, LU, or QR) */
diff --git a/CXSparse/Tcov/Makefile b/CXSparse/Tcov/Makefile
index 04609af611..b4e649fa03 100644
--- a/CXSparse/Tcov/Makefile
+++ b/CXSparse/Tcov/Makefile
@@ -316,3 +316,4 @@ distclean: clean
rm -f cs_idemo cs_ldemo
rm -f cs_*.c
rm -f cs*_di.c cs*_dl.c cs*_ci.c cs*_cl.c
+ rm -rf *.dSYM
diff --git a/CXSparse_newfiles.tar.gz b/CXSparse_newfiles.tar.gz
index 0402627eb9..353ab5c55c 100644
Binary files a/CXSparse_newfiles.tar.gz and b/CXSparse_newfiles.tar.gz differ
diff --git a/CXSparse_newfiles/Makefile b/CXSparse_newfiles/Makefile
index 34794467d0..76ed252772 100644
--- a/CXSparse_newfiles/Makefile
+++ b/CXSparse_newfiles/Makefile
@@ -1,6 +1,6 @@
# CXSparse Makefile
-VERSION = 2.2.4
+VERSION = 2.2.5
default: C
@@ -38,11 +38,11 @@ distclean: purge
# install CSparse
install:
$(CP) Lib/libcxsparse.a $(INSTALL_LIB)/libcxsparse.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libcxsparse.$(VERSION).a libcxsparse.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libcxsparse.$(VERSION).a libcxsparse.a )
$(CP) Include/cs.h $(INSTALL_INCLUDE)
# uninstall CSparse
uninstall:
- $(RM) $(INSTALL_LIB)/libcxsparse.a
+ $(RM) $(INSTALL_LIB)/libcxsparse*.a
$(RM) $(INSTALL_INCLUDE)/cs.h
diff --git a/CXSparse_newfiles/README.txt b/CXSparse_newfiles/README.txt
index 32f59e5ae3..65e2a5898e 100644
--- a/CXSparse_newfiles/README.txt
+++ b/CXSparse_newfiles/README.txt
@@ -1,5 +1,5 @@
-CXSparse: a Concise Sparse Matrix package - Extended.
-Version 2.2.3, Copyright (c) 2006-2007, Timothy A. Davis.
+CXSparse: Copyright (c) 2006-2011, Timothy A. Davis.
+
Derived from CSparse. Conversion originally by David Bateman, Motorola,
and then modified by Tim Davis. ANSI C99 is required, with support for
the _Complex data type.
diff --git a/CXSparse_newfiles/Tcov/Makefile b/CXSparse_newfiles/Tcov/Makefile
index 04609af611..b4e649fa03 100644
--- a/CXSparse_newfiles/Tcov/Makefile
+++ b/CXSparse_newfiles/Tcov/Makefile
@@ -316,3 +316,4 @@ distclean: clean
rm -f cs_idemo cs_ldemo
rm -f cs_*.c
rm -f cs*_di.c cs*_dl.c cs*_ci.c cs*_cl.c
+ rm -rf *.dSYM
diff --git a/Contents.m b/Contents.m
index ed867580f1..0e82e531ce 100644
--- a/Contents.m
+++ b/Contents.m
@@ -129,14 +129,15 @@
% MATLAB_Tools various simple m-files
% SSMULT sparse matrix times sparse matrix
% LINFACTOR solve Ax=b using LU or CHOL
+% UFcollection for managing the UF Sparse Matrix Collection
+% RBio for reading/writing Rutherford/Boeing sparse matrices
%
%-------------------------------------------------------------------------------
%
% For help on compiling SuiteSparse or the demos, testing functions, etc.,
-% please see the help for each individual package. UFcollection and RBio
-% are two additional toolboxes, for managing the UF Sparse Matrix Collection.
+% please see the help for each individual package.
%
-% Copyright 2008, Timothy A. Davis
+% Copyright 2011, Timothy A. Davis
% http://www.cise.ufl.edu/research/sparse
help SuiteSparse
diff --git a/KLU/Demo/kludemo.out b/KLU/Demo/kludemo.out
index 8d78ac7a94..e69bd3c4c2 100644
--- a/KLU/Demo/kludemo.out
+++ b/KLU/Demo/kludemo.out
@@ -5,73 +5,73 @@ x [2] = 3
x [3] = 4
x [4] = 5
./kludemo < ../Matrix/1c.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 1 nnz(A) 1 nnz(L+U+F) 1 resid 0
recip growth 1 condest 1 rcond 1 flops 0
peak memory usage: 492 bytes
./kludemo < ../Matrix/arrowc.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 100 nnz(A) 298 nnz(L+U+F) 298 resid 1.68007e-14
recip growth 0.019999 condest 295.99 rcond 0.019999 flops 297
peak memory usage: 32244 bytes
./kludemo < ../Matrix/arrow.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 100 nnz(A) 298 nnz(L+U+F) 298 resid 1.77636e-15
recip growth 0.0204082 condest 303 rcond 0.0204082 flops 297
peak memory usage: 20412 bytes
./kludemo < ../Matrix/impcol_a.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 207 nnz(A) 572 nnz(L+U+F) 615 resid 6.98492e-10
recip growth 0.00957447 condest 4.35093e+07 rcond 4.5277e-05 flops 259
peak memory usage: 34276 bytes
./kludemo < ../Matrix/w156.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 156 nnz(A) 362 nnz(L+U+F) 396 resid 6.23816e-08
recip growth 0.00889922 condest 1.79787e+09 rcond 0.000124785 flops 175
peak memory usage: 39516 bytes
./kludemo < ../Matrix/ctina.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 11 nnz(A) 36 nnz(L+U+F) 45 resid 4.44089e-16
recip growth 1 condest 56 rcond 1 flops 73
peak memory usage: 4268 bytes
./kluldemo < ../Matrix/1c.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 1 nnz(A) 1 nnz(L+U+F) 1 resid 0
recip growth 1 condest 1 rcond 1 flops 0
peak memory usage: 600 bytes
./kluldemo < ../Matrix/arrowc.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 100 nnz(A) 298 nnz(L+U+F) 298 resid 1.68007e-14
recip growth 0.019999 condest 295.99 rcond 0.019999 flops 297
peak memory usage: 39000 bytes
./kluldemo < ../Matrix/arrow.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 100 nnz(A) 298 nnz(L+U+F) 298 resid 1.77636e-15
recip growth 0.0204082 condest 303 rcond 0.0204082 flops 297
peak memory usage: 29584 bytes
./kluldemo < ../Matrix/impcol_a.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 207 nnz(A) 572 nnz(L+U+F) 615 resid 6.98492e-10
recip growth 0.00957447 condest 4.35093e+07 rcond 4.5277e-05 flops 259
peak memory usage: 44800 bytes
./kluldemo < ../Matrix/w156.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 156 nnz(A) 362 nnz(L+U+F) 396 resid 6.23816e-08
recip growth 0.00889922 condest 1.79787e+09 rcond 0.000124785 flops 175
peak memory usage: 47480 bytes
./kluldemo < ../Matrix/ctina.mtx
-KLU: Nov 30, 2009, version: 1.1.1
+KLU: Jan 25, 2011, version: 1.1.2
n 11 nnz(A) 36 nnz(L+U+F) 45 resid 4.44089e-16
recip growth 1 condest 56 rcond 1 flops 73
peak memory usage: 5144 bytes
diff --git a/KLU/Doc/ChangeLog b/KLU/Doc/ChangeLog
index db063e7199..e79855befc 100644
--- a/KLU/Doc/ChangeLog
+++ b/KLU/Doc/ChangeLog
@@ -1,3 +1,8 @@
+Jan 25, 2011: version 1.1.2
+
+ * minor fix to "make install"
+ * port of Tcov to Mac OSX 10.6.6
+
Nov 30, 2009: version 1.1.1
* added "make install" and "make uninstall"
diff --git a/KLU/Doc/KLU_UserGuide.bib b/KLU/Doc/KLU_UserGuide.bib
index e69f199f20..123d88e424 100644
--- a/KLU/Doc/KLU_UserGuide.bib
+++ b/KLU/Doc/KLU_UserGuide.bib
@@ -86,8 +86,8 @@ @article{DavisGilbertLarimoreNg00_algo
@article{ChenDavisHagerRajamanickam06,
author={Chen, Y. and Davis, T. A. and Hager, W. W. and Rajamanickam, S.},
- title={Algorithm 8xx: {CHOLMOD}, supernodal sparse {Cholesky} factorization and update/downdate},
- journal=TOMS, note={(submitted)}, year={2006}}
+ title={Algorithm 887: {CHOLMOD}, supernodal sparse {Cholesky} factorization and update/downdate},
+ journal=TOMS, year={2009}, volume={35}, number={3}}
@article{KarypisKumar98e,
author={Karypis, G. and Kumar, V.},
@@ -130,3 +130,23 @@ @techreport{Palamadai05
circuit simulation problems},
note={M.S. Thesis},
address={CISE Department, Univ. of Florida}}
+
+@article{DavisNatarajan10,
+ author = {Davis, Timothy A. and Palamadai Natarajan, Ekanathan},
+ title = {Algorithm 907: {KLU}, A Direct Sparse Solver for Circuit Simulation Problems},
+ journal = {ACM Trans. Math. Softw.},
+ volume = {37},
+ issue = {3},
+ month = {September},
+ year = {2010},
+ issn = {0098-3500},
+ pages = {36:1--36:17},
+ articleno = {36},
+ numpages = {17},
+ url = {http://doi.acm.org/10.1145/1824801.1824814},
+ doi = {http://doi.acm.org/10.1145/1824801.1824814},
+ acmid = {1824814},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {LU factorization, circuit simulation, sparse matrices},
+}
diff --git a/KLU/Doc/KLU_UserGuide.pdf b/KLU/Doc/KLU_UserGuide.pdf
index 1d712ec463..303d873c52 100644
Binary files a/KLU/Doc/KLU_UserGuide.pdf and b/KLU/Doc/KLU_UserGuide.pdf differ
diff --git a/KLU/Doc/KLU_UserGuide.tex b/KLU/Doc/KLU_UserGuide.tex
index 3618a77772..527985be45 100644
--- a/KLU/Doc/KLU_UserGuide.tex
+++ b/KLU/Doc/KLU_UserGuide.tex
@@ -26,9 +26,9 @@
and Lawrence Berkeley National Laboratory (with funding from Stanford
University and the SciDAC program).
}
-\and Eka Palamadai}
+\and Eka Palamadai Natarajan}
-\date{March 24, 2009}
+\date{VERSION 1.1.2, Jan 25, 2011}
\maketitle
%------------------------------------------------------------------------------
@@ -40,6 +40,7 @@
for finding a fill-reducing ordering (variants of approximate minimum degree,
and nested dissection), and a sparse left-looking LU factorization method
to factorize each block. A MATLAB interface is included.
+KLU appears as Collected Algorithm 907 of the ACM \cite{DavisNatarajan10}.
\end{abstract}
%------------------------------------------------------------------------------
@@ -51,7 +52,7 @@
\section{License and Copyright}
%------------------------------------------------------------------------------
-KLU Version 1.1.0, Copyright\copyright 2004-2009 University of Florida.
+KLU, Copyright\copyright 2004-2011 University of Florida.
All Rights Reserved.
KLU is available under alternate licenses; contact T. Davis for details.
@@ -233,12 +234,17 @@ \section{Overview}
For details of the permutation to block triangular form, left-looking sparse
LU factorization, and approximate minimum degree, refer to \cite{Davis06book}.
Concise versions of these methods can be found in the CSparse package. KLU is
-also the topic of a Master's thesis by Palamadai \cite{Palamadai05}; a copy of
+also the topic of a Master's thesis by Palamadai Natarajan \cite{Palamadai05};
+a copy of
the thesis can be found in the {\tt KLU/Doc} directory. It includes a
description of an earlier version of KLU; some of the function names and
parameter lists have changed in this version. The descriptions of the methods
used still applies to the current version of KLU, however.
+KLU appears as {\em Algorithm 907: KLU, a direct sparse solver for circuit
+simulation problems}, ACM Transactions on Mathematical Software, vol 37, no 3,
+2010.
+
%------------------------------------------------------------------------------
\section{Availability}
%------------------------------------------------------------------------------
diff --git a/KLU/Include/klu.h b/KLU/Include/klu.h
index 1f05df595f..92826285da 100644
--- a/KLU/Include/klu.h
+++ b/KLU/Include/klu.h
@@ -818,11 +818,11 @@ void *klu_l_realloc (size_t, size_t, size_t, void *, klu_l_common *) ;
* #endif
*/
-#define KLU_DATE "Nov 30, 2009"
+#define KLU_DATE "Jan 25, 2011"
#define KLU_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define KLU_MAIN_VERSION 1
#define KLU_SUB_VERSION 1
-#define KLU_SUBSUB_VERSION 1
+#define KLU_SUBSUB_VERSION 2
#define KLU_VERSION KLU_VERSION_CODE(KLU_MAIN_VERSION,KLU_SUB_VERSION)
#ifdef __cplusplus
diff --git a/KLU/Makefile b/KLU/Makefile
index 6d023b1d92..2e94544f16 100644
--- a/KLU/Makefile
+++ b/KLU/Makefile
@@ -1,4 +1,4 @@
-VERSION = 1.1.1
+VERSION = 1.1.2
default: demos
@@ -34,7 +34,7 @@ cov: library
# install KLU
install:
$(CP) Lib/libklu.a $(INSTALL_LIB)/libklu.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libklu.$(VERSION).a libklu.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libklu.$(VERSION).a libklu.a )
$(CP) Include/klu.h $(INSTALL_INCLUDE)
# uninstall KLU
diff --git a/KLU/README.txt b/KLU/README.txt
index f34791993b..cad82eb8a3 100644
--- a/KLU/README.txt
+++ b/KLU/README.txt
@@ -1,5 +1,5 @@
-KLU Version 1.1, March 24, 2009, by Timothy A. Davis and Ekanathan Palamadai.
-Copyright (C) 2004-2009, University of Florida
+KLU, Copyright (C) 2004-2011, University of Florida
+by Timothy A. Davis and Ekanathan Palamadai.
KLU is also available under other licenses; contact authors for details.
http://www.cise.ufl.edu/research/sparse
diff --git a/KLU/Tcov/Makefile b/KLU/Tcov/Makefile
index 57fc2c63f7..23ec565d2c 100644
--- a/KLU/Tcov/Makefile
+++ b/KLU/Tcov/Makefile
@@ -26,7 +26,7 @@ I = -I../../UFconfig -I../../AMD/Include -I../../COLAMD/Include \
-I../../BTF/Include -I../../CHOLMOD/Include -I../../CAMD/Include \
-I../../CCOLAMD/Include -I../../metis-4.0/Lib -I../Include -I../User
-PRETTY = grep -v "^\#" | indent -bl -nce -ss -bli0 -i4 -sob
+PRETTY = grep -v "^\#" | indent -bl -nce -bli0 -i4 -sob
all: purge libs klutest klultest
- ./klultests > klultests.out
diff --git a/KLU/Tcov/klutest.c b/KLU/Tcov/klutest.c
index 723503d1eb..3a9c0fd15d 100644
--- a/KLU/Tcov/klutest.c
+++ b/KLU/Tcov/klutest.c
@@ -381,7 +381,7 @@ static Int *randperm (Int n, Int seed)
static double do_1_solve (cholmod_sparse *A, cholmod_dense *B,
cholmod_dense *Xknown, Int *Puser, Int *Quser,
- KLU_common *Common, cholmod_common *ch, Int *nan)
+ KLU_common *Common, cholmod_common *ch, Int *isnan)
{
Int *Ai, *Ap ;
double *Ax, *Bx, *Xknownx, *Xx, *Ax2, *Axx ;
@@ -676,7 +676,7 @@ static double do_1_solve (cholmod_sparse *A, cholmod_dense *B,
if (SCALAR_IS_NAN (relresid))
{
- *nan = TRUE ;
+ *isnan = TRUE ;
}
else
{
@@ -716,7 +716,7 @@ static double do_1_solve (cholmod_sparse *A, cholmod_dense *B,
if (SCALAR_IS_NAN (relerr))
{
- *nan = TRUE ;
+ *isnan = TRUE ;
}
else
{
@@ -764,17 +764,17 @@ static double do_1_solve (cholmod_sparse *A, cholmod_dense *B,
/* test KLU with many options */
static double do_solves (cholmod_sparse *A, cholmod_dense *B, cholmod_dense *X,
- Int *Puser, Int *Quser, KLU_common *Common, cholmod_common *ch, Int *nan)
+ Int *Puser, Int *Quser, KLU_common *Common, cholmod_common *ch, Int *isnan)
{
double err, maxerr = 0 ;
Int n = A->nrow, sflag ;
- *nan = FALSE ;
+ *isnan = FALSE ;
/* ---------------------------------------------------------------------- */
/* test KLU with the system A*X=B and default options */
/* ---------------------------------------------------------------------- */
- maxerr = do_1_solve (A, B, X, NULL, NULL, Common, ch, nan) ;
+ maxerr = do_1_solve (A, B, X, NULL, NULL, Common, ch, isnan) ;
/* ---------------------------------------------------------------------- */
/* test with non-default options */
@@ -798,7 +798,7 @@ static double do_solves (cholmod_sparse *A, cholmod_dense *B, cholmod_dense *X,
for (Common->ordering = 0 ; Common->ordering <= 3 ;
Common->ordering++)
{
- err = do_1_solve (A, B, X, NULL, NULL, Common, ch, nan) ;
+ err = do_1_solve (A, B, X, NULL, NULL, Common, ch, isnan) ;
maxerr = MAX (maxerr, err) ;
}
@@ -806,7 +806,7 @@ static double do_solves (cholmod_sparse *A, cholmod_dense *B, cholmod_dense *X,
Common->ordering = 3 ;
Common->user_data = &sflag ;
sflag = 0 ;
- err = do_1_solve (A, B, X, NULL, NULL, Common, ch, nan) ;
+ err = do_1_solve (A, B, X, NULL, NULL, Common, ch, isnan) ;
maxerr = MAX (maxerr, err) ;
Common->user_data = NULL ;
@@ -814,7 +814,7 @@ static double do_solves (cholmod_sparse *A, cholmod_dense *B, cholmod_dense *X,
Common->ordering = 2 ;
if (n < 200)
{
- err = do_1_solve (A, B, X, Puser, Quser, Common, ch, nan) ;
+ err = do_1_solve (A, B, X, Puser, Quser, Common, ch, isnan);
maxerr = MAX (maxerr, err) ;
}
}
@@ -847,7 +847,7 @@ int main (void)
Int *Ap, *Ai, *Puser, *Quser, *Gunk ;
double *Ax, *Bx, *Xx, *A2x ;
double one [2], zero [2], xsave, maxerr ;
- Int n, i, j, nz, save, isreal, k, nan ;
+ Int n, i, j, nz, save, isreal, k, isnan ;
KLU_symbolic *Symbolic, *Symbolic2 ;
KLU_numeric *Numeric ;
@@ -936,7 +936,7 @@ int main (void)
/* ---------------------------------------------------------------------- */
test_memory_handler (&Common) ;
- maxerr = do_solves (A, B, X, Puser, Quser, &Common, &ch, &nan) ;
+ maxerr = do_solves (A, B, X, Puser, Quser, &Common, &ch, &isnan) ;
/* ---------------------------------------------------------------------- */
/* basic error checking */
@@ -1366,7 +1366,7 @@ int main (void)
fprintf (stderr, " test FAILED") ;
printf (" test FAILED") ;
}
- if (nan)
+ if (isnan)
{
fprintf (stderr, " *") ;
printf (" *") ;
diff --git a/LDL/Demo/ldlamd.out b/LDL/Demo/ldlamd.out
index ac7fa11311..119ad85c93 100644
--- a/LDL/Demo/ldlamd.out
+++ b/LDL/Demo/ldlamd.out
@@ -5,7 +5,7 @@ Input matrix: name: Dense/0 n: 0 entries: 0
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -13,7 +13,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 0
@@ -35,7 +35,7 @@ Input matrix: name: Dense/0 n: 0 entries: 0 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -43,7 +43,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 0
@@ -65,7 +65,7 @@ Input matrix: name: Dense/1 n: 1 entries: 1
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -73,7 +73,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 1
nz, number of nonzeros in A: 1
@@ -115,7 +115,7 @@ Input matrix: name: Dense/1 n: 1 entries: 2 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -123,7 +123,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 1
nz, number of nonzeros in A: 1
@@ -165,7 +165,7 @@ Input matrix: name: Dense/2 n: 2 entries: 4
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -173,7 +173,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 2
nz, number of nonzeros in A: 4
@@ -215,7 +215,7 @@ Input matrix: name: Dense/2 n: 2 entries: 5 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -223,7 +223,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 2
nz, number of nonzeros in A: 4
@@ -265,7 +265,7 @@ Input matrix: name: Dense/3 n: 3 entries: 9
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -273,7 +273,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 3
nz, number of nonzeros in A: 9
@@ -315,7 +315,7 @@ Input matrix: name: Dense/3 n: 3 entries: 11 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -323,7 +323,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 3
nz, number of nonzeros in A: 9
@@ -365,7 +365,7 @@ Input matrix: name: HB/can_24 n: 24 entries: 160
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -373,7 +373,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
@@ -415,7 +415,7 @@ Input matrix: name: HB/can_24 n: 24 entries: 188 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -423,7 +423,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 24
nz, number of nonzeros in A: 160
@@ -465,7 +465,7 @@ Input matrix: name: FIDAP/ex5 n: 27 entries: 279
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -473,7 +473,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 27
nz, number of nonzeros in A: 279
@@ -515,7 +515,7 @@ Input matrix: name: FIDAP/ex5 n: 27 entries: 325 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -523,7 +523,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 27
nz, number of nonzeros in A: 279
@@ -565,7 +565,7 @@ Input matrix: name: HB/bcsstk01 n: 48 entries: 400
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -573,7 +573,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 400
@@ -615,7 +615,7 @@ Input matrix: name: HB/bcsstk01 n: 48 entries: 472 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -623,7 +623,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 400
@@ -665,7 +665,7 @@ Input matrix: name: HB/bcsstm01 n: 48 entries: 24
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -673,7 +673,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 24
@@ -715,7 +715,7 @@ Input matrix: name: HB/bcsstm01 n: 48 entries: 26 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -723,7 +723,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 24
@@ -765,7 +765,7 @@ Input matrix: name: Pothen/mesh1e1 n: 48 entries: 306
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -773,7 +773,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 306
@@ -815,7 +815,7 @@ Input matrix: name: Pothen/mesh1e1 n: 48 entries: 359 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -823,7 +823,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 306
@@ -865,7 +865,7 @@ Input matrix: name: Bai/bfwb62 n: 62 entries: 342
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -873,7 +873,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 62
nz, number of nonzeros in A: 342
@@ -915,7 +915,7 @@ Input matrix: name: Bai/bfwb62 n: 62 entries: 407 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -923,7 +923,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 62
nz, number of nonzeros in A: 342
@@ -965,7 +965,7 @@ Input matrix: name: HB/bcsstk02 n: 66 entries: 4356
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -973,7 +973,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 66
nz, number of nonzeros in A: 4356
@@ -1015,7 +1015,7 @@ Input matrix: name: HB/bcsstk02 n: 66 entries: 5175 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1023,7 +1023,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 66
nz, number of nonzeros in A: 4356
@@ -1065,7 +1065,7 @@ Input matrix: name: HB/bcsstm02 n: 66 entries: 66
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1073,7 +1073,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 66
nz, number of nonzeros in A: 66
@@ -1115,7 +1115,7 @@ Input matrix: name: HB/bcsstm02 n: 66 entries: 72 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1123,7 +1123,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 4
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 66
nz, number of nonzeros in A: 66
diff --git a/LDL/Demo/ldllamd.out b/LDL/Demo/ldllamd.out
index 8c1f63e5a1..d88efab65e 100644
--- a/LDL/Demo/ldllamd.out
+++ b/LDL/Demo/ldllamd.out
@@ -5,7 +5,7 @@ Input matrix: name: Dense/0 n: 0 entries: 0
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -13,7 +13,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 0
@@ -35,7 +35,7 @@ Input matrix: name: Dense/0 n: 0 entries: 0 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -43,7 +43,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 0
@@ -65,7 +65,7 @@ Input matrix: name: Dense/1 n: 1 entries: 1
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -73,7 +73,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 1
nz, number of nonzeros in A: 1
@@ -115,7 +115,7 @@ Input matrix: name: Dense/1 n: 1 entries: 2 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -123,7 +123,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 1
nz, number of nonzeros in A: 1
@@ -165,7 +165,7 @@ Input matrix: name: Dense/2 n: 2 entries: 4
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -173,7 +173,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 2
nz, number of nonzeros in A: 4
@@ -215,7 +215,7 @@ Input matrix: name: Dense/2 n: 2 entries: 5 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -223,7 +223,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 2
nz, number of nonzeros in A: 4
@@ -265,7 +265,7 @@ Input matrix: name: Dense/3 n: 3 entries: 9
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -273,7 +273,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 3
nz, number of nonzeros in A: 9
@@ -315,7 +315,7 @@ Input matrix: name: Dense/3 n: 3 entries: 11 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -323,7 +323,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 3
nz, number of nonzeros in A: 9
@@ -365,7 +365,7 @@ Input matrix: name: HB/can_24 n: 24 entries: 160
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -373,7 +373,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
@@ -415,7 +415,7 @@ Input matrix: name: HB/can_24 n: 24 entries: 188 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -423,7 +423,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 24
nz, number of nonzeros in A: 160
@@ -465,7 +465,7 @@ Input matrix: name: FIDAP/ex5 n: 27 entries: 279
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -473,7 +473,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 27
nz, number of nonzeros in A: 279
@@ -515,7 +515,7 @@ Input matrix: name: FIDAP/ex5 n: 27 entries: 325 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -523,7 +523,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 27
nz, number of nonzeros in A: 279
@@ -565,7 +565,7 @@ Input matrix: name: HB/bcsstk01 n: 48 entries: 400
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -573,7 +573,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 400
@@ -615,7 +615,7 @@ Input matrix: name: HB/bcsstk01 n: 48 entries: 472 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -623,7 +623,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 400
@@ -665,7 +665,7 @@ Input matrix: name: HB/bcsstm01 n: 48 entries: 24
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -673,7 +673,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 24
@@ -715,7 +715,7 @@ Input matrix: name: HB/bcsstm01 n: 48 entries: 26 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -723,7 +723,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 24
@@ -765,7 +765,7 @@ Input matrix: name: Pothen/mesh1e1 n: 48 entries: 306
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -773,7 +773,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 48
nz, number of nonzeros in A: 306
@@ -815,7 +815,7 @@ Input matrix: name: Pothen/mesh1e1 n: 48 entries: 359 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -823,7 +823,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 48
nz, number of nonzeros in A: 306
@@ -865,7 +865,7 @@ Input matrix: name: Bai/bfwb62 n: 62 entries: 342
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -873,7 +873,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 62
nz, number of nonzeros in A: 342
@@ -915,7 +915,7 @@ Input matrix: name: Bai/bfwb62 n: 62 entries: 407 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -923,7 +923,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 62
nz, number of nonzeros in A: 342
@@ -965,7 +965,7 @@ Input matrix: name: HB/bcsstk02 n: 66 entries: 4356
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -973,7 +973,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 66
nz, number of nonzeros in A: 4356
@@ -1015,7 +1015,7 @@ Input matrix: name: HB/bcsstk02 n: 66 entries: 5175 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1023,7 +1023,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 66
nz, number of nonzeros in A: 4356
@@ -1065,7 +1065,7 @@ Input matrix: name: HB/bcsstm02 n: 66 entries: 66
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1073,7 +1073,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK
n, dimension of A: 66
nz, number of nonzeros in A: 66
@@ -1115,7 +1115,7 @@ Input matrix: name: HB/bcsstm02 n: 66 entries: 72 (jumbled version)
--------------------------------------------------------
-AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
+AMD version 2.2.2, Jan 25, 2011: approximate minimum degree ordering
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
@@ -1123,7 +1123,7 @@ AMD version 2.2.1, Nov 30, 2009: approximate minimum degree ordering
size of AMD integer: 8
-AMD version 2.2.1, Nov 30, 2009, results:
+AMD version 2.2.2, Jan 25, 2011, results:
status: OK, but jumbled
n, dimension of A: 66
nz, number of nonzeros in A: 66
diff --git a/LDL/Demo/ldllmain.out b/LDL/Demo/ldllmain.out
new file mode 100644
index 0000000000..f4f8474354
--- /dev/null
+++ b/LDL/Demo/ldllmain.out
@@ -0,0 +1,334 @@
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/0 n: 0 entries: 0
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/0 n: 0 entries: 0 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/1 n: 1 entries: 1
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 0
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/1 n: 1 entries: 2 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 8.32667e-17
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 8.32667e-17
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/2 n: 2 entries: 4
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 1 Flop count: 3
+relative maxnorm of residual: 5.55112e-17
+Factorize A=LDL' and solve Ax=b
+Nz in L: 1 Flop count: 3
+relative maxnorm of residual: 5.55112e-17
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/2 n: 2 entries: 5 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 1 Flop count: 3
+relative maxnorm of residual: 1.11022e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 1 Flop count: 3
+relative maxnorm of residual: 1.11022e-16
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 9
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 3 Flop count: 11
+relative maxnorm of residual: 1.11022e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 3 Flop count: 11
+relative maxnorm of residual: 1.11022e-16
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 11 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 3 Flop count: 11
+relative maxnorm of residual: 1.38778e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 3 Flop count: 11
+relative maxnorm of residual: 1.38778e-16
+
+
+--------------------------------------------------------
+Input matrix: name: HB/can_24 n: 24 entries: 160
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 96 Flop count: 632
+Ax=b not solved since D(1,1) is zero.
+Factorize A=LDL' and solve Ax=b
+Nz in L: 146 Flop count: 1360
+Ax=b not solved since D(5,5) is zero.
+
+
+--------------------------------------------------------
+Input matrix: name: HB/can_24 n: 24 entries: 188 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 96 Flop count: 632
+Ax=b not solved since D(1,1) is zero.
+Factorize A=LDL' and solve Ax=b
+Nz in L: 146 Flop count: 1360
+Ax=b not solved since D(5,5) is zero.
+
+
+--------------------------------------------------------
+Input matrix: name: FIDAP/ex5 n: 27 entries: 279
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 126 Flop count: 954
+relative maxnorm of residual: 2.59625e-10
+Factorize A=LDL' and solve Ax=b
+Nz in L: 276 Flop count: 4206
+relative maxnorm of residual: 2.72848e-10
+
+
+--------------------------------------------------------
+Input matrix: name: FIDAP/ex5 n: 27 entries: 325 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 126 Flop count: 954
+relative maxnorm of residual: 3.27418e-10
+Factorize A=LDL' and solve Ax=b
+Nz in L: 276 Flop count: 4206
+relative maxnorm of residual: 2.32376e-10
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstk01 n: 48 entries: 400
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 441 Flop count: 5961
+relative maxnorm of residual: 2.38712e-13
+Factorize A=LDL' and solve Ax=b
+Nz in L: 829 Flop count: 20103
+relative maxnorm of residual: 2.27374e-13
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstk01 n: 48 entries: 472 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 441 Flop count: 5961
+relative maxnorm of residual: 2.27374e-13
+Factorize A=LDL' and solve Ax=b
+Nz in L: 829 Flop count: 20103
+relative maxnorm of residual: 3.83693e-13
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstm01 n: 48 entries: 24
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+Ax=b not solved since D(3,3) is zero.
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+Ax=b not solved since D(3,3) is zero.
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstm01 n: 48 entries: 26 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+Ax=b not solved since D(3,3) is zero.
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+Ax=b not solved since D(3,3) is zero.
+
+
+--------------------------------------------------------
+Input matrix: name: Pothen/mesh1e1 n: 48 entries: 306
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 288 Flop count: 2630
+relative maxnorm of residual: 5.96745e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 511 Flop count: 7383
+relative maxnorm of residual: 6.93889e-16
+
+
+--------------------------------------------------------
+Input matrix: name: Pothen/mesh1e1 n: 48 entries: 359 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 288 Flop count: 2630
+relative maxnorm of residual: 5.55112e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 511 Flop count: 7383
+relative maxnorm of residual: 5.55112e-16
+
+
+--------------------------------------------------------
+Input matrix: name: Bai/bfwb62 n: 62 entries: 342
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 226 Flop count: 1472
+relative maxnorm of residual: 5.55112e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 662 Flop count: 11350
+relative maxnorm of residual: 1.11022e-15
+
+
+--------------------------------------------------------
+Input matrix: name: Bai/bfwb62 n: 62 entries: 407 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 226 Flop count: 1472
+relative maxnorm of residual: 5.68434e-14
+Factorize A=LDL' and solve Ax=b
+Nz in L: 662 Flop count: 11350
+relative maxnorm of residual: 2.15827e-12
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstk02 n: 66 entries: 4356
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 2145 Flop count: 97955
+relative maxnorm of residual: 7.50219e-13
+Factorize A=LDL' and solve Ax=b
+Nz in L: 2145 Flop count: 97955
+relative maxnorm of residual: 7.50219e-13
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstk02 n: 66 entries: 5175 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 2145 Flop count: 97955
+relative maxnorm of residual: 8.59759e-13
+Factorize A=LDL' and solve Ax=b
+Nz in L: 2145 Flop count: 97955
+relative maxnorm of residual: 8.59759e-13
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstm02 n: 66 entries: 66
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 2.22045e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 2.22045e-16
+
+
+--------------------------------------------------------
+Input matrix: name: HB/bcsstm02 n: 66 entries: 72 (jumbled version)
+--------------------------------------------------------
+
+Factorize PAP'=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 2.22045e-16
+Factorize A=LDL' and solve Ax=b
+Nz in L: 0 Flop count: 0
+relative maxnorm of residual: 2.22045e-16
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/0 n: 0 entries: 0 (invalid matrix, Ap [0] = 99)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/2 n: 2 entries: 4 (invalid perm, P[1]=99)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 9 (invalid perm)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 9 (invalid Ap)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 9 (invalid Ai)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+
+--------------------------------------------------------
+Input matrix: name: Dense/3 n: 3 entries: 9 (invalid Ai)
+--------------------------------------------------------
+
+ldlmain: invalid matrix and/or permutation
+
+Largest residual during all tests: 3.27418e-10
+
+ldlmain: all tests passed
diff --git a/LDL/Demo/ldllsimple.out b/LDL/Demo/ldllsimple.out
new file mode 100644
index 0000000000..acb48b50a3
--- /dev/null
+++ b/LDL/Demo/ldllsimple.out
@@ -0,0 +1,11 @@
+Nonzeros in L, excluding diagonal: 13
+x [0] = 0.1
+x [1] = 0.2
+x [2] = 0.3
+x [3] = 0.4
+x [4] = 0.5
+x [5] = 0.6
+x [6] = 0.7
+x [7] = 0.8
+x [8] = 0.9
+x [9] = 1
diff --git a/LDL/Doc/ChangeLog b/LDL/Doc/ChangeLog
index efc71d87ec..d0a2e7b776 100644
--- a/LDL/Doc/ChangeLog
+++ b/LDL/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 2.0.3
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 2.0.2
* added "make install" and "make uninstall"
diff --git a/LDL/Doc/ldl_userguide.pdf b/LDL/Doc/ldl_userguide.pdf
index bfe0615e34..b881c8a213 100644
Binary files a/LDL/Doc/ldl_userguide.pdf and b/LDL/Doc/ldl_userguide.pdf differ
diff --git a/LDL/Doc/ldl_userguide.tex b/LDL/Doc/ldl_userguide.tex
index 6208a5960d..da4400e0d6 100644
--- a/LDL/Doc/ldl_userguide.tex
+++ b/LDL/Doc/ldl_userguide.tex
@@ -26,7 +26,7 @@
University and the SciDAC program).
}}
-\date{Nov 1, 2007}
+\date{VERSION 2.0.3, Jan 25, 2011}
\maketitle
diff --git a/LDL/Include/ldl.h b/LDL/Include/ldl.h
index 61f45151b4..76cbd0840c 100644
--- a/LDL/Include/ldl.h
+++ b/LDL/Include/ldl.h
@@ -95,10 +95,10 @@ UF_long ldl_l_valid_matrix ( UF_long n, UF_long Ap [ ], UF_long Ai [ ]) ;
/* === LDL version ========================================================== */
/* ========================================================================== */
-#define LDL_DATE "Nov 30, 2009"
+#define LDL_DATE "Jan 25, 2011"
#define LDL_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define LDL_MAIN_VERSION 2
#define LDL_SUB_VERSION 0
-#define LDL_SUBSUB_VERSION 2
+#define LDL_SUBSUB_VERSION 3
#define LDL_VERSION LDL_VERSION_CODE(LDL_MAIN_VERSION,LDL_SUB_VERSION)
diff --git a/LDL/Makefile b/LDL/Makefile
index 23fc28f864..2ef295bf79 100644
--- a/LDL/Makefile
+++ b/LDL/Makefile
@@ -2,7 +2,7 @@
# LDL Makefile
#------------------------------------------------------------------------------
-VERSION = 2.0.2
+VERSION = 2.0.3
default: demos
@@ -59,7 +59,7 @@ mex:
# install LDL
install:
$(CP) Lib/libldl.a $(INSTALL_LIB)/libldl.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libldl.$(VERSION).a libldl.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libldl.$(VERSION).a libldl.a )
$(CP) Include/ldl.h $(INSTALL_INCLUDE)
# uninstall LDL
diff --git a/LDL/README.txt b/LDL/README.txt
index 7be8dd1f00..79512be479 100644
--- a/LDL/README.txt
+++ b/LDL/README.txt
@@ -1,4 +1,6 @@
-LDL Version 2.0: a sparse LDL' factorization and solve package.
+LDL Copyright (c) 2005-2011 by Timothy A. Davis. All Rights Reserved.
+
+LDL: a sparse LDL' factorization and solve package.
Written in C, with both a C and MATLAB mexFunction interface.
These routines are not terrifically fast (they do not use dense matrix kernels),
@@ -28,7 +30,6 @@ Quick start (for MATLAB users);
--------------------------------------------------------------------------------
-LDL Copyright (c) 2005 by Timothy A. Davis. All Rights Reserved.
LDL License:
diff --git a/MATLAB_Tools/spok/Contents.m b/MATLAB_Tools/spok/Contents.m
index 35740408eb..6605754841 100644
--- a/MATLAB_Tools/spok/Contents.m
+++ b/MATLAB_Tools/spok/Contents.m
@@ -22,4 +22,4 @@
% spok (A + 1i*A) % complex sparse
% spok (A > .5) % logical sparse
-% Copyright 2008, Tim Davis, University of Florida
+% Copyright 2008-2011, Tim Davis, University of Florida
diff --git a/MATLAB_Tools/spok/spok.m b/MATLAB_Tools/spok/spok.m
index 392601abbb..c432eeec58 100644
--- a/MATLAB_Tools/spok/spok.m
+++ b/MATLAB_Tools/spok/spok.m
@@ -30,6 +30,6 @@
%
% See also sparse.
-% Copyright 2008, Tim Davis, University of Florida
+% Copyright 2008-2011, Tim Davis, University of Florida
error ('spok mexFunction not installed') ;
diff --git a/MATLAB_Tools/spok/spok_install.m b/MATLAB_Tools/spok/spok_install.m
index 651d8f5179..a63ecaa488 100644
--- a/MATLAB_Tools/spok/spok_install.m
+++ b/MATLAB_Tools/spok/spok_install.m
@@ -8,10 +8,15 @@
%
% See also sparse, spok, spok_test
-% Copyright 2008, Tim Davis, University of Florida
+% Copyright 2008-2011, Tim Davis, University of Florida
help spok_install
-mex spok.c spok_mex.c
+is64 = ~isempty (strfind (computer, '64')) ;
+if (is64)
+ mex -largeArrayDims spok.c spok_mex.c
+else
+ mex spok.c spok_mex.c
+end
addpath (pwd)
fprintf ('Added the following directory to your path:\n') ;
diff --git a/MATLAB_Tools/spok/spok_mex.c b/MATLAB_Tools/spok/spok_mex.c
index 6c37b160d4..cc29031b8f 100644
--- a/MATLAB_Tools/spok/spok_mex.c
+++ b/MATLAB_Tools/spok/spok_mex.c
@@ -51,8 +51,8 @@ void mexFunction
return ;
}
- Ap = mxGetJc (pargin [0]) ;
- Ai = mxGetIr (pargin [0]) ;
+ Ap = (SPOK_INT *) mxGetJc (pargin [0]) ;
+ Ai = (SPOK_INT *) mxGetIr (pargin [0]) ;
m = mxGetM (pargin [0]) ;
n = mxGetN (pargin [0]) ;
nzmax = mxGetNzmax (pargin [0]) ;
diff --git a/MATLAB_Tools/spok/spok_test.m b/MATLAB_Tools/spok/spok_test.m
index 96ab741239..d7791ce65c 100644
--- a/MATLAB_Tools/spok/spok_test.m
+++ b/MATLAB_Tools/spok/spok_test.m
@@ -6,7 +6,7 @@
%
% See also sparse, spok, spok_install
-% Copyright 2008, Tim Davis, University of Florida
+% Copyright 2008-2011, Tim Davis, University of Florida
% compile and install spok
help spok ;
diff --git a/RBio/Demo/RBdemo.out b/RBio/Demo/RBdemo.out
new file mode 100644
index 0000000000..b69383359f
--- /dev/null
+++ b/RBio/Demo/RBdemo.out
@@ -0,0 +1,19 @@
+./RBdemo < ../RBio/private/west0479.rua
+
+===========================================================
+title: [1U 8 STAGE COLUMN SECTION, ALL SECTIONS RIGOROUS ( CHEM. ENG. )]
+status 0
+key [WEST0479] nrow 479 ncol 479
+mkind 0 skind 0 asize 3820 znz 22
+mtype from file: [RUA]
+(A) RBok status 0 0 0
+(Z) RBok status 0 0 0
+mtype from examining matrix: [rua]
+mtype after reading from file: [rua]
+raw nrow 479 ncol 479 nnz 1910 nelnz 0 xsize 1910
+mtype from raw read from file: [rua]
+(P) RBok status 0 0 0
+mtype of pattern: [pua]
+mtype of tril(A): [rua]
+(L) RBok status 0 0 22
+RBdemo OK
diff --git a/RBio/Doc/ChangeLog b/RBio/Doc/ChangeLog
index e060ddfe83..4d0b06fdd4 100644
--- a/RBio/Doc/ChangeLog
+++ b/RBio/Doc/ChangeLog
@@ -1,3 +1,7 @@
+Jan 25, 2011: version 2.0.1
+
+ * minor fix to "make install"
+
Nov 30, 2009: version 2.0.0
* rewrote the entire package in C. The advantage is that the code is
diff --git a/RBio/Makefile b/RBio/Makefile
index ec1f0513a1..185b9a0676 100644
--- a/RBio/Makefile
+++ b/RBio/Makefile
@@ -2,7 +2,7 @@
# RBio Makefile
#-------------------------------------------------------------------------------
-VERSION = 2.0.0
+VERSION = 2.0.1
default: all
@@ -56,7 +56,7 @@ demos:
# install RBio
install:
$(CP) Lib/librbio.a $(INSTALL_LIB)/librbio.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s librbio.$(VERSION).a librbio.a )
+ ( cd $(INSTALL_LIB) ; ln -sf librbio.$(VERSION).a librbio.a )
$(CP) Include/RBio.h $(INSTALL_INCLUDE)
# uninstall RBio
diff --git a/RBio/RBio/mywest b/RBio/RBio/mywest
new file mode 100644
index 0000000000..587882cbb9
--- /dev/null
+++ b/RBio/RBio/mywest
@@ -0,0 +1,601 @@
+WEST0479 chemical eng. problem |west047
+ 597 30 95 472
+rua 479 479 1887 0
+(16I5) (20I4) (4E18.10)
+ 1 4 7 10 12 14 19 24 27 30 33 37 40 43 46 48
+ 50 55 58 61 64 67 70 73 76 78 80 82 84 86 88 90
+ 92 96 102 104 106 109 113 116 119 122 125 128 130 132 137 142
+ 145 148 151 155 158 161 164 166 168 173 176 179 182 185 188 191
+ 193 195 197 199 201 203 205 207 209 213 219 221 223 226 230 233
+ 236 238 239 246 248 249 256 260 295 303 305 306 320 334 348 352
+ 381 386 388 389 400 411 422 430 439 443 446 447 459 471 483 491
+ 507 513 516 517 528 539 550 559 568 577 586 595 604 613 622 631
+ 640 649 658 667 676 685 694 703 712 721 730 739 748 757 766 774
+ 782 790 798 806 814 817 820 823 826 829 832 835 838 841 844 847
+ 850 853 856 858 861 864 867 871 875 879 886 896 898 900 907 912
+ 918 921 923 925 927 929 931 933 935 937 939 942 945 948 951 954
+ 957 960 963 966 969 972 975 979 983 987 992 1000 1002 1004 1010 1013
+ 1017 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1044 1047 1050 1053 1054
+ 1060 1066 1072 1080 1086 1087 1090 1091 1097 1103 1109 1117 1120 1123 1126 1127
+ 1133 1139 1145 1147 1149 1151 1158 1164 1165 1168 1169 1175 1181 1187 1195 1198
+ 1201 1204 1205 1211 1217 1223 1225 1227 1229 1237 1243 1244 1247 1248 1254 1260
+ 1266 1274 1277 1280 1283 1284 1290 1296 1302 1304 1306 1308 1316 1322 1323 1326
+ 1327 1333 1339 1345 1353 1356 1359 1362 1363 1369 1375 1381 1383 1385 1387 1395
+ 1401 1402 1405 1406 1412 1418 1424 1432 1435 1438 1441 1442 1448 1454 1460 1462
+ 1464 1466 1474 1480 1481 1484 1485 1491 1497 1503 1505 1507 1509 1511 1513 1515
+ 1517 1519 1521 1523 1525 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547
+ 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1578 1582
+ 1586 1588 1590 1592 1594 1596 1598 1603 1608 1613 1615 1617 1619 1621 1623 1625
+ 1628 1631 1634 1636 1638 1643 1648 1651 1654 1657 1661 1664 1667 1670 1672 1674
+ 1679 1681 1683 1685 1688 1692 1696 1698 1700 1702 1704 1706 1708 1713 1718 1723
+ 1725 1727 1729 1731 1733 1735 1738 1741 1744 1746 1748 1753 1758 1761 1764 1767
+ 1771 1774 1777 1780 1782 1784 1789 1792 1795 1798 1801 1804 1807 1809 1811 1813
+ 1815 1817 1819 1821 1823 1825 1829 1835 1837 1839 1842 1846 1849 1852 1854 1856
+ 1858 1860 1862 1864 1866 1868 1870 1872 1874 1876 1878 1880 1882 1884 1886 1888
+ 25 31 87 26 31 88 27 31 89 28 29 29 30 30 31 87 88 89 32 43
+ 111 112 113 33 43 111 34 43 112 35 43 113 36 37 38 39 37 43 111 38
+ 43 112 39 43 113 40 42 41 42 42 43 111 112 113 2 8 11 3 9 12
+ 4 10 13 5 8 11 6 9 12 7 10 13 8 17 27 9 17 10 17 11
+ 18 12 18 13 18 14 17 15 17 16 17 17 19 30 42 18 20 23 24 30
+ 41 19 21 20 21 21 22 30 22 24 40 41 23 30 42 24 30 42 68 74
+ 99 69 74 100 70 74 101 71 72 72 73 73 74 99 100 101 75 86 123 124
+ 125 76 86 123 77 86 124 78 86 125 79 80 81 82 80 86 123 81 86 124
+ 82 86 125 83 85 84 85 85 86 123 124 125 45 51 54 46 52 55 47 53
+ 56 48 51 54 49 52 55 50 53 56 51 60 52 60 53 60 54 61 55 61
+ 56 61 57 60 58 60 59 60 60 62 73 85 61 63 66 67 73 84 62 64
+ 63 64 64 65 73 65 67 83 84 66 73 85 67 73 85 31 244 43 1 17
+ 18 31 35 43 243 74 388 86 44 60 61 74 78 86 387 385 386 387 388 96
+ 97 98 120 121 122 141 142 143 185 186 187 389 438 439 440 441 442 443 450 451
+ 452 455 456 458 459 461 462 463 464 472 473 474 475 476 182 183 184 391 455 456
+ 458 468 388 467 479 203 204 205 209 210 211 382 385 437 453 454 467 469 479 203
+ 204 205 209 210 211 383 386 437 453 454 467 470 479 203 204 205 209 210 211 384
+ 387 437 453 454 467 471 479 241 242 243 244 108 109 110 132 133 134 245 395 396
+ 397 398 399 400 407 408 409 412 413 415 416 418 419 420 421 429 430 431 432 433
+ 246 412 413 415 425 244 424 436 160 161 162 238 241 394 410 411 424 426 436 160
+ 161 162 239 242 394 410 411 424 427 436 160 161 162 240 243 394 410 411 424 428
+ 436 241 242 243 244 253 254 255 256 135 136 137 151 152 153 245 248 249 148 149
+ 150 247 244 248 256 249 147 169 170 171 175 176 177 238 241 248 249 253 147 169
+ 170 171 175 176 177 239 242 248 249 254 147 169 170 171 175 176 177 240 243 248
+ 249 255 363 364 365 366 385 386 387 388 215 216 217 218 219 220 227 228 229 232
+ 233 235 236 389 392 393 232 233 235 368 369 390 366 388 392 393 181 194 195 196
+ 230 231 363 382 385 392 393 181 194 195 196 230 231 364 383 386 392 393 181 194
+ 195 196 230 231 365 384 387 392 393 93 96 248 262 284 306 328 350 372 94 97
+ 248 262 284 306 328 350 372 95 98 248 262 284 306 328 350 372 93 96 248 262
+ 284 306 328 350 372 94 97 248 262 284 306 328 350 372 95 98 248 262 284 306
+ 328 350 372 105 108 264 286 308 330 352 374 392 106 109 264 286 308 330 352 374
+ 392 107 110 264 286 308 330 352 374 392 105 108 264 286 308 330 352 374 392 106
+ 109 264 286 308 330 352 374 392 107 110 264 286 308 330 352 374 392 117 120 249
+ 263 285 307 329 351 373 118 121 249 263 285 307 329 351 373 119 122 249 263 285
+ 307 329 351 373 117 120 249 263 285 307 329 351 373 118 121 249 263 285 307 329
+ 351 373 119 122 249 263 285 307 329 351 373 129 132 265 287 309 331 353 375 393
+ 130 133 265 287 309 331 353 375 393 131 134 265 287 309 331 353 375 393 129 132
+ 265 287 309 331 353 375 393 130 133 265 287 309 331 353 375 393 131 134 265 287
+ 309 331 353 375 393 135 141 266 288 310 332 354 376 136 142 267 289 311 333 355
+ 377 137 143 268 290 312 334 356 378 135 141 266 288 310 332 354 376 136 142 267
+ 289 311 333 355 377 137 143 268 290 312 334 356 378 138 148 238 139 149 239 140
+ 150 240 144 182 382 145 183 383 146 184 384 395 401 404 396 402 405 397 403 406
+ 398 401 404 399 402 405 400 403 406 160 401 410 161 402 410 162 403 163 404 411
+ 164 405 411 165 406 411 160 161 407 410 160 162 408 410 161 162 409 410 163 164
+ 165 410 412 423 435 157 163 164 165 411 413 416 417 423 434 412 414 413 414 158
+ 163 164 165 414 415 423 157 415 417 433 434 163 164 165 416 423 435 417 423 435
+ 148 178 149 179 150 180 148 166 149 167 150 168 148 154 149 155 150 156 215 221
+ 224 216 222 225 217 223 226 218 221 224 219 222 225 220 223 226 194 221 230 195
+ 222 230 196 223 230 197 224 231 198 225 231 199 226 231 194 195 227 230 194 196
+ 228 230 195 196 229 230 197 198 199 230 232 191 197 198 199 231 233 236 237 232
+ 234 233 234 192 197 198 199 234 235 191 235 237 197 198 199 236 237 182 212 183
+ 213 184 214 182 200 183 201 184 202 182 188 183 189 184 190 241 242 243 244 253
+ 254 255 256 257 264 265 246 247 258 244 256 264 265 241 250 253 261 264 265 242
+ 251 254 261 264 265 243 252 255 261 264 265 253 254 255 256 275 276 277 278 257
+ 262 263 266 267 268 259 256 262 278 263 250 253 260 262 263 275 251 254 260 262
+ 263 276 252 255 260 262 263 277 253 254 255 256 275 276 277 278 279 286 287 258
+ 259 280 256 278 286 287 253 272 275 283 286 287 254 273 276 283 286 287 255 274
+ 277 283 286 287 250 269 251 270 252 271 275 276 278 297 298 299 300 279 284 285
+ 288 289 290 281 278 284 300 285 272 275 282 284 285 297 273 276 282 284 285 298
+ 274 277 282 284 285 299 275 276 277 278 297 298 299 300 301 308 309 280 281 302
+ 278 300 308 309 275 294 297 305 308 309 276 295 298 305 308 309 277 296 299 305
+ 308 309 272 291 273 292 274 293 297 298 299 300 319 320 321 322 301 306 307 310
+ 311 312 303 300 306 322 307 294 297 304 306 307 319 295 298 304 306 307 320 296
+ 299 304 306 307 321 297 298 299 300 319 320 321 322 323 330 331 302 303 324 300
+ 322 330 331 297 316 319 327 330 331 298 317 320 327 330 331 299 318 321 327 330
+ 331 294 313 295 314 296 315 319 320 321 322 341 342 343 344 323 328 329 332 333
+ 334 325 322 328 344 329 316 319 326 328 329 341 317 320 326 328 329 342 318 321
+ 326 328 329 343 319 320 321 322 341 342 343 344 345 352 353 324 325 346 322 344
+ 352 353 319 338 341 349 352 353 320 339 342 349 352 353 321 340 343 349 352 353
+ 316 335 317 336 318 337 341 342 343 344 363 364 365 366 345 350 351 354 355 356
+ 347 344 350 366 351 338 341 348 350 351 363 339 342 348 350 351 364 340 343 348
+ 350 351 365 341 342 343 344 363 364 365 366 367 374 375 346 347 368 344 366 374
+ 375 341 360 363 371 374 375 342 361 364 371 374 375 343 362 365 371 374 375 338
+ 357 339 358 340 359 363 364 365 366 385 386 387 388 367 372 373 376 377 378 369
+ 366 372 388 373 360 363 370 372 373 385 361 364 370 372 373 386 362 365 370 372
+ 373 387 360 379 361 380 362 381 87 93 88 94 89 95 90 96 91 97 92 98
+ 99 105 100 106 101 107 102 108 103 109 104 110 111 117 112 118 113 119 114 120
+ 115 121 116 122 123 129 124 130 125 131 126 132 127 133 128 134 135 138 136 139
+ 137 140 141 144 142 145 143 146 151 154 152 155 153 156 157 158 159 158 163 164
+ 165 159 163 164 165 160 163 161 164 162 165 163 166 164 167 165 168 169 172 175
+ 176 177 170 173 175 176 177 171 174 175 176 177 172 175 173 176 174 177 175 178
+ 176 179 177 180 102 418 424 103 419 424 104 420 424 421 422 422 423 102 103 104
+ 423 424 126 127 128 425 436 126 426 436 127 427 436 128 428 436 429 430 431 432
+ 126 430 436 127 431 436 128 432 436 433 435 434 435 126 127 128 435 436 185 188
+ 186 189 187 190 191 192 193 192 197 198 199 193 197 198 199 194 197 195 198 196
+ 199 197 200 198 201 199 202 203 206 209 210 211 204 207 209 210 211 205 208 209
+ 210 211 206 209 207 210 208 211 209 212 210 213 211 214 90 461 467 91 462 467
+ 92 463 467 464 465 465 466 90 91 92 466 467 114 115 116 468 479 114 469 479
+ 115 470 479 116 471 479 472 473 474 475 114 473 479 115 474 479 116 475 479 476
+ 478 477 478 114 115 116 478 479 438 444 447 439 445 448 440 446 449 441 444 447
+ 442 445 448 443 446 449 444 453 445 453 446 453 447 454 448 454 449 454 450 453
+ 451 453 452 453 453 455 466 478 454 456 459 460 466 477 455 457 456 457 457 458
+ 466 458 460 476 477 459 466 478 460 466 478 266 269 267 270 268 271 288 291 289
+ 292 290 293 310 313 311 314 312 315 332 335 333 336 334 337 354 357 355 358 356
+ 359 376 379 377 380 378 381
+ 1.0000000000E+00 -3.7648000000E-02 -3.4424000000E-01 1.0000000000E+00
+ -2.4523000000E-02 -3.7370900000E-01 1.0000000000E+00 -3.6613000000E-02
+ -8.3693800000E-01 1.3000000000E+02 -2.4337670000E+00 1.0000000000E+00
+ -1.6140910000E+00 1.6140910000E+00 -2.1873200000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.1383520000E+00 3.6694000000E-02
+ 9.9316000000E-02 9.9316000000E-02 9.9316000000E-02 -5.0000000000E-01
+ 1.6117000000E-02 8.7246000000E-02 -3.6119200000E-01 1.1643000000E-02
+ 1.0504100000E-01 -3.2188800000E-01 1.0376000000E-02 1.4041700000E-01
+ -4.3624200000E-01 -7.6804300000E-01 -1.4302800000E-01 -1.5938900000E-01
+ 1.0000000000E+00 -4.8561000000E-02 -2.6286800000E-01 1.0000000000E+00
+ -3.0926000000E-02 -2.7901300000E-01 1.0000000000E+00 -4.6124000000E-02
+ -6.2418800000E-01 5.2824360000E+00 -6.1239200000E-01 2.8868200000E-01
+ -2.1638200000E-01 1.3287740000E+00 -3.6946900000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 4.8176472000E+01 -1.0000000000E+00
+ -3.3000000000E-05 8.3500000000E+01 -1.0000000000E+00 -4.1000000000E-05
+ 1.7194119300E+02 -1.0000000000E+00 -8.5000000000E-05 9.6651382000E+01
+ 2.5000000000E+00 3.3000000000E-05 1.6827059900E+02 2.5000000000E+00
+ 4.1000000000E-05 3.4758718900E+02 2.5000000000E+00 8.5000000000E-05
+ 1.0000000000E+00 -1.1069700000E-01 1.6052320000E+00 1.0000000000E+00
+ -8.9809000000E-02 1.0000000000E+00 -1.5173700000E-01 1.0104550000E+00
+ -5.0000000000E-01 1.0059780000E+00 -3.0000000000E-01 1.0028850000E+00
+ -2.0000000000E-01 1.0000000000E+00 -1.8118500000E-01 1.0000000000E+00
+ -2.4002400000E-01 1.0000000000E+00 -2.2654800000E-01 1.0000000000E+00
+ -1.0000000000E+00 1.5000000000E+00 5.0000000000E-01 1.0000000000E+00
+ -3.1622000000E+05 -1.2323690430E+04 -1.0000000000E+00 -3.5226800781E+04
+ 1.8449019531E+04 5.2983390000E+00 2.4530000000E-03 1.0808590090E+03
+ -2.0502200000E-01 1.4419200000E-01 6.3059860000E+01 -1.1593000000E-01
+ -1.8449019531E+04 8.4533400000E-01 -1.8449019531E+04 -1.5595580078E+04
+ 1.0000000000E+00 2.0204900000E-01 -8.8547100000E-01 1.0000000000E-04
+ 2.4483390000E+00 8.1611300000E-01 1.0000000000E+00 -2.2800000000E-04
+ -2.6243900000E-01 1.0000000000E+00 -4.1900000000E-04 -3.2162000000E-01
+ 1.0000000000E+00 -1.5770000000E-03 -7.2647600000E-01 3.0000000000E+02
+ -2.8518910000E+00 1.0000000000E+00 -2.8701600000E-01 2.8701600000E-01
+ -4.3410000000E-03 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.1383520000E+00 4.2003000000E-02 9.4148100000E-01 9.4148100000E-01
+ 9.4148100000E-01 -3.2188800000E-01 1.1877000000E-02 1.3310950000E+00
+ -3.6119200000E-01 1.3327000000E-02 9.9575300000E-01 -5.0000000000E-01
+ 1.8449000000E-02 8.2705600000E-01 -1.0000000000E+00 -1.9240000000E+01
+ -3.8030000000E+00 -9.4810000000E+00 1.0000000000E+00 -8.8800000000E-04
+ -9.9474000000E-02 1.0000000000E+00 -1.3310000000E-03 -9.9474000000E-02
+ 1.0000000000E+00 -2.2190000000E-03 -9.9474000000E-02 1.1776130000E+00
+ -3.1089630000E+00 9.9194300000E-01 -2.6400560000E+00 3.1921120000E+00
+ -4.4614000000E-02 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 1.0986879700E+02 -1.0000000000E+00 -3.3000000000E-05 1.9138459800E+02
+ -1.0000000000E+00 -4.1000000000E-05 3.9547961400E+02 -1.0000000000E+00
+ -8.5000000000E-05 2.2173390200E+02 2.5000000000E+00 3.3000000000E-05
+ 3.8700918600E+02 2.5000000000E+00 4.1000000000E-05 8.0081652800E+02
+ 2.5000000000E+00 8.5000000000E-05 1.0000000000E+00 -9.1700000000E-03
+ 1.0000000000E+00 -4.6441000000E-02 1.0000000000E+00 -4.8999200000E-01
+ 1.0045300000E+00 -2.0000000000E-01 1.0025910000E+00 -3.0000000000E-01
+ 1.0012500000E+00 -5.0000000000E-01 1.0000000000E+00 -3.7501000000E-02
+ 1.0000000000E+00 -1.2414300000E-01 1.0000000000E+00 -2.9275300000E-01
+ 1.0000000000E+00 -1.0000000000E+00 1.8537300000E-01 6.1791000000E-02
+ 1.0000000000E+00 -3.1622000000E+05 -1.6364190430E+04 -1.0000000000E+00
+ -4.6967822270E+03 1.3185400400E+02 2.2129129000E+01 9.5375300000E-01
+ 2.4942900390E+03 -1.0215870000E+00 8.8782800000E-01 1.0400420000E+00
+ -2.6400560000E+00 -1.3185400400E+02 8.0570000000E-03 -1.3185400400E+02
+ -1.0624090000E+00 1.0000000000E+00 1.0164300000E-01 -6.1791000000E-02
+ 7.6450000000E-03 2.3098949000E+01 7.6996490000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 -3.8502310000E+00
+ -8.5000000000E-05 2.0159100000E+00 1.0000000000E+00 1.5961710000E+00
+ -7.8975100000E-01 1.0000000000E+00 8.8175600000E-01 1.0000000000E+00
+ 1.0000000000E+00 -2.7937600000E+00 -8.4000000000E-05 2.0156650000E+00
+ 1.0000000000E+00 1.5939940000E+00 -9.6191500000E-01 2.4250000000E-03
+ 3.0363000000E-02 6.7304500000E-01 1.4593600000E+00 1.6897000000E-02
+ 3.4848000000E-02 -6.0080000000E-02 -5.5527200000E-01 -4.7704000000E-01
+ -1.8582900000E-01 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -5.5188568000E+01 -9.5676857000E+01 -2.1583770800E+02 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.8910000000E-03 -1.5310000000E-03
+ -1.0140000000E-03 2.5000000000E+00 2.6063700000E+01 1.0000000000E+00
+ -1.5000000000E+00 -9.6031810000E+00 -9.4541850000E+00 -9.4376810000E+00
+ -4.8295719000E+01 9.0759200000E-01 -4.3759670000E+00 -8.9979920000E+00
+ -8.8819580000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00 -2.6063700000E+01
+ -1.0000000000E+00 1.0000000000E+00 -1.4593600000E+00 1.0000000000E+00
+ 1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 5.6953098000E+01
+ 7.0583200000E-01 1.0000000000E+00 -6.4913700000E-01 -3.3000000000E-05
+ 5.3807500000E-01 1.0000000000E+00 8.2471000000E-02 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.1583840000E+01 7.0583200000E-01 1.0000000000E+00
+ -1.0215420000E+00 -4.1000000000E-05 -3.6302500000E-01 1.0000000000E+00
+ 6.9523000000E-02 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 3.2096300000E-01
+ 7.0583200000E-01 1.0000000000E+00 -2.0490070000E+00 -8.4000000000E-05
+ 9.1353600000E-01 1.0000000000E+00 8.3976400000E-01 5.5083500000E-01
+ 4.4892200000E-01 2.4300000000E-04 4.0528300000E-01 -6.7277000000E-02
+ -1.5700600000E-01 -9.7476000000E-02 -2.5060100000E-01 -2.8026200000E-01
+ 1.0084900000E-01 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -2.8640000000E-03 -2.3160000000E-03 -1.5310000000E-03 2.5000000000E+00
+ 1.1587800000E+01 1.0000000000E+00 -1.1012240000E+00 -1.3644320000E+00
+ -1.2188210000E+00 -1.2108590000E+00 -3.4621052000E+01 6.0313600000E-01
+ -5.9963800000E-01 -1.4033920000E+00 -1.3703860000E+00 1.0000000000E+00
+ 1.0000000000E+00 -1.0000000000E+00 -1.1587800000E+01 -1.0000000000E+00
+ 1.0000000000E+00 -4.0528300000E-01 1.0000000000E+00 1.0000000000E+00
+ -8.5938400000E-01 -7.7333900000E-01 -7.9517400000E-01 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.6236590000E+00 -3.3000000000E-05
+ 3.5720350000E+00 1.0000000000E+00 9.2435300000E-01 -1.1718210000E+00
+ -1.2773520000E+00 -1.2505080000E+00 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 -2.4602890000E+00 -4.1000000000E-05 -2.1785330000E+00
+ 1.0000000000E+00 6.5098400000E-01 -2.3280470000E+00 -2.4161550000E+00
+ -2.5121660000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -4.7536200000E+00 -8.5000000000E-05 6.1671400000E+00 1.0000000000E+00
+ 3.3966910000E+00 4.3737000000E-02 5.7396500000E-01 1.5834900000E-01
+ 1.8781300000E-01 -4.4344000000E-02 -5.8193800000E-01 -1.6054900000E-01
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -6.2680901000E+01 -1.2388999900E+02 -4.6435549900E+02 1.0000000000E+00
+ -5.1647000000E-02 -3.2417600000E-01 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.8781300000E-01 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 9.7738750000E+00 7.7605000000E-01 7.2528310000E+00
+ 7.8041000000E-01 -7.8683100000E-01 1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 6.0698200000E-01 7.7605000000E-01 -2.3895080000E+00
+ 6.8494000000E-01 -7.8683100000E-01 1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.1890000000E-03 7.7605000000E-01 1.1558830000E+01
+ 2.2026440000E+00 -7.8683100000E-01 -1.7051500000E-01 -4.3429600000E-01
+ -2.6674200000E-01 -2.6093020000E+00 1.9564500000E-01 4.9830200000E-01
+ 3.0605400000E-01 4.2239600000E-01 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -1.8910000000E-03 -1.5310000000E-03 -1.0140000000E-03 2.5000000000E+00
+ 1.6672409000E+01 1.0000000000E+00 -1.5000000000E+00 -1.0000000000E+00
+ -4.6212100000E-01 -1.2349600000E-01 -1.0000000000E+00 -1.6672409000E+01
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00
+ 2.6093020000E+00 -4.2239600000E-01 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 -5.8697600000E-01 -5.0651600000E-01 -5.1399200000E-01
+ -1.0366850000E+00 -3.3000000000E-05 -8.7155300000E-01 -1.0000000000E+00
+ 1.0000000000E+00 2.6399800000E+00 5.5742100000E-01 1.0000000000E+00
+ -8.0016400000E-01 -8.3640900000E-01 -8.0810300000E-01 -1.6376950000E+00
+ -4.1000000000E-05 -8.7155300000E-01 -1.0000000000E+00 1.0000000000E+00
+ -1.7736780000E+00 4.0754200000E-01 1.0000000000E+00 -1.5893890000E+00
+ -1.5818110000E+00 -1.6231180000E+00 -3.2056860000E+00 -8.4000000000E-05
+ -8.7155300000E-01 -1.0000000000E+00 1.0000000000E+00 4.4676090000E+00
+ 2.2475290000E+00 -1.0000000000E+00 -1.0000000000E+00 -4.0421600000E-01
+ -1.8187800000E-01 -1.5634600000E-01 -1.5457000000E-01 -1.5217800000E-01
+ -9.1906000000E-02 -7.8710000000E-03 -1.0000000000E+00 -1.0000000000E+00
+ -1.8091710000E+00 -3.1896550000E+00 -3.3490190000E+00 -3.3586440000E+00
+ -3.3085850000E+00 -1.9678700000E+00 -1.1333600000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -2.4566020000E+00 -4.1011280000E+00 -4.2908920000E+00
+ -4.3026030000E+00 -4.2541470000E+00 -2.9523890000E+00 -1.1573650000E+00
+ -8.1220000000E-03 -1.6897000000E-02 -4.5390000000E-03 -2.1710000000E-03
+ -1.8740000000E-03 -1.8530000000E-03 -1.8250000000E-03 -1.1070000000E-03
+ -1.0500000000E-04 -1.6750000000E-02 -3.4848000000E-02 -4.1897000000E-02
+ -7.8507000000E-02 -8.2794000000E-02 -8.3055000000E-02 -8.1826000000E-02
+ -4.8866000000E-02 -3.1320000000E-03 -2.8878000000E-02 -6.0080000000E-02
+ -9.8082000000E-02 -1.7402800000E-01 -1.8288500000E-01 -1.8343700000E-01
+ -1.8139100000E-01 -1.2639700000E-01 -5.5137000000E-02 -1.0000000000E+00
+ -1.0000000000E+00 -7.6362300000E-01 -5.4132100000E-01 -5.2907500000E-01
+ -5.2832600000E-01 -5.2965300000E-01 -5.9901100000E-01 -5.7467700000E-01
+ -1.0000000000E+00 -1.0000000000E+00 -1.4679790000E+00 -1.2898060000E+00
+ -1.2799920000E+00 -1.2793850000E+00 -1.2801740000E+00 -1.3601430000E+00
+ -7.1491900000E-01 -1.0000000000E+00 -1.0000000000E+00 -4.3710000000E-03
+ -3.9540000000E-03 -3.9320000000E-03 -3.9480000000E-03 -4.7490000000E-03
+ -7.2455000000E-02 -1.6023640000E+00 -1.1229300000E-01 -6.7277000000E-02
+ -5.4601000000E-02 -3.8877000000E-02 -3.8009000000E-02 -3.7959000000E-02
+ -3.8209000000E-02 -4.8086000000E-02 -5.8179000000E-02 -2.6206300000E-01
+ -1.5700600000E-01 -2.4496100000E-01 -2.1618100000E-01 -2.1459700000E-01
+ -2.1451900000E-01 -2.1552300000E-01 -2.5481000000E-01 -1.6890700000E-01
+ -1.6270000000E-01 -9.7476000000E-02 -4.5300000000E-04 -4.1100000000E-04
+ -4.0900000000E-04 -4.1100000000E-04 -4.9600000000E-04 -8.4270000000E-03
+ -2.3503500000E-01 -1.0000000000E+00 -1.0000000000E+00 -6.9703000000E-02
+ -1.9243000000E-02 -1.5838000000E-02 -1.5618000000E-02 -1.5583000000E-02
+ -1.4719000000E-02 -5.7600000000E-03 -1.0000000000E+00 -1.0000000000E+00
+ -7.4171400000E-01 -8.0234900000E-01 -8.0658500000E-01 -8.0682900000E-01
+ -8.0550300000E-01 -7.4927000000E-01 -1.9719700000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -5.1276000000E-01 -5.2522500000E-01 -5.2614100000E-01
+ -5.2622400000E-01 -5.2730300000E-01 -5.7231900000E-01 -1.0252420000E+00
+ -4.6575900000E-01 -9.6900300000E-01 -4.4885000000E-02 -1.3170000000E-02
+ -1.0887000000E-02 -1.0739000000E-02 -1.0717000000E-02 -1.0163000000E-02
+ -4.4260000000E-03 -5.7440200000E-01 -1.1950330000E+00 -5.8903400000E-01
+ -6.7721700000E-01 -6.8380200000E-01 -6.8420500000E-01 -6.8315600000E-01
+ -6.3804400000E-01 -1.8686200000E-01 -2.2922800000E-01 -4.7690500000E-01
+ -1.6250700000E-01 -1.7691400000E-01 -1.7800600000E-01 -1.7808600000E-01
+ -1.7847000000E-01 -1.9449300000E-01 -3.8770300000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -3.4272800000E-01 -2.9113800000E-01 -2.8769400000E-01
+ -2.8748900000E-01 -2.8823200000E-01 -3.0269900000E-01 -1.7507900000E-01
+ -1.0000000000E+00 -1.0000000000E+00 -1.0623340000E+00 -1.1185060000E+00
+ -1.1222530000E+00 -1.1225120000E+00 -1.1232850000E+00 -1.1082340000E+00
+ -3.5118600000E-01 -1.0000000000E+00 -1.0000000000E+00 -2.4000000000E-03
+ -2.6020000000E-03 -2.6160000000E-03 -2.6280000000E-03 -3.1620000000E-03
+ -4.4794000000E-02 -5.9723100000E-01 -2.0182530000E+00 -1.2091660000E+00
+ -4.4044900000E-01 -3.7580300000E-01 -3.7146400000E-01 -3.7124000000E-01
+ -3.7371100000E-01 -4.3672900000E-01 -3.1856300000E-01 -2.5626880000E+00
+ -1.5353450000E+00 -1.7335130000E+00 -1.8332450000E+00 -1.8399150000E+00
+ -1.8405410000E+00 -1.8492860000E+00 -2.0302660000E+00 -8.1137000000E-01
+ -9.2554300000E-01 -5.5450700000E-01 -1.4140000000E-03 -1.5400000000E-03
+ -1.5490000000E-03 -1.5560000000E-03 -1.8800000000E-03 -2.9637000000E-02
+ -4.9833900000E-01 -1.4338920000E+00 -2.1577040000E+00 -1.5239710000E+00
+ -1.5307080000E+00 -1.5311480000E+00 -1.5313160000E+00 -1.5375330000E+00
+ -1.7109280000E+00 -9.4320600000E-01 -1.4193260000E+00 -1.0024600000E+00
+ -1.0068910000E+00 -1.0071810000E+00 -1.0072910000E+00 -1.0113810000E+00
+ -1.1254390000E+00 -5.9645300000E-01 -8.9753500000E-01 -6.3392300000E-01
+ -6.3672500000E-01 -6.3690800000E-01 -6.3697800000E-01 -6.3956400000E-01
+ -7.1169100000E-01 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 5.5083500000E-01
+ -1.0000000000E+00 1.6474950000E+00 7.3959700000E-01 -1.0000000000E+00
+ 8.4135162400E+02 2.0404500000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.9564500000E-01 -1.0000000000E+00 1.0000000000E+00 4.9830200000E-01
+ -1.0000000000E+00 3.1156220000E+00 9.5354800000E-01 6.6224922000E+01
+ -1.0000000000E+00 -3.3000000000E-05 1.1506230200E+02 -1.0000000000E+00
+ -4.1000000000E-05 2.3733869900E+02 -1.0000000000E+00 -8.5000000000E-05
+ 1.3324499500E+02 2.5000000000E+00 3.3000000000E-05 2.3226390100E+02
+ 2.5000000000E+00 4.1000000000E-05 4.8018209800E+02 2.5000000000E+00
+ 8.5000000000E-05 -4.7337900000E-01 1.0000000000E+00 -2.1168800000E-01
+ -5.7343200000E-01 1.0000000000E+00 -3.1667100000E-01 -6.0900000000E-04
+ 1.0000000000E+00 -4.5750039060E+03 1.0075620000E+00 -5.5083500000E-01
+ -3.6814160160E+03 1.0043240000E+00 -4.4892200000E-01 -1.7878179930E+03
+ 1.0020870000E+00 -2.4300000000E-04 -5.2605600000E-01 -4.2598200000E-01
+ 1.0000000000E+00 -4.7048800000E-01 -5.6500000000E-04 -4.3801000000E-01
+ 1.0000000000E+00 -5.0500000000E-04 -5.8600000000E-04 -5.6138100000E-01
+ 1.0000000000E+00 -6.4700000000E-04 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00 6.1444000000E-02
+ 2.0481000000E-02 -1.0000000000E+00 4.1240600590E+03 4.1240600590E+03
+ 4.1240600590E+03 1.0000000000E+00 -3.1622000000E+05 -2.0034240234E+04
+ -1.0000000000E+00 -2.6256569820E+03 2.2212899800E+02 1.8737270000E+01
+ 9.4488200000E-01 1.4943669430E+03 -1.0207800000E+00 -9.9186000000E-01
+ -1.7922340000E+01 -1.7922340000E+01 -1.7922340000E+01 8.6282900000E-01
+ 1.0497190000E+00 -7.3415000000E-01 8.1400000000E-03 -2.2212899800E+02
+ 8.1400000000E-03 -2.2212899800E+02 -1.8080990000E+00 -1.0913280000E+00
+ -1.6293970000E+00 -1.4448530000E+00 1.0000000000E+00 4.7364000000E-02
+ -2.7898000000E-02 4.5390000000E-03 7.5792400000E+00 2.5264130000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0266460000E+00 -1.0000000000E+00
+ 1.0737240000E+00 -1.0000000000E+00 1.2081470000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 9.9149727000E+01 -1.0000000000E+00
+ -3.3000000000E-05 1.7263960300E+02 -1.0000000000E+00 -4.1000000000E-05
+ 3.5663980100E+02 -1.0000000000E+00 -8.5000000000E-05 2.0000079300E+02
+ 2.5000000000E+00 3.3000000000E-05 3.4900329600E+02 2.5000000000E+00
+ 4.1000000000E-05 7.2206781000E+02 2.5000000000E+00 8.5000000000E-05
+ -1.1483900000E-01 1.0000000000E+00 -1.1646000000E-02 -4.1678400000E-01
+ 1.0000000000E+00 -1.7006200000E-01 -4.9676100000E-01 1.0000000000E+00
+ -2.4368900000E-01 -5.2768618160E+03 1.0050250000E+00 -1.9564500000E-01
+ -4.2415908200E+03 1.0028740000E+00 -4.9830200000E-01 -2.0582939450E+03
+ 1.0013870000E+00 -3.0605400000E-01 -3.9872300000E-01 -9.9097000000E-02
+ 1.0000000000E+00 -8.0870000000E-02 -4.8643800000E-01 -1.0056000000E-01
+ 1.0000000000E+00 -9.8660000000E-02 -4.8411900000E-01 -4.0267900000E-01
+ 1.0000000000E+00 -3.9507300000E-01 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 3.2976230470E+03 3.2976230470E+03 3.2976230470E+03 1.0000000000E+00
+ -3.1622000000E+05 -1.8966660156E+04 -1.0000000000E+00 2.2669870000E+01
+ 9.5486000000E-01 2.2487060550E+03 -1.0206550000E+00 -9.9229500000E-01
+ -2.1898569000E+01 -2.1898569000E+01 -2.1898569000E+01 8.9001000000E-01
+ 1.0392050000E+00 7.7050000000E-03 -1.4613620000E+02 7.7050000000E-03
+ -6.5890500000E-01 -1.1064970000E+00 -1.0009090000E+00 1.0000000000E+00
+ 6.8960000000E-03 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00
+ -1.0000000000E+00 1.0226760000E+00 -1.0000000000E+00 1.0914180000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 -1.9969600000E-01
+ -7.8596200000E-01 -6.4100000000E-04 4.0690400000E-01 2.0247000000E-01
+ 7.9688000000E-01 6.5000000000E-04 -2.1665440000E+00 -1.0000000000E+00
+ -3.0001500000E-01 -4.0746100000E-01 -1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 4.0690400000E-01 -2.1665440000E+00 1.0000000000E+00
+ 1.0000000000E+00 -9.8629900000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 3.5018580000E+00 1.2418840000E+00 -9.8629900000E-01
+ -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 -2.1495590000E+00
+ 9.3602400000E-01 -9.8629900000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 6.0259860000E+00 4.0868380000E+00 1.1955000000E-02
+ 6.1475000000E-01 1.6059600000E-01 5.9918100000E-01 -1.1950000000E-02
+ -6.1446100000E-01 -1.6052000000E-01 -1.0000000000E+00 1.0000000000E+00
+ -9.3351000000E-02 -3.4681800000E-01 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 -5.9918100000E-01 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.3333420000E+01 7.8730100000E-01
+ 1.0000000000E+00 1.2120260000E+01 7.7025100000E-01 -7.8693100000E-01
+ 1.0205510000E+00 7.8730100000E-01 1.0000000000E+00 -3.9843990000E+00
+ 6.8134200000E-01 -7.8693100000E-01 3.1870000000E-03 7.8730100000E-01
+ 1.0000000000E+00 1.9252159000E+01 2.2369070000E+00 -7.8693100000E-01
+ -1.7008100000E-01 -8.2969200000E-01 -6.9700000000E-04 2.5673630000E+00
+ 1.7000100000E-01 8.2930200000E-01 6.9700000000E-04 -4.2847870000E+00
+ -1.0000000000E+00 -2.5546900000E-01 -4.1224600000E-01 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 2.5673630000E+00 -4.2847870000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.0004710000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 2.9555290000E+00 1.2544140000E+00
+ -1.0004710000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -1.8159690000E+00 9.4521200000E-01 -1.0004710000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 5.0849970000E+00 4.1364790000E+00
+ 2.0247000000E-01 -1.0000000000E+00 7.9688000000E-01 -1.0000000000E+00
+ 2.0398200000E-01 -1.0000000000E+00 9.8180000000E-03 6.1664200000E-01
+ 9.5579400000E-01 -9.8180000000E-03 -6.1661000000E-01 -1.6051500000E-01
+ -1.0000000000E+00 1.0000000000E+00 -9.8218000000E-02 -3.4856400000E-01
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00
+ -9.5579400000E-01 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.3626710000E+01 7.8698300000E-01 1.0000000000E+00 1.2682330000E+01
+ 7.6942900000E-01 -7.8694200000E-01 1.0583890000E+00 7.8698300000E-01
+ 1.0000000000E+00 -4.1684890000E+00 6.8102800000E-01 -7.8694200000E-01
+ 3.4160000000E-03 7.8698300000E-01 1.0000000000E+00 2.0139959000E+01
+ 2.2394150000E+00 -7.8694200000E-01 -1.6787000000E-01 -8.3148300000E-01
+ -7.0000000000E-04 4.3289930000E+00 1.6786100000E-01 8.3143900000E-01
+ 7.0000000000E-04 -4.5292090000E+00 -1.0000000000E+00 -2.5301500000E-01
+ -4.1256200000E-01 -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00
+ 4.3289930000E+00 -4.5292090000E+00 1.0000000000E+00 1.0000000000E+00
+ -1.0000520000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 2.9254360000E+00 1.2552490000E+00 -1.0000520000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -1.7975930000E+00 9.4582400000E-01
+ -1.0000520000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 5.0331660000E+00 4.1397830000E+00 1.7000100000E-01 -1.0000000000E+00
+ 8.2930200000E-01 -1.0000000000E+00 2.0397300000E-01 -1.0000000000E+00
+ 9.6800000000E-03 6.1671100000E-01 1.6051800000E-01 9.9729800000E-01
+ -9.6800000000E-03 -6.1673100000E-01 -1.6052300000E-01 -1.0000000000E+00
+ 1.0000000000E+00 -9.8529000000E-02 -3.4867100000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 -9.9729800000E-01
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.3646010000E+01
+ 7.8690900000E-01 1.0000000000E+00 1.2716190000E+01 7.6935900000E-01
+ -7.8693500000E-01 1.0608970000E+00 7.8690900000E-01 1.0000000000E+00
+ -4.1795750000E+00 6.8099400000E-01 -7.8693500000E-01 3.4310000000E-03
+ 7.8690900000E-01 1.0000000000E+00 2.0193411000E+01 2.2395320000E+00
+ -7.8693500000E-01 -1.6772300000E-01 -8.3154100000E-01 -7.0300000000E-04
+ 4.5319110000E+00 1.6772900000E-01 8.3156800000E-01 7.0300000000E-04
+ -4.5441880000E+00 -1.0000000000E+00 -2.5288900000E-01 -4.1262900000E-01
+ -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 4.5319110000E+00
+ -4.5441880000E+00 1.0000000000E+00 1.0000000000E+00 -9.9996700000E-01
+ -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 2.9235700000E+00
+ 1.2552940000E+00 -9.9996700000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 -1.7964900000E+00 9.4585200000E-01 -9.9996700000E-01
+ -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 5.0299350000E+00
+ 4.1401400000E+00 1.6786100000E-01 -1.0000000000E+00 8.3143900000E-01
+ -1.0000000000E+00 2.0398600000E-01 -1.0000000000E+00 9.6470000000E-03
+ 6.1499700000E-01 1.6066400000E-01 1.0122750000E+00 -9.6630000000E-03
+ -6.1599900000E-01 -1.6092600000E-01 -1.0000000000E+00 1.0000000000E+00
+ -9.7740000000E-02 -3.4838900000E-01 -1.0000000000E+00 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 -1.0122750000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.3653370000E+01 7.8530800000E-01
+ 1.0000000000E+00 1.2536040000E+01 7.6861400000E-01 -7.8658800000E-01
+ 1.0618540000E+00 7.8530800000E-01 1.0000000000E+00 -4.1203450000E+00
+ 6.8034500000E-01 -7.8658800000E-01 3.4370000000E-03 7.8530800000E-01
+ 1.0000000000E+00 1.9907200000E+01 2.2374860000E+00 -7.8658800000E-01
+ -1.6769600000E-01 -8.2983400000E-01 -8.4400000000E-04 4.5319130000E+00
+ 1.6796900000E-01 8.3118600000E-01 8.4500000000E-04 -4.4769570000E+00
+ -1.0000000000E+00 -2.5422800000E-01 -4.1467900000E-01 -1.0000000000E+00
+ -1.0000000000E+00 1.0000000000E+00 4.5319120000E+00 -4.4769570000E+00
+ 1.0000000000E+00 1.0000000000E+00 -9.9837300000E-01 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 2.9258000000E+00 1.2548710000E+00
+ -9.9837300000E-01 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -1.7994740000E+00 9.4529600000E-01 -9.9837300000E-01 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 5.0329780000E+00 4.1465320000E+00
+ 1.6772900000E-01 -1.0000000000E+00 8.3156800000E-01 -1.0000000000E+00
+ 2.0458700000E-01 -1.0000000000E+00 8.9580000000E-03 5.6239200000E-01
+ 1.7143200000E-01 1.5349870000E+00 -9.3680000000E-03 -5.8815700000E-01
+ -1.7928500000E-01 -1.0000000000E+00 1.0000000000E+00 -7.6425000000E-02
+ -3.3630700000E-01 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 -1.5349870000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.3927700000E+01 7.4278100000E-01 1.0000000000E+00
+ 7.7124140000E+00 7.3754000000E-01 -7.7681100000E-01 1.0977920000E+00
+ 7.4278100000E-01 1.0000000000E+00 -2.5345340000E+00 6.5320800000E-01
+ -7.7681100000E-01 3.6610000000E-03 7.4278100000E-01 1.0000000000E+00
+ 1.2244490000E+01 2.1513860000E+00 -7.7681100000E-01 -1.6726400000E-01
+ -7.7757800000E-01 -1.1351000000E-02 3.9419710000E+00 1.7492700000E-01
+ 8.1320200000E-01 1.1871000000E-02 -2.5680820000E+00 -1.0000000000E+00
+ -3.1132300000E-01 -4.5572700000E-01 -1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 3.9419710000E+00 -2.5680820000E+00 1.0000000000E+00
+ 1.0000000000E+00 -9.5619400000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 3.1494540000E+00 1.2129980000E+00 -9.5619400000E-01
+ -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 -1.9859190000E+00
+ 9.0706800000E-01 -9.5619400000E-01 -1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 5.3936870000E+00 4.2274630000E+00 1.6796900000E-01
+ -1.0000000000E+00 8.3118600000E-01 -1.0000000000E+00 2.3079700000E-01
+ -1.0000000000E+00 4.9560000000E-03 2.0925100000E-01 4.3415700000E-01
+ 6.1773840000E+00 -5.6860000000E-03 -2.4009000000E-01 -4.9814100000E-01
+ -1.0000000000E+00 1.0000000000E+00 -5.1900000000E-02 -2.2819900000E-01
+ -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00
+ -6.1773840000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 2.2884661000E+01 6.4836400000E-01 1.0000000000E+00 1.0434500000E+00
+ 4.2175900000E-01 -7.4391800000E-01 2.5197030000E+00 6.4836400000E-01
+ 1.0000000000E+00 -3.4146600000E-01 3.7989000000E-01 -7.4391800000E-01
+ 1.7728000000E-02 6.4836400000E-01 1.0000000000E+00 1.6460520000E+00
+ 1.3054760000E+00 -7.4391800000E-01 1.7492700000E-01 -1.0000000000E+00
+ 8.1320200000E-01 -1.0000000000E+00 6.6961900000E-01 -1.0000000000E+00
+ 6.3180580000E+00 1.0081210000E+00 2.1016520000E+00 9.8325000000E-01
+ 1.0216340000E+01 9.7112200000E-01 4.7715330000E+00 1.0168970000E+00
+ 1.5445530000E+00 9.6515200000E-01 7.4032580000E+00 9.3992000000E-01
+ 2.7676480100E+02 8.8770700000E-01 1.9219039900E+02 1.2620630000E+00
+ 4.6529739400E+02 8.3730000000E-01 4.0263531500E+02 9.3272300000E-01
+ 2.4395159900E+02 1.1570060000E+00 6.9442572000E+02 9.0252400000E-01
+ 2.1471690000E+00 7.3310400000E-01 1.8303540000E+00 7.7070700000E-01
+ 5.4194960000E+00 9.1068000000E-01 1.5934600000E+00 4.4472800000E-01
+ 1.5193590000E+00 5.2296000000E-01 5.9272710000E+00 8.1417100000E-01
+ 8.6013230000E+00 5.8171500000E-01 6.1974850000E+00 5.3220700000E-01
+ 3.7670330000E+01 1.1683300000E+00 1.0955350000E+01 7.4939900000E-01
+ 8.2864270000E+00 7.1973800000E-01 3.5092930000E+01 1.1008490000E+00
+ 4.3389200000E-01 2.2797130000E+00 1.1375700000E-01 6.0698200000E-01
+ 4.0354700000E-01 8.0050000000E-03 1.1577040000E+00 4.0422280000E+00
+ 4.1932600000E-01 2.4496110000E+00 1.0246500000E-01 3.6475200000E-01
+ 1.7257449300E+02 1.4917610000E+01 1.6158450300E+02 1.2093800000E+01
+ 1.4531449900E+02 5.7400960000E+00 4.5020000000E-03 9.5263600000E-01
+ -1.0000000000E+00 9.4488200000E-01 1.9882059000E+01 1.5998700000E+01
+ 7.7694990000E+00 1.0081400000E+00 9.8828979000E+01 1.4755580100E+02
+ 1.3084370400E+02 1.0000000000E+00 1.8011980000E+00 1.0000000000E+00
+ 2.1962210000E+00 1.0000000000E+00 2.0607380000E+00 1.9882059000E+01
+ 9.7404500000E-01 1.5998700000E+01 9.3133800000E-01 7.7694990000E+00
+ 8.2771400000E-01 -1.0000000000E+00 -1.0000000000E+00 5.6358000000E-02
+ 5.6358000000E-02 5.6358000000E-02 -1.0000000000E+00 -1.0000000000E+00
+ 7.3959700000E-01 7.3959700000E-01 7.3959700000E-01 -1.0000000000E+00
+ -1.0000000000E+00 2.0404500000E-01 2.0404500000E-01 2.0404500000E-01
+ 1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ -1.9453890000E+01 1.0000000000E+00 -9.5304000000E-02 -2.2090309000E+01
+ 1.0000000000E+00 -8.8198000000E-02 -4.9563591000E+01 1.0000000000E+00
+ -1.0700000000E-04 1.7973449700E+02 -2.5957400000E+00 1.0000000000E+00
+ -9.6217000000E-02 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 9.6217000000E-02 -8.8940000000E-03 9.3082800000E-01 9.3082800000E-01
+ 9.3082800000E-01 -1.1383520000E+00 9.5342000000E-02 8.1769800000E-01
+ -5.5083500000E-01 4.6135000000E-02 8.1769800000E-01 -4.4892200000E-01
+ 3.7599000000E-02 6.8068650000E+00 -2.0190000000E-03 1.6900000000E-04
+ -6.0313600000E-01 -1.1914260000E+00 -2.0901000000E-01 -2.3236600000E-01
+ -1.5881990000E+00 1.0000000000E+00 -8.9607000000E-02 -1.7894780000E+00
+ 1.0000000000E+00 -8.2283000000E-02 -4.0128040000E+00 1.0000000000E+00
+ -1.0000000000E-04 1.1868740000E+00 -8.7134300000E-01 9.9186000000E-01
+ -7.3415000000E-01 -1.0000000000E+00 -1.0000000000E+00 -1.0000000000E+00
+ 8.9782500000E-01 -1.0242700000E-01 2.6330249000E+02 1.6710230000E+01
+ 2.5231250000E+02 1.5091380000E+01 2.3604249600E+02 1.1440290000E+01
+ 6.8430000000E-03 9.6227400000E-01 -1.0000000000E+00 9.5486000000E-01
+ 3.5042122000E+01 2.8167191000E+01 1.3668540000E+01 1.0077050000E+00
+ 8.5846764000E+01 1.4416209400E+02 1.3040539600E+02 1.0000000000E+00
+ 1.6589050000E+00 1.0000000000E+00 2.1064970000E+00 1.0000000000E+00
+ 2.0009090000E+00 3.5042122000E+01 1.0000000000E+00 2.8167191000E+01
+ 9.7782700000E-01 1.3668540000E+01 9.1623900000E-01 -1.0000000000E+00
+ -1.0000000000E+00 3.4350000000E-03 3.4350000000E-03 3.4350000000E-03
+ -1.0000000000E+00 -1.0000000000E+00 4.3017000000E-02 4.3017000000E-02
+ 4.3017000000E-02 -1.0000000000E+00 -1.0000000000E+00 9.5354800000E-01
+ 9.5354800000E-01 9.5354800000E-01 1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 -1.0000000000E+00 1.0000000000E+00 -1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00
+ 1.0000000000E+00 1.0000000000E+00 -4.7613000000E-02 1.0000000000E+00
+ -2.3000000000E-05 -5.7464000000E-02 1.0000000000E+00 -3.5300000000E-04
+ -1.2956000000E-01 1.0000000000E+00 -1.7625000000E-02 2.7046249400E+02
+ -2.8000670000E+00 1.0000000000E+00 -1.6856930000E+00 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.6856930000E+00 -1.4266700000E-01
+ 1.2149700000E-01 1.2149700000E-01 1.2149700000E-01 -1.1383520000E+00
+ 2.1231000000E-02 6.0555800000E-01 -1.9490000000E-02 3.6300000000E-04
+ 3.3579300000E-01 -1.3533800000E-01 2.5240000000E-03 1.0673100000E-01
+ -9.5354800000E-01 1.7784000000E-02 -9.0759200000E-01 -5.7118220000E+00
+ -9.3568400000E-01 -1.0346550000E+00 -4.3241000000E-02 1.0000000000E+00
+ -2.6000000000E-05 -5.2175000000E-02 1.0000000000E+00 -3.9200000000E-04
+ -1.1763100000E-01 1.0000000000E+00 -1.9600000000E-02 5.3140780000E+00
+ -1.0021840000E+00 3.4483700000E-01 -2.6478600000E-01 -1.0000000000E+00
+ -1.0000000000E+00 -1.0000000000E+00 1.7669710000E+00 -1.7474100000E-01
+ 9.9149727000E+01 -1.0000000000E+00 -3.3000000000E-05 1.7263960300E+02
+ -1.0000000000E+00 -4.1000000000E-05 3.5663980100E+02 -1.0000000000E+00
+ -8.5000000000E-05 2.0000079300E+02 2.5000000000E+00 3.3000000000E-05
+ 3.4900329600E+02 2.5000000000E+00 4.1000000000E-05 7.2206781000E+02
+ 2.5000000000E+00 8.5000000000E-05 1.0000000000E+00 -1.0000000000E-06
+ 1.0000000000E+00 -5.1100000000E-04 1.0000000000E+00 -9.5438900000E-01
+ 1.0050250000E+00 -3.4350000000E-03 1.0028740000E+00 -4.3017000000E-02
+ 1.0013870000E+00 -9.5354800000E-01 1.0000000000E+00 -4.9000000000E-05
+ 1.0000000000E+00 -2.1780000000E-03 1.0000000000E+00 -4.2872000000E-02
+ 1.0000000000E+00 -1.0000000000E+00 1.5000000000E+00 5.0000000000E-01
+ 1.0000000000E+00 -3.1622000000E+05 -1.2132580078E+04 -1.0000000000E+00
+ -2.0451810547E+04 9.1527509770E+03 9.1463570000E+00 3.7730000000E-03
+ 2.2487060550E+03 -1.2505300000E-01 6.7588000000E-02 6.5087120000E+01
+ -1.8859000000E-01 -9.1527509770E+03 7.5439400000E-01 -9.1527509770E+03
+ -6.9047832030E+03 1.0000000000E+00 1.8569300000E-01 -5.0000000000E-01
+ 1.9200000000E-04 2.6684520000E+00 8.8948400000E-01 5.2397100000E-01
+ 2.5902730000E+00 1.2090400000E-01 1.0000000000E+00 3.6607700000E-01
+ 1.8323000000E-02 5.3070800000E-01 2.6120320000E+00 1.2143800000E-01
+ 1.0000000000E+00 3.6327500000E-01 1.9399000000E-02 5.3114800000E-01
+ 2.6134470000E+00 1.2147300000E-01 1.0000000000E+00 3.6309200000E-01
+ 1.9470000000E-02 5.3131600000E-01 2.6139860000E+00 1.2148600000E-01
+ 1.0000000000E+00 3.6302200000E-01 1.9498000000E-02 5.3753300000E-01
+ 2.6338800000E+00 1.2198000000E-01 1.0000000000E+00 3.6043600000E-01
+ 2.0539000000E-02 7.1092800000E-01 3.1304670000E+00 1.3573600000E-01
+ 1.0000000000E+00 2.8830900000E-01 7.1490000000E-02
diff --git a/RBio/README.txt b/RBio/README.txt
index c143b28120..e2886191ec 100644
--- a/RBio/README.txt
+++ b/RBio/README.txt
@@ -1,4 +1,5 @@
-RBio: Version 2.0.0, Oct 20, 2009. A MATLAB Toolbox for reading/writing sparse
+RBio: Copyright 2009, Timothy A. Davis
+A MATLAB Toolbox for reading/writing sparse
matrices in Rutherford/Boeing format.
To install the MATLAB functions, cd to the RBio directory and type "RBinstall"
@@ -32,7 +33,6 @@ MATLAB help for RBio:
See also UFget, mread, mwrite.
- Copyright 2009, Timothy A. Davis
--------------------------------------------------------------------------------
Files and directories:
diff --git a/README.txt b/README.txt
index 7f3fc5d66d..8f46359ae2 100644
--- a/README.txt
+++ b/README.txt
@@ -12,7 +12,7 @@ SuiteSparse_install. All packages will be compiled, and several demos will be
run.
================================================================================
-Nov 30, 2009. SuiteSparse version 3.5.0
+Jan 25, 2011. SuiteSparse VERSION 3.6.0
AMD approximate minimum degree ordering
@@ -37,8 +37,8 @@ Nov 30, 2009. SuiteSparse version 3.5.0
UFconfig/UFconfig.mk is included in the Makefile's of all
packages. CSparse and RBio do not use UFconfig.
- CSparse a concise sparse matrix package, developed for my upcoming
- book, "Direct Methods for Sparse Linear Systems", to be
+ CSparse a concise sparse matrix package, developed for my
+ book, "Direct Methods for Sparse Linear Systems",
published by SIAM.
CXSparse CSparse Extended. Includes support for complex matrices
@@ -61,12 +61,12 @@ Nov 30, 2009. SuiteSparse version 3.5.0
SuiteSparseQR sparse QR factorization
-CHOLMOD optionally uses METIS 4.0.1
+Some codes optionally use METIS 4.0.1
(http://www-users.cs.umn.edu/~karypis/metis). To use METIS, place a copy of
the metis-4.0 directory in the same directory containing this README file.
Be sure that you do not have a nested metis-4.0/metis-4.0 directory; SuiteSparse
won't find METIS if you do this, which can happen with a zip file of metis-4.0
-on Windows. The use of METIS will improve the ordering quality in CHOLMOD.
+on Windows. The use of METIS will improve the ordering quality.
Refer to each package for license, copyright, and author information. All
codes are authored or co-authored by Timothy A. Davis, CISE Dept., Univ. of
@@ -84,13 +84,12 @@ To use "make" in Unix/Linux:
(1) Use the right BLAS and LAPACK libraries
- See http://www.netlib.org/blas for the Fortran reference BLAS (slow, but
- they work). See http://www.tacc.utexas.edu/~kgoto/ or
- http://www.cs.utexas.edu/users/flame/goto/ for an optimized BLAS. See
- http://www.netlib.org/lapack for LAPACK. The UFconfig/UFconfig.mk file
- assumes the vanilla BLAS (-lblas). You should use an optimized BLAS;
- otherwise UMFPACK and CHOLMOD will be slow. Change -lblas to -l(your BLAS
- library here) in the UFconfig/UFconfig.mk file.
+ Edit your UFconfig/UFconfig.mk file to point to the right compilers,
+ and to the correct BLAS and LAPACK libraries. There are many examples
+ of different computer architectures there. Scroll through to find yours,
+ and uncomment those lines.
+
+ By default, the UFconfig.mk file assumes -lblas and -llapack.
(2) Install Intel's Threading Building Blocks (TBB)
diff --git a/SPQR/Demo/qrdemo.cpp b/SPQR/Demo/qrdemo.cpp
index c1eb8dbaf4..3e8178b60d 100644
--- a/SPQR/Demo/qrdemo.cpp
+++ b/SPQR/Demo/qrdemo.cpp
@@ -13,14 +13,57 @@
// platform. For most platforms (except Windows), UF_long is just "long".
#define Int UF_long
+// =============================================================================
+// check_residual: print the relative residual, norm (A*x-b)/norm(x)
+// =============================================================================
+
+void check_residual
+(
+ cholmod_sparse *A,
+ cholmod_dense *X,
+ cholmod_dense *B,
+ cholmod_common *cc
+)
+{
+ Int m = A->nrow ;
+ Int n = A->ncol ;
+ Int rnk ;
+ double rnorm, anorm, xnorm ;
+ double one [2] = {1,0}, minusone [2] = {-1,0} ;
+ cholmod_dense *Residual ;
+
+ // get the rank(A) estimate
+ rnk = cc->SPQR_istat [4] ;
+
+ // anorm = norm (A,1) ;
+ anorm = cholmod_l_norm_sparse (A, 1, cc) ;
+
+ // rnorm = norm (A*X-B)
+ Residual = cholmod_l_copy_dense (B, cc) ;
+ cholmod_l_sdmult (A, 0, one, minusone, X, Residual, cc) ;
+ rnorm = cholmod_l_norm_dense (Residual, 2, cc) ;
+
+ // xnorm = norm (X)
+ xnorm = cholmod_l_norm_dense (X, 2, cc) ;
+
+ if (m <= n && anorm > 0 && xnorm > 0)
+ {
+ // find the relative residual, except for least-squares systems
+ rnorm /= (anorm * xnorm) ;
+ }
+ printf ("residual: %8.1e rank: %6ld\n", rnorm, rnk) ;
+ cholmod_l_free_dense (&Residual, cc) ;
+}
+
+// =============================================================================
+
int main (int argc, char **argv)
{
cholmod_common Common, *cc ;
cholmod_sparse *A ;
- cholmod_dense *X, *B, *Residual ;
- double anorm, xnorm, rnorm, one [2] = {1,0}, minusone [2] = {-1,0} ;
+ cholmod_dense *X, *B ;
int mtype ;
- Int m, n, rnk ;
+ Int m, n ;
// start CHOLMOD
cc = &Common ;
@@ -38,10 +81,7 @@ int main (int argc, char **argv)
m = A->nrow ;
n = A->ncol ;
- // anorm = norm (A,1) ;
- anorm = cholmod_l_norm_sparse (A, 1, cc) ;
-
- printf ("Matrix %6ld-by-%-6ld nnz: %6ld ", m, n, cholmod_l_nnz (A, cc)) ;
+ printf ("Matrix %6ld-by-%-6ld nnz: %6ld\n", m, n, cholmod_l_nnz (A, cc)) ;
// B = ones (m,1), a dense right-hand-side of the same type as A
B = cholmod_l_ones (m, 1, A->xtype, cc) ;
@@ -60,28 +100,63 @@ int main (int argc, char **argv)
(SPQR_ORDERING_DEFAULT, SPQR_DEFAULT_TOL, A, B, cc) ;
}
- // get the rank(A) estimate
- rnk = cc->SPQR_istat [4] ;
-
- // rnorm = norm (A*X-B)
- Residual = cholmod_l_copy_dense (B, cc) ;
- cholmod_l_sdmult (A, 0, one, minusone, X, Residual, cc) ;
- rnorm = cholmod_l_norm_dense (Residual, 2, cc) ;
+ check_residual (A, X, B, cc) ;
+ cholmod_l_free_dense (&X, cc) ;
- // xnorm = norm (X)
- xnorm = cholmod_l_norm_dense (X, 2, cc) ;
+ // -------------------------------------------------------------------------
+ // factorizing once then solving twice with different right-hand-sides
+ // -------------------------------------------------------------------------
- if (m <= n && anorm > 0 && xnorm > 0)
+ // Just the real case. Complex case is essentially identical
+ if (A->xtype == CHOLMOD_REAL)
{
- // find the relative residual, except for least-squares systems
- rnorm /= (anorm * xnorm) ;
+ SuiteSparseQR_factorization *QR ;
+ cholmod_dense *Y ;
+ Int i ;
+ double *Bx ;
+
+ // factorize once
+ QR = SuiteSparseQR_factorize
+ (SPQR_ORDERING_DEFAULT, SPQR_DEFAULT_TOL, A, cc) ;
+
+ // solve Ax=b, using the same B as before
+
+ // Y = Q'*B
+ Y = SuiteSparseQR_qmult (SPQR_QTX, QR, B, cc) ;
+ // X = R\(E*Y)
+ X = SuiteSparseQR_solve (SPQR_RETX_EQUALS_B, QR, Y, cc) ;
+ // check the results
+ check_residual (A, X, B, cc) ;
+ // free X and Y
+ cholmod_l_free_dense (&Y, cc) ;
+ cholmod_l_free_dense (&X, cc) ;
+
+ // repeat with a different B
+ Bx = (double *) (B->x) ;
+ for (i = 0 ; i < m ; i++)
+ {
+ Bx [i] = i ;
+ }
+
+ // Y = Q'*B
+ Y = SuiteSparseQR_qmult (SPQR_QTX, QR, B, cc) ;
+ // X = R\(E*Y)
+ X = SuiteSparseQR_solve (SPQR_RETX_EQUALS_B, QR, Y, cc) ;
+ // check the results
+ check_residual (A, X, B, cc) ;
+ // free X and Y
+ cholmod_l_free_dense (&Y, cc) ;
+ cholmod_l_free_dense (&X, cc) ;
+
+ // free QR
+ SuiteSparseQR_free (&QR, cc) ;
}
- printf ("residual: %8.1e rank: %6ld\n", rnorm, rnk) ;
- // free everything
- cholmod_l_free_dense (&Residual, cc) ;
+ // -------------------------------------------------------------------------
+ // free everything that remains
+ // -------------------------------------------------------------------------
+
cholmod_l_free_sparse (&A, cc) ;
- cholmod_l_free_dense (&X, cc) ;
cholmod_l_free_dense (&B, cc) ;
cholmod_l_finish (cc) ;
return (0) ;
diff --git a/SPQR/Demo/qrdemo_out.txt b/SPQR/Demo/qrdemo_out.txt
index eafefcfc62..34f70e99c0 100644
--- a/SPQR/Demo/qrdemo_out.txt
+++ b/SPQR/Demo/qrdemo_out.txt
@@ -1,66 +1,148 @@
+( cd ../Lib ; make )
+make[1]: Entering directory `/cise/research/sparse2/SuiteSparse/SPQR/Lib'
+make[1]: Nothing to be done for `default'.
+make[1]: Leaving directory `/cise/research/sparse2/SuiteSparse/SPQR/Lib'
+g++ -O3 -fexceptions -I../../CHOLMOD/Include -I../../UFconfig -I../Include qrdemo.cpp -o qrdemo ../Lib/libspqr.a ../../CHOLMOD/Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../metis-4.0/libmetis.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a -lm -llapack_plain -lblas_plain -lgfortran -lgfortranbegin
+g++ -O3 -fexceptions -I../../CHOLMOD/Include -I../../UFconfig -I../Include qrsimple.cpp -o qrsimple ../Lib/libspqr.a ../../CHOLMOD/Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../metis-4.0/libmetis.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a -lm -llapack_plain -lblas_plain -lgfortran -lgfortranbegin
+g++ -O3 -fexceptions -I../../CHOLMOD/Include -I../../UFconfig -I../Include -o qrsimplec qrsimplec.o ../Lib/libspqr.a ../../CHOLMOD/Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../metis-4.0/libmetis.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a -lm -llapack_plain -lblas_plain -lgfortran -lgfortranbegin
./qrsimple < ../Matrix/ash219.mtx
-2-norm of residual: 2.9e-15
+2-norm of residual: 3.8e-15
rank 85
./qrsimplec < ../Matrix/ash219.mtx
-2-norm of residual: 2.9e-15
+2-norm of residual: 3.8e-15
rank 85
./qrsimple < ../Matrix/west0067.mtx
-2-norm of residual: 6.7e-15
+2-norm of residual: 8.3e-15
rank 67
./qrsimplec < ../Matrix/west0067.mtx
-2-norm of residual: 6.7e-15
+2-norm of residual: 8.3e-15
rank 67
./qrdemo < ../Matrix/a2.mtx
-Matrix 2-by-2 nnz: 3 residual: 1.5e-17 rank: 2
+Matrix 2-by-2 nnz: 3
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
./qrdemo < ../Matrix/r2.mtx
-Matrix 2-by-3 nnz: 4 residual: 1.1e-17 rank: 2
+Matrix 2-by-3 nnz: 4
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
./qrdemo < ../Matrix/a04.mtx
-Matrix 0-by-4 nnz: 0 residual: 0.0e+00 rank: 0
+Matrix 0-by-4 nnz: 0
+residual: 0.0e+00 rank: 0
+residual: 0.0e+00 rank: 0
+residual: 0.0e+00 rank: 0
./qrdemo < ../Matrix/a2.mtx
-Matrix 2-by-2 nnz: 3 residual: 1.5e-17 rank: 2
+Matrix 2-by-2 nnz: 3
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
+residual: 0.0e+00 rank: 2
./qrdemo < ../Matrix/west0067.mtx
-Matrix 67-by-67 nnz: 294 residual: 4.1e-17 rank: 67
+Matrix 67-by-67 nnz: 294
+residual: 5.1e-17 rank: 67
+residual: 6.1e-17 rank: 67
+residual: 5.7e-17 rank: 67
./qrdemo < ../Matrix/c2.mtx
-Matrix 2-by-2 nnz: 4 residual: 1.1e-16 rank: 2
+Matrix 2-by-2 nnz: 4
+residual: 1.7e-16 rank: 2
./qrdemo < ../Matrix/a0.mtx
-Matrix 0-by-0 nnz: 0 residual: 0.0e+00 rank: 0
+Matrix 0-by-0 nnz: 0
+residual: 0.0e+00 rank: 0
+residual: 0.0e+00 rank: 0
+residual: 0.0e+00 rank: 0
./qrdemo < ../Matrix/lfat5b.mtx
-Matrix 14-by-14 nnz: 46 residual: 5.1e-17 rank: 14
+Matrix 14-by-14 nnz: 46
+residual: 8.6e-17 rank: 14
+residual: 1.3e-16 rank: 14
+residual: 3.5e-17 rank: 14
./qrdemo < ../Matrix/bfwa62.mtx
-Matrix 62-by-62 nnz: 450 residual: 3.7e-17 rank: 62
+Matrix 62-by-62 nnz: 450
+residual: 6.4e-17 rank: 62
+residual: 5.5e-17 rank: 62
+residual: 4.4e-17 rank: 62
./qrdemo < ../Matrix/LFAT5.mtx
-Matrix 14-by-14 nnz: 46 residual: 2.4e-22 rank: 14
+Matrix 14-by-14 nnz: 46
+residual: 5.7e-22 rank: 14
+residual: 5.7e-22 rank: 14
+residual: 3.7e-21 rank: 14
./qrdemo < ../Matrix/b1_ss.mtx
-Matrix 7-by-7 nnz: 15 residual: 1.0e-17 rank: 7
+Matrix 7-by-7 nnz: 15
+residual: 7.3e-18 rank: 7
+residual: 8.2e-18 rank: 7
+residual: 3.2e-17 rank: 7
./qrdemo < ../Matrix/bcspwr01.mtx
-Matrix 39-by-39 nnz: 131 residual: 5.8e-17 rank: 39
+Matrix 39-by-39 nnz: 131
+residual: 5.7e-17 rank: 39
+residual: 8.0e-17 rank: 39
+residual: 6.0e-17 rank: 39
./qrdemo < ../Matrix/lpi_galenet.mtx
-Matrix 8-by-14 nnz: 22 residual: 0.0e+00 rank: 8
+Matrix 8-by-14 nnz: 22
+residual: 0.0e+00 rank: 8
+residual: 0.0e+00 rank: 8
+residual: 0.0e+00 rank: 8
./qrdemo < ../Matrix/lpi_itest6.mtx
-Matrix 11-by-17 nnz: 29 residual: 0.0e+00 rank: 11
+Matrix 11-by-17 nnz: 29
+residual: 0.0e+00 rank: 11
+residual: 0.0e+00 rank: 11
+residual: 0.0e+00 rank: 11
./qrdemo < ../Matrix/ash219.mtx
-Matrix 219-by-85 nnz: 438 residual: 2.9e-15 rank: 85
+Matrix 219-by-85 nnz: 438
+residual: 3.8e-15 rank: 85
+residual: 4.6e-15 rank: 85
+residual: 1.7e+02 rank: 85
./qrdemo < ../Matrix/a4.mtx
-Matrix 4-by-2 nnz: 4 residual: 1.4e+00 rank: 2
+Matrix 4-by-2 nnz: 4
+residual: 1.4e+00 rank: 2
+residual: 1.4e+00 rank: 2
+residual: 3.6e+00 rank: 2
./qrdemo < ../Matrix/s32.mtx
-Matrix 3-by-2 nnz: 6 residual: 1.1e-02 rank: 2
+Matrix 3-by-2 nnz: 6
+residual: 1.1e-02 rank: 2
+residual: 1.1e-02 rank: 2
+residual: 1.4e-02 rank: 2
./qrdemo < ../Matrix/c32.mtx
-Matrix 3-by-2 nnz: 6 residual: 1.9e-01 rank: 2
+Matrix 3-by-2 nnz: 6
+residual: 1.9e-01 rank: 2
./qrdemo < ../Matrix/lp_share1b.mtx
-Matrix 117-by-253 nnz: 1179 residual: 8.4e-20 rank: 117
+Matrix 117-by-253 nnz: 1179
+residual: 7.2e-20 rank: 117
+residual: 1.2e-19 rank: 117
+residual: 8.9e-20 rank: 117
./qrdemo < ../Matrix/a1.mtx
-Matrix 4-by-4 nnz: 7 residual: 6.1e-01 rank: 2
+Matrix 4-by-4 nnz: 7
+residual: 6.1e-01 rank: 2
+residual: 6.1e-01 rank: 2
+residual: 1.4e+00 rank: 2
./qrdemo < ../Matrix/GD06_theory.mtx
-Matrix 101-by-101 nnz: 380 residual: 7.2e-02 rank: 20
+Matrix 101-by-101 nnz: 380
+residual: 7.2e-02 rank: 20
+residual: 7.2e-02 rank: 20
+residual: 7.3e-02 rank: 20
./qrdemo < ../Matrix/GD01_b.mtx
-Matrix 18-by-18 nnz: 37 residual: 8.6e-17 rank: 17
+Matrix 18-by-18 nnz: 37
+residual: 7.9e-17 rank: 17
+residual: 1.8e-16 rank: 17
+residual: 9.9e-03 rank: 17
./qrdemo < ../Matrix/Tina_AskCal_perm.mtx
-Matrix 11-by-11 nnz: 29 residual: 7.9e-18 rank: 9
+Matrix 11-by-11 nnz: 29
+residual: 3.8e-17 rank: 9
+residual: 5.0e-17 rank: 9
+residual: 1.7e-02 rank: 9
./qrdemo < ../Matrix/Tina_AskCal.mtx
-Matrix 11-by-11 nnz: 29 residual: 5.6e-18 rank: 9
+Matrix 11-by-11 nnz: 29
+residual: 3.7e-17 rank: 9
+residual: 5.0e-17 rank: 9
+residual: 3.1e-02 rank: 9
./qrdemo < ../Matrix/GD98_a.mtx
-Matrix 38-by-38 nnz: 50 residual: 2.4e-01 rank: 14
+Matrix 38-by-38 nnz: 50
+residual: 2.4e-01 rank: 14
+residual: 2.4e-01 rank: 14
+residual: 2.2e-01 rank: 14
./qrdemo < ../Matrix/Ragusa16.mtx
-Matrix 24-by-24 nnz: 81 residual: 2.1e-02 rank: 18
+Matrix 24-by-24 nnz: 81
+residual: 2.1e-02 rank: 18
+residual: 2.1e-02 rank: 18
+residual: 1.5e-02 rank: 18
./qrdemo < ../Matrix/young1c.mtx
-Matrix 841-by-841 nnz: 4089 residual: 1.2e-16 rank: 841
+Matrix 841-by-841 nnz: 4089
+residual: 2.1e-16 rank: 841
diff --git a/SPQR/Demo/qrdemoc_out.txt b/SPQR/Demo/qrdemoc_out.txt
index fe7c6c938f..ff2cdf4e87 100644
--- a/SPQR/Demo/qrdemoc_out.txt
+++ b/SPQR/Demo/qrdemoc_out.txt
@@ -1,33 +1,39 @@
+cc -O3 -fexceptions -ansi -I../../CHOLMOD/Include -I../../UFconfig -I../Include -c qrdemoc.c
+( cd ../Lib ; make )
+make[1]: Entering directory `/cise/research/sparse2/SuiteSparse/SPQR/Lib'
+make[1]: Nothing to be done for `default'.
+make[1]: Leaving directory `/cise/research/sparse2/SuiteSparse/SPQR/Lib'
+g++ -O3 -fexceptions -I../../CHOLMOD/Include -I../../UFconfig -I../Include -o qrdemoc qrdemoc.o ../Lib/libspqr.a ../../CHOLMOD/Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../metis-4.0/libmetis.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a -lm -llapack_plain -lblas_plain -lgfortran -lgfortranbegin
./qrdemoc < ../Matrix/a2.mtx
-Matrix 2-by-2 nnz: 3 residual: 1.5e-17 rank: 2
+Matrix 2-by-2 nnz: 3 residual: 0.0e+00 rank: 2
./qrdemoc < ../Matrix/r2.mtx
-Matrix 2-by-3 nnz: 4 residual: 1.1e-17 rank: 2
+Matrix 2-by-3 nnz: 4 residual: 0.0e+00 rank: 2
./qrdemoc < ../Matrix/a04.mtx
Matrix 0-by-4 nnz: 0 residual: 0.0e+00 rank: 0
./qrdemoc < ../Matrix/a2.mtx
-Matrix 2-by-2 nnz: 3 residual: 1.5e-17 rank: 2
+Matrix 2-by-2 nnz: 3 residual: 0.0e+00 rank: 2
./qrdemoc < ../Matrix/west0067.mtx
-Matrix 67-by-67 nnz: 294 residual: 4.1e-17 rank: 67
+Matrix 67-by-67 nnz: 294 residual: 5.1e-17 rank: 67
./qrdemoc < ../Matrix/c2.mtx
-Matrix 2-by-2 nnz: 4 residual: 1.1e-16 rank: 2
+Matrix 2-by-2 nnz: 4 residual: 1.7e-16 rank: 2
./qrdemoc < ../Matrix/a0.mtx
Matrix 0-by-0 nnz: 0 residual: 0.0e+00 rank: 0
./qrdemoc < ../Matrix/lfat5b.mtx
-Matrix 14-by-14 nnz: 46 residual: 5.1e-17 rank: 14
+Matrix 14-by-14 nnz: 46 residual: 8.6e-17 rank: 14
./qrdemoc < ../Matrix/bfwa62.mtx
-Matrix 62-by-62 nnz: 450 residual: 3.7e-17 rank: 62
+Matrix 62-by-62 nnz: 450 residual: 6.4e-17 rank: 62
./qrdemoc < ../Matrix/LFAT5.mtx
-Matrix 14-by-14 nnz: 46 residual: 2.4e-22 rank: 14
+Matrix 14-by-14 nnz: 46 residual: 5.7e-22 rank: 14
./qrdemoc < ../Matrix/b1_ss.mtx
-Matrix 7-by-7 nnz: 15 residual: 1.0e-17 rank: 7
+Matrix 7-by-7 nnz: 15 residual: 7.3e-18 rank: 7
./qrdemoc < ../Matrix/bcspwr01.mtx
-Matrix 39-by-39 nnz: 131 residual: 5.8e-17 rank: 39
+Matrix 39-by-39 nnz: 131 residual: 5.7e-17 rank: 39
./qrdemoc < ../Matrix/lpi_galenet.mtx
Matrix 8-by-14 nnz: 22 residual: 0.0e+00 rank: 8
./qrdemoc < ../Matrix/lpi_itest6.mtx
Matrix 11-by-17 nnz: 29 residual: 0.0e+00 rank: 11
./qrdemoc < ../Matrix/ash219.mtx
-Matrix 219-by-85 nnz: 438 residual: 2.9e-15 rank: 85
+Matrix 219-by-85 nnz: 438 residual: 3.8e-15 rank: 85
./qrdemoc < ../Matrix/a4.mtx
Matrix 4-by-2 nnz: 4 residual: 1.4e+00 rank: 2
./qrdemoc < ../Matrix/s32.mtx
@@ -35,20 +41,20 @@ Matrix 3-by-2 nnz: 6 residual: 1.1e-02 rank: 2
./qrdemoc < ../Matrix/c32.mtx
Matrix 3-by-2 nnz: 6 residual: 1.9e-01 rank: 2
./qrdemoc < ../Matrix/lp_share1b.mtx
-Matrix 117-by-253 nnz: 1179 residual: 8.4e-20 rank: 117
+Matrix 117-by-253 nnz: 1179 residual: 7.2e-20 rank: 117
./qrdemoc < ../Matrix/a1.mtx
Matrix 4-by-4 nnz: 7 residual: 6.1e-01 rank: 2
./qrdemoc < ../Matrix/GD06_theory.mtx
Matrix 101-by-101 nnz: 380 residual: 7.2e-02 rank: 20
./qrdemoc < ../Matrix/GD01_b.mtx
-Matrix 18-by-18 nnz: 37 residual: 8.6e-17 rank: 17
+Matrix 18-by-18 nnz: 37 residual: 7.9e-17 rank: 17
./qrdemoc < ../Matrix/Tina_AskCal_perm.mtx
-Matrix 11-by-11 nnz: 29 residual: 7.9e-18 rank: 9
+Matrix 11-by-11 nnz: 29 residual: 3.8e-17 rank: 9
./qrdemoc < ../Matrix/Tina_AskCal.mtx
-Matrix 11-by-11 nnz: 29 residual: 5.6e-18 rank: 9
+Matrix 11-by-11 nnz: 29 residual: 3.7e-17 rank: 9
./qrdemoc < ../Matrix/GD98_a.mtx
Matrix 38-by-38 nnz: 50 residual: 2.4e-01 rank: 14
./qrdemoc < ../Matrix/Ragusa16.mtx
Matrix 24-by-24 nnz: 81 residual: 2.1e-02 rank: 18
./qrdemoc < ../Matrix/young1c.mtx
-Matrix 841-by-841 nnz: 4089 residual: 1.2e-16 rank: 841
+Matrix 841-by-841 nnz: 4089 residual: 2.1e-16 rank: 841
diff --git a/SPQR/Doc/ChangeLog b/SPQR/Doc/ChangeLog
index a79bcc80c1..d2c7773f2f 100644
--- a/SPQR/Doc/ChangeLog
+++ b/SPQR/Doc/ChangeLog
@@ -1,3 +1,10 @@
+Jan 25, 2011: version 1.2.1
+
+ * minor fix to "make install"
+ * added more examples to SPRQ/Demo/qrdemo.cpp
+ * fixed error-condition return value for Source/SuiteSparseQR.cpp
+ * minor fix to SPQR/Tcov/qrtest.cpp
+
Nov 30, 2009: version 1.2.0
* fixed interface to 64-bit BLAS for MATLAB 7.8
diff --git a/SPQR/Include/SuiteSparseQR_definitions.h b/SPQR/Include/SuiteSparseQR_definitions.h
index 0e903cdb45..492dc6100b 100644
--- a/SPQR/Include/SuiteSparseQR_definitions.h
+++ b/SPQR/Include/SuiteSparseQR_definitions.h
@@ -59,11 +59,11 @@
#endif
*/
-#define SPQR_DATE "Nov 30, 2009"
+#define SPQR_DATE "Jan 25, 2011"
#define SPQR_VER_CODE(main,sub) ((main) * 1000 + (sub))
#define SPQR_MAIN_VERSION 1
#define SPQR_SUB_VERSION 2
-#define SPQR_SUBSUB_VERSION 0
+#define SPQR_SUBSUB_VERSION 1
#define SPQR_VERSION SPQR_VER_CODE(SPQR_MAIN_VERSION,SPQR_SUB_VERSION)
#endif
diff --git a/SPQR/MATLAB/spqr.m b/SPQR/MATLAB/spqr.m
index 6df3a52637..56358f8306 100644
--- a/SPQR/MATLAB/spqr.m
+++ b/SPQR/MATLAB/spqr.m
@@ -1,4 +1,4 @@
-function [out1,out2,P] = spqr (A,arg2,arg3) %#ok
+function [Q,R,P,info] = spqr (A,arg2,arg3) %#ok
%SPQR multithreaded multifrontal rank-revealing sparse QR.
%For a sparse m-by-n matrix A, and sparse or full B of size m-by-k:
%
@@ -80,10 +80,10 @@
% the default ordering: COLAMD if m<=2*n; otherwise try AMD. If the flops
% for chol(SP'SP) / nnz(R) >= 500 and nnz(R)/nnz(S)>=5 with the ordering P
% found by AMD, then try METIS, and take the best ordering found. 'amd':
-% AMD(S'*S) 'colamd': COLAMD(S) 'metis': METIS(S'*S), only if METIS is
-% installed 'best': try all three (AMD, COLAMD, METIS) and take the best
-% 'bestamd': try AMD and COLAMD and take the best 'fixed': P=I; this is the
-% only option if P is not present in the output 'natural': singleton removal
+% AMD(S'*S). 'colamd': COLAMD(S) 'metis': METIS(S'*S), only if METIS is
+% installed. 'best': try all three (AMD, COLAMD, METIS) and take the best
+% 'bestamd': try AMD and COLAMD and take the best. 'fixed': P=I; this is the
+% only option if P is not present in the output. 'natural': singleton removal
% only The singleton pre-ordering permutes A prior to factorization into the
% form [A11 A12 ; 0 A22] where A11 is upper triangular with
% all(abs(diag(A11)) > opts.tol) (see spqr_singletons).
@@ -127,5 +127,4 @@
% Copyright 2008-2009, Timothy A. Davis
% http://www.cise.ufl.edu/research/sparse
-type spqr
error ('spqr mexFunction not found') ;
diff --git a/SPQR/Makefile b/SPQR/Makefile
index 50f5991ac3..3c13aadfa7 100644
--- a/SPQR/Makefile
+++ b/SPQR/Makefile
@@ -2,7 +2,7 @@
# SuiteSparseQR Makefile
#-------------------------------------------------------------------------------
-VERSION = 1.2.0
+VERSION = 1.2.1
include ../UFconfig/UFconfig.mk
@@ -42,7 +42,7 @@ ccode: demos
# install SPQR
install:
$(CP) Lib/libspqr.a $(INSTALL_LIB)/libspqr.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libspqr.$(VERSION).a libspqr.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libspqr.$(VERSION).a libspqr.a )
$(CP) Include/SuiteSparseQR.hpp $(INSTALL_INCLUDE)
$(CP) Include/SuiteSparseQR_C.h $(INSTALL_INCLUDE)
$(CP) Include/SuiteSparseQR_definitions.h $(INSTALL_INCLUDE)
diff --git a/SPQR/README.txt b/SPQR/README.txt
index 41b41a0a07..2f79ef1d37 100644
--- a/SPQR/README.txt
+++ b/SPQR/README.txt
@@ -1,4 +1,4 @@
-SuiteSparseQR version 1.1.0, Sept 20, 2008, Copyright (c) 2008, Timothy A. Davis
+SuiteSparseQR Copyright (c) 2008-2011, Timothy A. Davis
SuiteSparseQR is a a multithread, multifrontal, rank-revealing sparse QR
factorization method.
diff --git a/SPQR/Source/SuiteSparseQR.cpp b/SPQR/Source/SuiteSparseQR.cpp
index aeec4bcde7..21e4268214 100644
--- a/SPQR/Source/SuiteSparseQR.cpp
+++ b/SPQR/Source/SuiteSparseQR.cpp
@@ -130,12 +130,12 @@ template Int SuiteSparseQR
if (p_HPinv != NULL) *p_HPinv = NULL ;
if (p_HTau != NULL) *p_HTau = NULL ;
- RETURN_IF_NULL_COMMON (FALSE) ;
- RETURN_IF_NULL (A, FALSE) ;
+ RETURN_IF_NULL_COMMON (EMPTY) ;
+ RETURN_IF_NULL (A, EMPTY) ;
Int xtype = spqr_type ( ) ;
- RETURN_IF_XTYPE_INVALID (A, FALSE) ;
- if (Bsparse != NULL) RETURN_IF_XTYPE_INVALID (Bsparse, FALSE) ;
- if (Bdense != NULL) RETURN_IF_XTYPE_INVALID (Bdense, FALSE) ;
+ RETURN_IF_XTYPE_INVALID (A, EMPTY) ;
+ if (Bsparse != NULL) RETURN_IF_XTYPE_INVALID (Bsparse, EMPTY) ;
+ if (Bdense != NULL) RETURN_IF_XTYPE_INVALID (Bdense, EMPTY) ;
cc->status = CHOLMOD_OK ;
n = 0 ;
diff --git a/SPQR/Source/SuiteSparseQR_expert.cpp b/SPQR/Source/SuiteSparseQR_expert.cpp
index 3398efc7cf..ae9afe4431 100644
--- a/SPQR/Source/SuiteSparseQR_expert.cpp
+++ b/SPQR/Source/SuiteSparseQR_expert.cpp
@@ -174,6 +174,8 @@ SuiteSparseQR_factorization *SuiteSparseQR_symbolic
// SuiteSparseQR_symbolic. Alternatively, if SuiteSparseQR_factorize
// did not find any singletons (QR->n1cols == 0), a call to
// SuiteSparseQR_factorize can be followed by a factorization by this function.
+//
+// Returns TRUE if successful, FALSE otherwise.
template int SuiteSparseQR_numeric
(
diff --git a/SPQR/Tcov/qrtest.cpp b/SPQR/Tcov/qrtest.cpp
index 6b3af9bab6..d85e5a9295 100644
--- a/SPQR/Tcov/qrtest.cpp
+++ b/SPQR/Tcov/qrtest.cpp
@@ -2576,7 +2576,15 @@ int do_matrix (int kind, FILE *file, cholmod_common *cc)
fprintf (stderr, "Unable to read matrix\n") ;
return (1) ;
}
- fprintf (stderr, "%5ld by %5ld : ", (Int) A->nrow, (Int) A->ncol) ;
+ Int m = A->nrow ;
+ Int n = A->ncol ;
+ fprintf (stderr, "%5ld by %5ld : ", m, n) ;
+ if (sizeof (Int) > sizeof (int) && (m > 10000 || n > 10000))
+ {
+ fprintf (stderr, "(test skipped on 64-bit systems)\n") ;
+ cholmod_l_free_sparse (&A, cc) ;
+ return (0) ;
+ }
// -------------------------------------------------------------------------
// use it to test SuiteSparseQR
@@ -2608,9 +2616,6 @@ int do_matrix (int kind, FILE *file, cholmod_common *cc)
// free the matrix and report the results
// -------------------------------------------------------------------------
- Int m = A->nrow ;
- Int n = A->ncol ;
-
if (kind == 0)
{
printf ("First Resid and ") ;
@@ -2704,7 +2709,7 @@ int main (int argc, char **argv)
}
fprintf (stderr, "%-30s ", matrix_name) ;
FILE *matrix = fopen (matrix_name, "r") ;
- if (file == NULL)
+ if (matrix == NULL)
{
fprintf (stderr, "Unable to open %s\n", matrix_name) ;
nfail++ ;
@@ -2712,6 +2717,7 @@ int main (int argc, char **argv)
nfail += do_matrix (kind, matrix, cc) ;
fclose (matrix) ;
}
+ fclose (file) ;
}
// -------------------------------------------------------------------------
diff --git a/SSMULT/Makefile b/SSMULT/Makefile
index 9b29999c2d..ce847adb59 100644
--- a/SSMULT/Makefile
+++ b/SSMULT/Makefile
@@ -24,4 +24,4 @@ clean:
rm -f *.o
purge: clean
- rm *.mexglx
+ rm *.mex*
diff --git a/SSMULT/README.txt b/SSMULT/README.txt
index c8e93ab036..ef3772e95e 100644
--- a/SSMULT/README.txt
+++ b/SSMULT/README.txt
@@ -1,5 +1,5 @@
-SSMULT version 2.0, Mar 25, 2009. Distributed under the GNU GPL license (see
-below). Copyright (c) 2007-2009, Timothy A. Davis, University of Florida.
+SSMULT, Copyright (c) 2007-2009, Timothy A. Davis, University of Florida.
+Distributed under the GNU GPL license (see below).
SSMULT is also available under other licenses; contact the author for details.
http://www.cise.ufl.edu/research/sparse
diff --git a/SuiteSparse_install.m b/SuiteSparse_install.m
index 3ee09bc0d4..5308e7fb03 100644
--- a/SuiteSparse_install.m
+++ b/SuiteSparse_install.m
@@ -62,7 +62,7 @@ function SuiteSparse_install (do_demo)
% check if METIS 4.0.1 is present where it's supposed to be
have_metis = exist ('metis-4.0', 'dir') ;
if (~have_metis)
- fprintf ('SPQR, CHOLMOD, and KLU optionally use METIS 4.0.1. Download\n') ;
+ fprintf ('Some codes optionally use METIS 4.0.1. Download\n') ;
fprintf ('it from http://glaros.dtc.umn.edu/gkhome/views/metis\n');
fprintf ('and place the metis-4.0 directory in this directory.\n') ;
input ('or hit enter to continue without METIS: ', 's') ;
diff --git a/UFcollection/Doc/ChangeLog b/UFcollection/Doc/ChangeLog
index f6688880ae..754187f269 100644
--- a/UFcollection/Doc/ChangeLog
+++ b/UFcollection/Doc/ChangeLog
@@ -1,3 +1,8 @@
+Jan 25, 2011: version 1.4.0
+
+ * added new graphs to UFpage.m (bipartite, A+A')
+ * METIS no longer used. It causes too many segfaults...
+
Nov 30, 2009: version 1.3.0
* added code to compute UFstats.csv for UFgui
diff --git a/UFcollection/README.txt b/UFcollection/README.txt
index 65d7bf25e0..27f57dcf84 100644
--- a/UFcollection/README.txt
+++ b/UFcollection/README.txt
@@ -1,4 +1,4 @@
-UFcollection, Version 1.3.0, Nov 30, 2009.
+UFcollection, Copyright 2007-2011, Timothy A. Davis
UFcollection is a MATLAB toolbox for managing the UF Sparse Matrix Collection.
If you are a MATLAB user of the collection, you would not normally need to use
@@ -54,7 +54,6 @@ MATLAB help for the UFcollection toolbox:
Requires UFget, CSparse, CHOLMOD, AMD, COLAMD, RBio, and METIS.
- Copyright 2007, Timothy A. Davis
--------------------------------------------------------------------------------
Files:
diff --git a/UFcollection/UFindex.m b/UFcollection/UFindex.m
index b639966dcc..36974c9c8e 100644
--- a/UFcollection/UFindex.m
+++ b/UFcollection/UFindex.m
@@ -36,16 +36,19 @@
% amd_flops flop count for chol(C(p,p)) where, C=A+A', p=amd(C)
% amd_vnz nnz in Householder vectors for qr(A(:,colamd(A)))
% amd_rnz nnz in R for qr(A(:,colamd(A)))
+%
+% These results are for matrices 1:2336 only:
% metis_lnz nnz(L) for chol(C(p,p)) where, C=A+A', p=metis(C)
% metis_flops flop count for chol(C(p,p)) where, C=A+A', p=metis(C)
% metis_vnz nnz in Householder vectors for qr(A(:,metis(A,'col')))
% metis_rnz nnz in R for qr(A(:,metis(A,'col')))
+%
% nblocks # of blocks from dmperm
% sprank sprank(A)
% nzoff # of entries not in diagonal blocks from dmperm
% ncc # of strongly connected components
-% dmperm_lnz nnz(L), using dmperm plus amd or metis
-% dmperm_unz nnz(U), using dmperm plus amd or metis
+% dmperm_lnz nnz(L), using dmperm plus amd (or metis for matrices 1:2336)
+% dmperm_unz nnz(U), using dmperm plus amd (or metis for matrices 1:2336)
% dmperm_flops flop count with dperm plus
% dmperm_vnz nnz in Householder vectors for dmperm plus
% dmperm_rnz nnz in R for dmperm plus
@@ -103,7 +106,14 @@
fprintf ('Loading existing UF_Index.mat file\n') ;
%% UF_Index = load ('UF_Index.mat') ;
%% UF_Index = UF_Index.UF_Index ;
- UF_Index = UFget ;
+ try
+ load UF_Index
+ fprintf ('loaded UF_Index in current directory:\n%s\n', pwd) ;
+ dir
+ catch
+ fprintf ('loading UF_Index=UFget\n') ;
+ UF_Index = UFget ;
+ end
end
% get the current UFkinds
@@ -277,7 +287,7 @@
ffile = deblank (files {i}) ;
fprintf ('Matrix %d: %s filesize %d\n', i, ffile, filesize (i)) ;
if (filesize (i) == 9999999999)
- fprintf ('skip this file\n') ;
+ fprintf ('skip this file (not found)\n') ;
continue ;
end
end
@@ -287,8 +297,17 @@
% load the matrices
%-------------------------------------------------------------------------------
-% metis (A,'col') fails with a seg fault for these matrices:
-skip_metis = [850 858 1257 1258] ;
+% updated Jan 2011. metis has too many bugs to be used reliably.
+%
+% % metis (A,'col') fails with a seg fault for these matrices:
+% skip_metis = [850 858 1257 1258 2302] ;
+%
+% % fails in dmperm analysis
+% skip_metis = [skip_metis 2337] ;
+%
+% % metis is exceedingly slow; try again later
+% skip_all_metis = [2276 2277] ;
+% skip_metis = [skip_metis skip_all_metis] ;
% these matrices are known to be positive definite, and indefinite,
% respectively, but sparse Cholesky fails (on a 4GB Penitum 4) on some of them:
@@ -323,10 +342,12 @@
kinds {id} = Problem.kind ;
- nometis = any (id == skip_metis) ;
- if (nometis)
- fprintf ('skip metis - will fail\n') ;
- end
+% updated Jan 2010. metis no longer used for matrices 2337 and following
+% nometis = any (id == skip_metis) + any (id == skip_all_metis) ;
+% if (nometis)
+% fprintf ('skip metis on A''A- will fail\n') ;
+% end
+ nometis = 2 ;
fprintf ('%s/%s\n', UF_Index.Group {id}, UF_Index.Name {id}) ;
@@ -392,6 +413,7 @@
UF_Index.amd_vnz (id) = stats.amd_vnz ;
UF_Index.amd_rnz (id) = stats.amd_rnz ;
+ % Jan 2010: these results are no longer computed
UF_Index.metis_lnz (id) = stats.metis_lnz ;
UF_Index.metis_flops (id) = stats.metis_flops ;
UF_Index.metis_vnz (id) = stats.metis_vnz ;
diff --git a/UFcollection/UFpage.m b/UFcollection/UFpage.m
index 97f5cb36f0..57b8fa0def 100644
--- a/UFcollection/UFpage.m
+++ b/UFcollection/UFpage.m
@@ -262,30 +262,88 @@ function UFpage (matrix, index, figures)
fprintf (f, 'iso-8859-1">%s sparse matrix\n', fullname) ;
fprintf (f, '\n') ;
+% matrix name and description
+fprintf (f, 'Matrix: %s\n', fullname) ;
+fprintf (f, '
Description: %s
\n', ptitle) ;
+
% Yifan Hu's medium-sized graph plot, for all matrices
yifan_graphs = 'http://www.research.att.com/~yifanhu/GALLERY/GRAPHS/' ;
yifan_thumb = [yifan_graphs 'GIF_THUMBNAIL/'] ;
yifan_medium = [yifan_graphs 'GIF_SMALL/'] ;
yname = strrep (fullname, '/', '@') ;
+
+% add the primary graph
fprintf (f, '\n
') ;
+fprintf (f, '
\n\n') ;
fprintf (f, ...
- '
\n\n', ...
+ '![%s graph](%s%s.gif) | \n', ...
yifan_medium, yname, fullname, yifan_medium, yname) ;
-% small gifs go first:
-% fprintf (f, '\n\n
\n', fullname, name) ;
-%
-%
-% fprintf (f, ...
- % '
\n', ...
- % yifan_medium, yname, fullname, yifan_thumb, yname) ;
+psym = index.pattern_symmetry (id) == 1 ;
-% matrix name and description
-fprintf (f, '
Matrix: %s\n', fullname) ;
-fprintf (f, '
Description: %s
\n', ptitle) ;
+% add the graph of A+A', for a square matrix with unsymmetric pattern
+if (m == n && ~psym)
+ fprintf (f, ...
+ '![%s graph](%s%s.APlusAT.gif) | \n', ...
+ yifan_medium, yname, fullname, yifan_medium, yname) ;
+end
+
+fprintf (f, '\n
\n\n') ;
+
+% add the caption for the primary graph
+if (m == n && psym)
+ fprintf (f, '(undirected graph drawing) | \n') ;
+else
+ fprintf (f, '(bipartite graph drawing) | \n') ;
+end
+
+% add the caption for the graph of A+A'
+if (m == n && ~psym)
+ fprintf (f, '(graph drawing of A+A'') | \n') ;
+end
+
+% finalize the graph drawing table
+fprintf (f, '\n
\n
\n') ;
+
+%-------------------------------------------------------------------------------
+% link to matrix images
+%-------------------------------------------------------------------------------
+
+fprintf (f, '\n\n
\n
\n\n') ;
+
+% primary matrix image
+fprintf (f, '![%s](%s.png) | \n', fullname, name) ;
+
+% dmspy, if it exists
+if (do_dmspy)
+ fprintf (f, '![dmperm of %s](%s_dmperm.png) | \n', ...
+ fullname, name) ;
+end
+
+fprintf (f, '
\n\n\n') ;
+
+% ccspy, if it exists
+if (do_scc)
+ fprintf (f, '![scc of %s](%s_scc.png) | \n', ...
+ fullname, name) ;
+end
+
+% gplot, if it exists
+if (do_gplot)
+ fprintf (f, '') ;
+ fprintf (f, ...
+'
![%s graph](%s_gplot.png) | \n', ...
+ name, fullname, name) ;
+end
+
+fprintf (f, '
\n
\n\n') ;
+
+%-------------------------------------------------------------------------------
+% download and informational links
+%-------------------------------------------------------------------------------
% link to UF collection
-fprintf (f, '- UF Sparse Matrix Collection\n') ;
+fprintf (f, '
- Home page of the UF Sparse Matrix Collection\n') ;
% link to group
fprintf (f, '
- Matrix group: %s\n', grp) ;
@@ -323,32 +381,6 @@ function UFpage (matrix, index, figures)
fullname) ;
fsize (f, [topdir 'RB/' fullname '.tar.gz']) ;
-%-------------------------------------------------------------------------------
-% link to images
-%-------------------------------------------------------------------------------
-
-fprintf (f, '\n\n
\n', fullname, name) ;
-
-% dmspy, if it exists
-if (do_dmspy)
- fprintf (f, '\n
\n', ...
- fullname, name) ;
-end
-
-% ccspy, if it exists
-if (do_scc)
- fprintf (f, '
\n', ...
- fullname, name) ;
-end
-
-% gplot, if it exists
-if (do_gplot)
- fprintf (f, '
') ;
- fprintf (f, ...
-'
\n', ...
- name, fullname, name) ;
-end
-
%-------------------------------------------------------------------------------
% table of matrix properties
%-------------------------------------------------------------------------------
diff --git a/UFcollection/UFstats.m b/UFcollection/UFstats.m
index f0f300d16c..9eaf9ab2ce 100644
--- a/UFcollection/UFstats.m
+++ b/UFcollection/UFstats.m
@@ -5,8 +5,10 @@
%
% A: a sparse matrix
% kind: a string with the Problem.kind
-% nometis: if nonzero then metis(A,'col') is not used, nor is metis used in the
-% dmperm+ ordering.
+% nometis:
+% 0: always try METIS
+% 1: use METIS only for A (not for A'A, and not for dmperm)
+% 2: do not use METIS at all
% Z: empty, or a sparse matrix the same size as A. Only used for psym and
% nzero statistics, described below.
%
@@ -60,6 +62,7 @@
if (nargin < 3)
nometis = 0 ;
end
+fprintf ('UFstats. nometis: %d\n', nometis) ;
%-------------------------------------------------------------------------------
% ensure the matrix is sparse
@@ -282,20 +285,22 @@
fprintf ('AMD lnz %d flops %g time: %g\n', ...
stats.amd_lnz, stats.amd_flops, toc) ;
- % order the whole matrix with METIS
- tic ;
- try
- p = metis (C) ;
- c = symbfact (C (p,p)) ;
- stats.metis_lnz = sum (c) ;
- stats.metis_flops = sum (c.^2) ;
- catch
- disp (lasterr) ;
- fprintf ('metis failed\n') ;
+ % order the whole matrix with METIS (A+A')
+ if (nometis <= 1)
+ tic ;
+ try
+ p = metis (C) ;
+ c = symbfact (C (p,p)) ;
+ stats.metis_lnz = sum (c) ;
+ stats.metis_flops = sum (c.^2) ;
+ catch
+ disp (lasterr) ;
+ fprintf ('metis failed\n') ;
+ end
+ clear p c C
+ fprintf ('METIS lnz %d flops %g time: %g\n', ...
+ stats.metis_lnz, stats.metis_flops, toc) ;
end
- clear p c C
- fprintf ('METIS lnz %d flops %g time: %g\n', ...
- stats.metis_lnz, stats.metis_flops, toc) ;
else
@@ -330,7 +335,7 @@
% order entire matrix with METIS, for LU bounds
%-------------------------------------------------------------------------------
-if (~nometis)
+if (nometis == 0)
try
q = metis (A, 'col') ;
[vnz,rnz] = cs_sqr (A (:,q)) ;
@@ -530,9 +535,11 @@
% all blocks are square, analyze a square block
% best of amd and metis
- if (nometis)
+ if (nometis > 0)
+ % use just AMD
[pblock c] = analyze (S|S', 'sym', 1) ;
else
+ % use AMD and METIS
[pblock c] = analyze (S|S', 'sym', 3) ;
end
lnzblock = sum (c) ;
@@ -557,9 +564,11 @@
end
% best of amd and metis
try
- if (nometis)
+ if (nometis > 0)
+ % use just AMD
pblock = analyze (S, 'col', 1) ;
else
+ % use AMD and METIS
pblock = analyze (S, 'col', 3) ;
end
catch
diff --git a/UFconfig/Makefile b/UFconfig/Makefile
index 420a530c07..b8ef789a45 100644
--- a/UFconfig/Makefile
+++ b/UFconfig/Makefile
@@ -1,6 +1,6 @@
# Makefile for UFconfig.c
-VERSION = 3.5.0
+VERSION = 3.6.0
default: ccode
@@ -25,8 +25,8 @@ clean:
# install UFconfig
install:
- $(CP) Lib/libufconfig.a $(INSTALL_LIB)/libufconfig.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libufconfig.$(VERSION).a libufconfig.a )
+ $(CP) libufconfig.a $(INSTALL_LIB)/libufconfig.$(VERSION).a
+ ( cd $(INSTALL_LIB) ; ln -sf libufconfig.$(VERSION).a libufconfig.a )
$(CP) UFconfig.h $(INSTALL_INCLUDE)
# uninstall UFconfig
diff --git a/UFconfig/UFconfig.h b/UFconfig/UFconfig.h
index 5b39627a38..204e55105e 100644
--- a/UFconfig/UFconfig.h
+++ b/UFconfig/UFconfig.h
@@ -109,23 +109,23 @@ void *UFfree /* always returns NULL */
* version of SuiteSparse, with another package from another version of
* SuiteSparse, may or may not work.
*
- * SuiteSparse Version 3.5.0 contains the following packages:
+ * SuiteSparse Version 3.6.0 contains the following packages:
*
- * AMD version 2.2.1
- * BTF version 1.1.1
- * CAMD version 2.2.1
- * CCOLAMD version 2.7.2
- * CHOLMOD version 1.7.2
- * COLAMD version 2.7.2
- * CSparse version 2.2.4
- * CXSparse version 2.2.4
- * KLU version 1.1.1
- * LDL version 2.0.2
- * RBio version 2.0.0
- * SuiteSparseQR version 1.2.0
- * UFcollection version 1.3.0
+ * AMD version 2.2.2
+ * BTF version 1.1.2
+ * CAMD version 2.2.2
+ * CCOLAMD version 2.7.3
+ * CHOLMOD version 1.7.3
+ * COLAMD version 2.7.3
+ * CSparse version 2.2.5
+ * CXSparse version 2.2.5
+ * KLU version 1.1.2
+ * LDL version 2.0.3
+ * RBio version 2.0.1
+ * SPQR version 1.2.1 (also called SuiteSparseQR)
+ * UFcollection version 1.4.0
* UFconfig version number is the same as SuiteSparse
- * UMFPACK version 5.5.0
+ * UMFPACK version 5.5.1
* LINFACTOR version 1.1.0
* MESHND version 1.1.1
* SSMULT version 2.0.2
@@ -137,11 +137,11 @@ void *UFfree /* always returns NULL */
* METIS 4.0.1 required by CHOLMOD (optional) and KLU (optional)
*/
-#define SUITESPARSE_DATE "Nov 30, 2009"
+#define SUITESPARSE_DATE "Jan 25, 2011"
#define SUITESPARSE_VER_CODE(main,sub) ((main) * 1000 + (sub))
#define SUITESPARSE_MAIN_VERSION 3
-#define SUITESPARSE_SUB_VERSION 5
-#define SUITESPARSE_SUBSUB_VERSION 1
+#define SUITESPARSE_SUB_VERSION 6
+#define SUITESPARSE_SUBSUB_VERSION 0
#define SUITESPARSE_VERSION \
SUITESPARSE_VER_CODE(SUITESPARSE_MAIN_VERSION,SUITESPARSE_SUB_VERSION)
diff --git a/UFconfig/UFconfig.mk b/UFconfig/UFconfig.mk
index c6974d9ac7..60c951b6a9 100644
--- a/UFconfig/UFconfig.mk
+++ b/UFconfig/UFconfig.mk
@@ -90,17 +90,22 @@ INSTALL_INCLUDE = /usr/local/include
# These settings will probably not work, since there is no fixed convention for
# naming the BLAS and LAPACK library (*.a or *.so) files.
-# Using the Goto BLAS:
-# BLAS = -lgoto -lgfortran -lgfortranbegin -lg2c
-
# This is probably slow ... it might connect to the Standard Reference BLAS:
-BLAS = -lblas
+BLAS = -lblas -lgfortran
LAPACK = -llapack
+# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
+# statement. Rather, the Goto BLAS is written by Dr. Kazushige Goto.
+# Using the Goto BLAS:
+# BLAS = -lgoto -lgfortran -lgfortranbegin
+
# Using non-optimized versions:
-# BLAS = -lblas_plain -lgfortran -lgfortranbegin -lg2c
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
# LAPACK = -llapack_plain
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
+# LAPACK = -llapack
+
# The BLAS might not contain xerbla, an error-handling routine for LAPACK and
# the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
# stops the application program if an error occurs. A C version of xerbla
diff --git a/UMFPACK/Demo/Makefile b/UMFPACK/Demo/Makefile
index 0626aa19cb..8213aae249 100644
--- a/UMFPACK/Demo/Makefile
+++ b/UMFPACK/Demo/Makefile
@@ -40,12 +40,12 @@ LIBS = $(BLAS) $(XERBLA) $(LIB)
../../CAMD/Lib/libcamd.a:
( cd ../../CAMD ; $(MAKE) library )
-../../metis-4.0/libmetis.a:
- ( cd ../../metis-4.0/Lib ; $(MAKE) )
+$(METIS):
+ ( cd $(METIS_PATH) ; $(MAKE) )
UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \
../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a \
- ../../CAMD/Lib/libcamd.a ../../metis-4.0/libmetis.a \
+ ../../CAMD/Lib/libcamd.a $(METIS) \
../../CCOLAMD/Lib/libccolamd.a
libs: $(UMFPACK)
diff --git a/UMFPACK/Demo/tmp/.gitkeep b/UMFPACK/Demo/tmp/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/UMFPACK/Demo/umfpack_di_demo.out b/UMFPACK/Demo/umfpack_di_demo.out
index 585f7c55ed..67001497ef 100644
--- a/UMFPACK/Demo/umfpack_di_demo.out
+++ b/UMFPACK/Demo/umfpack_di_demo.out
@@ -1,5 +1,5 @@
-UMFPACK V5.5 (Nov 30, 2009) demo: _di_ version
+UMFPACK V5.5 (Jan 25, 2011) demo: _di_ version
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
@@ -39,9 +39,9 @@ UMFPACK License:
Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
-UMFPACK V5.5.0 (Nov 30, 2009), Control:
+UMFPACK V5.5.1 (Jan 25, 2011), Control:
Matrix entry defined as: double
Int (generic integer) defined as: int
@@ -72,7 +72,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Control:
8: BLAS library used: Fortran BLAS. size of BLAS integer: 4
compiled for ANSI C
CPU timer is POSIX times ( ) routine.
- computer/operating system: Mac
+ computer/operating system: Linux
size of int: 4 UF_long: 8 Int: 4 pointer: 8 double: 8 Entry: 8 (in bytes)
@@ -192,7 +192,7 @@ Numeric factorization of A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -280,7 +280,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -354,7 +354,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -371,7 +371,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
x (solution of Ax=b): dense vector, n = 5.
@@ -387,7 +387,7 @@ maxnorm of residual: 1.06581e-14
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
determinant: (1.14) * 10^(2)
@@ -401,7 +401,7 @@ x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5.
maxnorm of residual: 1.06581e-14
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -475,7 +475,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -545,7 +545,7 @@ Numeric factorization of modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -632,7 +632,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -706,7 +706,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 8
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -794,7 +794,7 @@ Numeric factorization of completely modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -882,7 +882,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -956,7 +956,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1095,7 +1095,7 @@ Numeric factorization of C: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 2
@@ -1276,7 +1276,7 @@ Freeing numeric object:
Loading numeric object:
Done loading numeric object
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1350,7 +1350,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1377,7 +1377,7 @@ maxnorm of residual: 3.55271e-15
Solving C'x=b again, using umfpack_di_wsolve instead:
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1451,7 +1451,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
diff --git a/UMFPACK/Demo/umfpack_dl_demo.out b/UMFPACK/Demo/umfpack_dl_demo.out
index 93f788f4ab..59079ea014 100644
--- a/UMFPACK/Demo/umfpack_dl_demo.out
+++ b/UMFPACK/Demo/umfpack_dl_demo.out
@@ -1,5 +1,5 @@
-UMFPACK V5.5 (Nov 30, 2009) demo: _dl_ version
+UMFPACK V5.5 (Jan 25, 2011) demo: _dl_ version
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
@@ -39,9 +39,9 @@ UMFPACK License:
Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
-UMFPACK V5.5.0 (Nov 30, 2009), Control:
+UMFPACK V5.5.1 (Jan 25, 2011), Control:
Matrix entry defined as: double
Int (generic integer) defined as: UF_long
@@ -72,7 +72,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Control:
8: BLAS library used: Fortran BLAS. size of BLAS integer: 4
compiled for ANSI C
CPU timer is POSIX times ( ) routine.
- computer/operating system: Mac
+ computer/operating system: Linux
size of int: 4 UF_long: 8 Int: 8 pointer: 8 double: 8 Entry: 8 (in bytes)
@@ -192,7 +192,7 @@ Numeric factorization of A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -280,7 +280,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -354,7 +354,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -371,7 +371,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
x (solution of Ax=b): dense vector, n = 5.
@@ -387,7 +387,7 @@ maxnorm of residual: 1.06581e-14
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
determinant: (1.14) * 10^(2)
@@ -401,7 +401,7 @@ x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5.
maxnorm of residual: 1.06581e-14
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -475,7 +475,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -545,7 +545,7 @@ Numeric factorization of modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -632,7 +632,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -706,7 +706,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 8
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -794,7 +794,7 @@ Numeric factorization of completely modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -882,7 +882,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -956,7 +956,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1095,7 +1095,7 @@ Numeric factorization of C: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 2
@@ -1276,7 +1276,7 @@ Freeing numeric object:
Loading numeric object:
Done loading numeric object
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1350,7 +1350,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1377,7 +1377,7 @@ maxnorm of residual: 3.55271e-15
Solving C'x=b again, using umfpack_dl_wsolve instead:
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1451,7 +1451,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1478,4 +1478,4 @@ maxnorm of residual: 3.55271e-15
umfpack_dl_demo complete.
-Total time: 0.00 seconds (CPU time), 0.01 seconds (wallclock time)
+Total time: 0.01 seconds (CPU time), 0.00 seconds (wallclock time)
diff --git a/UMFPACK/Demo/umfpack_zi_demo.out b/UMFPACK/Demo/umfpack_zi_demo.out
index 673e11994e..0b45dc8ae5 100644
--- a/UMFPACK/Demo/umfpack_zi_demo.out
+++ b/UMFPACK/Demo/umfpack_zi_demo.out
@@ -1,5 +1,5 @@
-UMFPACK V5.5 (Nov 30, 2009) demo: _zi_ version
+UMFPACK V5.5 (Jan 25, 2011) demo: _zi_ version
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
@@ -39,9 +39,9 @@ UMFPACK License:
Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
-UMFPACK V5.5.0 (Nov 30, 2009), Control:
+UMFPACK V5.5.1 (Jan 25, 2011), Control:
Matrix entry defined as: double complex
Int (generic integer) defined as: int
@@ -72,7 +72,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Control:
8: BLAS library used: Fortran BLAS. size of BLAS integer: 4
compiled for ANSI C
CPU timer is POSIX times ( ) routine.
- computer/operating system: Mac
+ computer/operating system: Linux
size of int: 4 UF_long: 8 Int: 4 pointer: 8 double: 8 Entry: 16 (in bytes)
@@ -192,7 +192,7 @@ Numeric factorization of A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -280,7 +280,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -354,7 +354,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -371,7 +371,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
x (solution of Ax=b): dense vector, n = 5.
@@ -387,7 +387,7 @@ maxnorm of residual: 1.77636e-15
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
determinant: (-1.7814+ (2.3784)i) * 10^(2)
@@ -401,7 +401,7 @@ x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5.
maxnorm of residual: 1.77636e-14
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -475,7 +475,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -545,7 +545,7 @@ Numeric factorization of modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 1
@@ -632,7 +632,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -706,7 +706,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 8
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -794,7 +794,7 @@ Numeric factorization of completely modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -882,7 +882,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -956,7 +956,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1095,7 +1095,7 @@ Numeric factorization of C: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 2
@@ -1276,7 +1276,7 @@ Freeing numeric object:
Loading numeric object:
Done loading numeric object
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1350,7 +1350,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1377,7 +1377,7 @@ maxnorm of residual: 4.88498e-15
Solving C'x=b again, using umfpack_zi_wsolve instead:
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: int
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1451,7 +1451,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
diff --git a/UMFPACK/Demo/umfpack_zl_demo.out b/UMFPACK/Demo/umfpack_zl_demo.out
index a612739423..81d7f716be 100644
--- a/UMFPACK/Demo/umfpack_zl_demo.out
+++ b/UMFPACK/Demo/umfpack_zl_demo.out
@@ -1,5 +1,5 @@
-UMFPACK V5.5 (Nov 30, 2009) demo: _zl_ version
+UMFPACK V5.5 (Jan 25, 2011) demo: _zl_ version
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
@@ -39,9 +39,9 @@ UMFPACK License:
Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
-UMFPACK V5.5.0 (Nov 30, 2009), Control:
+UMFPACK V5.5.1 (Jan 25, 2011), Control:
Matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
@@ -72,7 +72,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Control:
8: BLAS library used: Fortran BLAS. size of BLAS integer: 4
compiled for ANSI C
CPU timer is POSIX times ( ) routine.
- computer/operating system: Mac
+ computer/operating system: Linux
size of int: 4 UF_long: 8 Int: 8 pointer: 8 double: 8 Entry: 16 (in bytes)
@@ -192,7 +192,7 @@ Numeric factorization of A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -280,7 +280,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -354,7 +354,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -371,7 +371,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
x (solution of Ax=b): dense vector, n = 5.
@@ -387,7 +387,7 @@ maxnorm of residual: 1.77636e-15
UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.
-UMFPACK V5.5.0 (Nov 30, 2009): OK
+UMFPACK V5.5.1 (Jan 25, 2011): OK
determinant: (-1.7814+ (2.3784)i) * 10^(2)
@@ -401,7 +401,7 @@ x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5.
maxnorm of residual: 1.77636e-14
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -475,7 +475,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -545,7 +545,7 @@ Numeric factorization of modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 1
@@ -632,7 +632,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -706,7 +706,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 8
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -794,7 +794,7 @@ Numeric factorization of completely modified A: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 4
number of entries stored in L (excl diag): 2
@@ -882,7 +882,7 @@ diagonal of U: dense vector, n = 5.
Numeric object: OK
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -956,7 +956,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1095,7 +1095,7 @@ Numeric factorization of C: Numeric object:
largest actual frontal matrix size: 4
memory defragmentations: 1
memory reallocations: 1
- costly memory reallocations: 1
+ costly memory reallocations: 0
entries in compressed pattern (L and U): 2
number of nonzeros in L (excl diag): 3
number of entries stored in L (excl diag): 2
@@ -1276,7 +1276,7 @@ Freeing numeric object:
Loading numeric object:
Done loading numeric object
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1350,7 +1350,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1377,7 +1377,7 @@ maxnorm of residual: 4.88498e-15
Solving C'x=b again, using umfpack_zl_wsolve instead:
-UMFPACK V5.5.0 (Nov 30, 2009), Info:
+UMFPACK V5.5.1 (Jan 25, 2011), Info:
matrix entry defined as: double complex
Int (generic integer) defined as: UF_long
BLAS library used: Fortran BLAS. size of BLAS integer: 4
@@ -1451,7 +1451,7 @@ UMFPACK V5.5.0 (Nov 30, 2009), Info:
numerical values stored in Numeric object: 9
numeric factorization defragmentations: 1
numeric factorization reallocations: 1
- costly numeric factorization reallocations: 1
+ costly numeric factorization reallocations: 0
numeric factorization CPU time (sec): 0.00
numeric factorization wallclock time (sec): 0.00
@@ -1478,4 +1478,4 @@ maxnorm of residual: 4.88498e-15
umfpack_zl_demo complete.
-Total time: 0.00 seconds (CPU time), 0.00 seconds (wallclock time)
+Total time: 0.00 seconds (CPU time), 0.01 seconds (wallclock time)
diff --git a/UMFPACK/Doc/ChangeLog b/UMFPACK/Doc/ChangeLog
index ff25add9f4..e1c5e7ab0c 100644
--- a/UMFPACK/Doc/ChangeLog
+++ b/UMFPACK/Doc/ChangeLog
@@ -1,3 +1,8 @@
+Jan 25, 2011, version 5.5.1
+
+ * minor fix to "make install"
+ * Demo/Makefile updated, to allow for METIS to be in a non-default path
+
Nov 30, 2009, version 5.5.0
* changed and simplified how UMFPACK connects to 64-bit BLAS
diff --git a/UMFPACK/Doc/QuickStart.pdf b/UMFPACK/Doc/QuickStart.pdf
index 1aab56aaf6..43e68ca213 100644
Binary files a/UMFPACK/Doc/QuickStart.pdf and b/UMFPACK/Doc/QuickStart.pdf differ
diff --git a/UMFPACK/Doc/QuickStart.tex b/UMFPACK/Doc/QuickStart.tex
index 972e36074f..6e386a627d 100644
--- a/UMFPACK/Doc/QuickStart.tex
+++ b/UMFPACK/Doc/QuickStart.tex
@@ -18,8 +18,8 @@
\author{Timothy A. Davis \\
Dept. of Computer and Information Science and Engineering \\
Univ. of Florida, Gainesville, FL}
-\title{UMFPACK Version 5.5.0 Quick Start Guide}
-\date{Nov 30, 2009}
+\title{UMFPACK Quick Start Guide}
+\date{VERSION 5.5.1, Jan 25, 2011}
\maketitle
%-------------------------------------------------------------------------------
diff --git a/UMFPACK/Doc/UserGuide.pdf b/UMFPACK/Doc/UserGuide.pdf
index aa920df841..a13ff9c56e 100644
Binary files a/UMFPACK/Doc/UserGuide.pdf and b/UMFPACK/Doc/UserGuide.pdf differ
diff --git a/UMFPACK/Doc/UserGuide.stex b/UMFPACK/Doc/UserGuide.stex
index 5acf844115..9743f3f975 100644
--- a/UMFPACK/Doc/UserGuide.stex
+++ b/UMFPACK/Doc/UserGuide.stex
@@ -20,8 +20,8 @@
\author{Timothy A. Davis \\
Dept. of Computer and Information Science and Engineering \\
Univ. of Florida, Gainesville, FL}
-\title{UMFPACK Version 5.5.0 User Guide}
-\date{Nov 30, 2009}
+\title{UMFPACK User Guide}
+\date{VERSION 5.5.1, Jan 25, 2011}
\maketitle
%-------------------------------------------------------------------------------
diff --git a/UMFPACK/Include/umfpack.h b/UMFPACK/Include/umfpack.h
index 400a48c984..65360ebf24 100644
--- a/UMFPACK/Include/umfpack.h
+++ b/UMFPACK/Include/umfpack.h
@@ -97,7 +97,7 @@ extern "C" {
/* Version, copyright, and license */
/* -------------------------------------------------------------------------- */
-#define UMFPACK_VERSION "UMFPACK V5.5.0 (Nov 30, 2009)"
+#define UMFPACK_VERSION "UMFPACK V5.5.1 (Jan 25, 2011)"
#define UMFPACK_COPYRIGHT \
"UMFPACK: Copyright (c) 2005-2009 by Timothy A. Davis. All Rights Reserved.\n"
@@ -163,11 +163,11 @@ extern "C" {
* above.
*/
-#define UMFPACK_DATE "Nov 30, 2009"
+#define UMFPACK_DATE "Jan 25, 2011"
#define UMFPACK_VER_CODE(main,sub) ((main) * 1000 + (sub))
#define UMFPACK_MAIN_VERSION 5
#define UMFPACK_SUB_VERSION 5
-#define UMFPACK_SUBSUB_VERSION 0
+#define UMFPACK_SUBSUB_VERSION 1
#define UMFPACK_VER UMFPACK_VER_CODE(UMFPACK_MAIN_VERSION,UMFPACK_SUB_VERSION)
/* -------------------------------------------------------------------------- */
diff --git a/UMFPACK/Makefile b/UMFPACK/Makefile
index a5f39980ee..5bc5a1cfa4 100644
--- a/UMFPACK/Makefile
+++ b/UMFPACK/Makefile
@@ -2,7 +2,7 @@
# UMFPACK makefile (for GNU make or original make)
#-------------------------------------------------------------------------------
-VERSION = 5.5.0
+VERSION = 5.5.1
# UMFPACK requires the AMD package to be in ../AMD
@@ -78,7 +78,7 @@ cov: purge
# install UMFPACK
install:
$(CP) Lib/libumfpack.a $(INSTALL_LIB)/libumfpack.$(VERSION).a
- ( cd $(INSTALL_LIB) ; ln -s libumfpack.$(VERSION).a libumfpack.a )
+ ( cd $(INSTALL_LIB) ; ln -sf libumfpack.$(VERSION).a libumfpack.a )
$(CP) Include/*.h $(INSTALL_INCLUDE)
# uninstall UMFPACK
diff --git a/UMFPACK/README.txt b/UMFPACK/README.txt
index 5375c98cd4..ab1e95fa59 100644
--- a/UMFPACK/README.txt
+++ b/UMFPACK/README.txt
@@ -1,3 +1,5 @@
+UMFPACK, Copyright (c) 1995-2011 by Timothy A. Davis. All Rights Reserved.
+
UMFPACK : a set of routines solving sparse linear systems via LU
factorization. Requires three other packages: the BLAS (dense matrix
operations), AMD (sparse matrix minimum degree ordering), and UFconfig.
@@ -34,7 +36,6 @@ Quick start (for MATLAB users):
--------------------------------------------------------------------------------
-UMFPACK, Copyright (c) 1995-2009 by Timothy A. Davis. All Rights Reserved.
UMFPACK is available under alternate licences; contact T. Davis for details.
UMFPACK License: