Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHOLMOD 5.1.0, more updates #527

Merged
merged 102 commits into from
Nov 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
df9457a
Merge pull request #506 from DrTimothyAldenDavis/dev
DrTimothyAldenDavis Nov 6, 2023
bfe5142
cholmod_check and cholmod_read: handle float
DrTimothyAldenDavis Nov 7, 2023
381d5df
CHOLMOD:Check, all methods drafted for single
DrTimothyAldenDavis Nov 7, 2023
8d4467b
comments
DrTimothyAldenDavis Nov 7, 2023
2b32f90
CHOLMOD:Cholesky: rcond, resymbol
DrTimothyAldenDavis Nov 7, 2023
255f6ba
CHOLMOD:Cholesky cleanup (solve methods not yet done)
DrTimothyAldenDavis Nov 8, 2023
c3b59c8
CHOLMOD:MatrixOps
DrTimothyAldenDavis Nov 9, 2023
5559c95
solve
DrTimothyAldenDavis Nov 9, 2023
20bdb57
CHOLMOD:Cholesky, spsolve
DrTimothyAldenDavis Nov 9, 2023
fc5f938
cleanup
DrTimothyAldenDavis Nov 9, 2023
b203b04
cleanup
DrTimothyAldenDavis Nov 9, 2023
1a1a8de
cleanup
DrTimothyAldenDavis Nov 9, 2023
aa8af7d
comments cleanup
DrTimothyAldenDavis Nov 9, 2023
21ea681
comments cleanup
DrTimothyAldenDavis Nov 9, 2023
cd27e7c
sdmult
DrTimothyAldenDavis Nov 10, 2023
447d7b8
vertcat
DrTimothyAldenDavis Nov 10, 2023
7eb16ef
comments
DrTimothyAldenDavis Nov 10, 2023
099c09e
testing
DrTimothyAldenDavis Nov 10, 2023
2e141c1
cholmod_symmetry
DrTimothyAldenDavis Nov 10, 2023
6400e0e
SuiteSparse_config: BLAS/LAPACK wrappers
DrTimothyAldenDavis Nov 10, 2023
a905787
CHOLMOD: Check, Partition
DrTimothyAldenDavis Nov 10, 2023
570bfac
supernodal factorization
DrTimothyAldenDavis Nov 10, 2023
5168955
supernodal solve
DrTimothyAldenDavis Nov 10, 2023
7322019
CHOLMOD:rowadd
DrTimothyAldenDavis Nov 10, 2023
f6db9cc
CHOLMOD update/downdate
DrTimothyAldenDavis Nov 11, 2023
bcbfa00
todo
DrTimothyAldenDavis Nov 11, 2023
dbb844a
CHOLMOD: cholmod_s_simple demo works
DrTimothyAldenDavis Nov 11, 2023
00e67e5
remove demo outout
DrTimothyAldenDavis Nov 11, 2023
7e9eb47
print solution in simple demo
DrTimothyAldenDavis Nov 11, 2023
c85fc68
CHOLMOD demo
DrTimothyAldenDavis Nov 11, 2023
e8731e1
readme
DrTimothyAldenDavis Nov 11, 2023
573ed66
turn off debug mode in CHOLMOD
DrTimothyAldenDavis Nov 11, 2023
dfc33e8
turn off debug
DrTimothyAldenDavis Nov 11, 2023
81707ec
demos
DrTimothyAldenDavis Nov 12, 2023
1b87334
demos and testing
DrTimothyAldenDavis Nov 12, 2023
54dca86
input/output designations
DrTimothyAldenDavis Nov 12, 2023
3186f47
Tcov
DrTimothyAldenDavis Nov 12, 2023
8045f66
testing
DrTimothyAldenDavis Nov 13, 2023
739cf8f
check
DrTimothyAldenDavis Nov 13, 2023
003a4b9
testing
DrTimothyAldenDavis Nov 14, 2023
ed048ab
syntax
DrTimothyAldenDavis Nov 14, 2023
6f6ce05
typo
DrTimothyAldenDavis Nov 14, 2023
c45f6c0
debug
DrTimothyAldenDavis Nov 14, 2023
09582ab
test coverage
DrTimothyAldenDavis Nov 14, 2023
6b33574
testing
DrTimothyAldenDavis Nov 14, 2023
cf90a44
test coverage: 1602 remain
DrTimothyAldenDavis Nov 15, 2023
de05d6f
cleanup
DrTimothyAldenDavis Nov 15, 2023
415c8df
testing
DrTimothyAldenDavis Nov 15, 2023
919de30
cleanup
DrTimothyAldenDavis Nov 15, 2023
a518df5
cleanup and todos
DrTimothyAldenDavis Nov 15, 2023
b5cd6d8
gotcha
DrTimothyAldenDavis Nov 15, 2023
f794810
cleanup
DrTimothyAldenDavis Nov 15, 2023
9ea4ef9
cleanup
DrTimothyAldenDavis Nov 15, 2023
9ad4f4c
overflow tests
DrTimothyAldenDavis Nov 15, 2023
f6e580d
better handling of size_t for workspace size
DrTimothyAldenDavis Nov 16, 2023
a4d4838
testing: cat, dense, dtype
DrTimothyAldenDavis Nov 16, 2023
4d00014
testing
DrTimothyAldenDavis Nov 16, 2023
a5d69d7
testing to/from conversions
DrTimothyAldenDavis Nov 16, 2023
b0f8415
.
DrTimothyAldenDavis Nov 16, 2023
b6ed7c9
bug fix: CHOLMOD/Supernodal, change p to pf
DrTimothyAldenDavis Nov 16, 2023
77613b8
disable development debug flag
DrTimothyAldenDavis Nov 16, 2023
6dd2c2f
better handling of integer overflow; more testing
DrTimothyAldenDavis Nov 17, 2023
d13933e
testing
DrTimothyAldenDavis Nov 17, 2023
8988af5
testing: band_nnz, and more
DrTimothyAldenDavis Nov 17, 2023
9f71cf9
testing
DrTimothyAldenDavis Nov 17, 2023
ebcae01
mode=2 option for cholmod_submatrix
DrTimothyAldenDavis Nov 18, 2023
230a236
add FLAME string; fix typo
DrTimothyAldenDavis Nov 19, 2023
71d818d
SuiteSparse_config tests
DrTimothyAldenDavis Nov 19, 2023
3e4198a
cholmod_descendant_score tests
DrTimothyAldenDavis Nov 19, 2023
4365108
submatrix tests
DrTimothyAldenDavis Nov 19, 2023
6d87646
.
DrTimothyAldenDavis Nov 19, 2023
34fa900
testing cholmod_solve
DrTimothyAldenDavis Nov 19, 2023
0998f87
solve2: Bset ignored for sys=P or Pt
DrTimothyAldenDavis Nov 19, 2023
2b8b9a6
README for v5.1
DrTimothyAldenDavis Nov 19, 2023
36e1d42
debug defn
DrTimothyAldenDavis Nov 19, 2023
4618c4e
supernodal with singular matrix
DrTimothyAldenDavis Nov 20, 2023
a85fd04
full test coverage
DrTimothyAldenDavis Nov 21, 2023
16882fb
test cleanup
DrTimothyAldenDavis Nov 21, 2023
63604e3
cleanup
DrTimothyAldenDavis Nov 21, 2023
73cdd1d
MATLAB interface working
DrTimothyAldenDavis Nov 21, 2023
8ca8c9e
draft MATLAB interface (just cholmod2)
DrTimothyAldenDavis Nov 22, 2023
57eed5c
revise demos, and cleanup
DrTimothyAldenDavis Nov 23, 2023
ec961d9
MATLAB interface, and tests
DrTimothyAldenDavis Nov 23, 2023
54dfe8c
demos
DrTimothyAldenDavis Nov 23, 2023
787a49e
cleanup
DrTimothyAldenDavis Nov 23, 2023
19fad18
set default to BLAS64 (temporarily)
DrTimothyAldenDavis Nov 23, 2023
1273ef4
BLAS benchmarks
DrTimothyAldenDavis Nov 24, 2023
b17d606
results
DrTimothyAldenDavis Nov 24, 2023
31728fc
cleanup: turn off blas_dump (see blasdev2 branch instead)
DrTimothyAldenDavis Nov 24, 2023
3de81d5
MATLAB interface cleanup
DrTimothyAldenDavis Nov 24, 2023
8a0bfa6
.
DrTimothyAldenDavis Nov 24, 2023
3223ee1
user guide
DrTimothyAldenDavis Nov 25, 2023
c62ea0f
set BLAS 32/64-bit option back to default
DrTimothyAldenDavis Nov 25, 2023
3941226
AMD 3.2.2: minor changes for CHOLMOD 5.1.0
DrTimothyAldenDavis Nov 25, 2023
c3e0bba
CAMD: 3.2.2: minor changes for CHOLMOD 5.1.0
DrTimothyAldenDavis Nov 25, 2023
43d313f
SuiteSparse_config: 7.4.0
DrTimothyAldenDavis Nov 25, 2023
7c31df2
require AMD 3.2.2 and CAMD 3.2.2 (in SuiteSparse 7.4.0)
DrTimothyAldenDavis Nov 25, 2023
dfa933a
AMD and CAMD demo outputs for 3.2.2
DrTimothyAldenDavis Nov 25, 2023
0dc844e
How many entries in L? (new section to user guide)
DrTimothyAldenDavis Nov 25, 2023
428af0a
user guide, more discussion of nnz in L
DrTimothyAldenDavis Nov 25, 2023
f9051ae
CXSparse: revise beta2 (sync with dev2)
DrTimothyAldenDavis Nov 25, 2023
c3e9f40
Example 1.4.4
DrTimothyAldenDavis Nov 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions AMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# SuiteSparse/AMD/CMakeLists.txt: cmake for AMD
#-------------------------------------------------------------------------------

# Copyright (c) 1996-2022, Timothy A. Davis, Patrick Amestoy, Iain Duff.
# Copyright (c) 1996-2023, Timothy A. Davis, Patrick Amestoy, Iain Duff.
# All Rights Reserved.
# SPDX-License-Identifier: BSD-3-clause

Expand All @@ -12,10 +12,10 @@

cmake_minimum_required ( VERSION 3.20 )

set ( AMD_DATE "Sept 18, 2023" )
set ( AMD_DATE "Nov 30, 2023" )
set ( AMD_VERSION_MAJOR 3 )
set ( AMD_VERSION_MINOR 2 )
set ( AMD_VERSION_SUB 1 )
set ( AMD_VERSION_SUB 2 )

message ( STATUS "Building AMD version: v"
${AMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -56,10 +56,10 @@ endif ( )
# find library dependencies
#-------------------------------------------------------------------------------

find_package ( SuiteSparse_config 7.2.0
find_package ( SuiteSparse_config 7.4.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.2.0 REQUIRED )
find_package ( SuiteSparse_config 7.4.0 REQUIRED )
endif ( )

#-------------------------------------------------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions AMD/Demo/amd_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD version 3.2.1, date: Sept 18, 2023
AMD version 3.2.2, date: Nov 30, 2023
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

AMD version 3.2.1, Sept 18, 2023: approximate minimum degree ordering
AMD version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -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 3.2.1, Sept 18, 2023, results:
AMD version 3.2.2, Nov 30, 2023, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
Expand Down
4 changes: 2 additions & 2 deletions AMD/Demo/amd_demo2.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD demo, with a jumbled version of the 24-by-24
Harwell/Boeing matrix, can_24:

AMD version 3.2.1, Sept 18, 2023: approximate minimum degree ordering
AMD version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -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 3.2.1, Sept 18, 2023, results:
AMD version 3.2.2, Nov 30, 2023, results:
status: OK, but jumbled
n, dimension of A: 24
nz, number of nonzeros in A: 102
Expand Down
6 changes: 3 additions & 3 deletions AMD/Demo/amd_l_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD version 3.2.1, date: Sept 18, 2023
AMD version 3.2.2, date: Nov 30, 2023
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

AMD version 3.2.1, Sept 18, 2023: approximate minimum degree ordering
AMD version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -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 3.2.1, Sept 18, 2023, results:
AMD version 3.2.2, Nov 30, 2023, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
Expand Down
Binary file modified AMD/Doc/AMD_UserGuide.pdf
Binary file not shown.
4 changes: 4 additions & 0 deletions AMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Nov 30, 2023: version 3.2.2

* revised test for integer overflow: for CHOLMOD 5.1.0 tests

Sept 18, 2023: version 3.2.1

* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux
Expand Down
2 changes: 1 addition & 1 deletion AMD/Doc/amd_version.tex
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
% version of SuiteSparse/AMD
\date{VERSION 3.2.1, Sept 18, 2023}
\date{VERSION 3.2.2, Nov 30, 2023}
4 changes: 2 additions & 2 deletions AMD/Include/amd.h
Original file line number Diff line number Diff line change
Expand Up @@ -374,10 +374,10 @@ void amd_l_info (double Info [ ]) ;
* Versions 1.1 and earlier of AMD do not include a #define'd version number.
*/

#define AMD_DATE "Sept 18, 2023"
#define AMD_DATE "Nov 30, 2023"
#define AMD_MAIN_VERSION 3
#define AMD_SUB_VERSION 2
#define AMD_SUBSUB_VERSION 1
#define AMD_SUBSUB_VERSION 2

#define AMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define AMD_VERSION AMD_VERSION_CODE(AMD_MAIN_VERSION,AMD_SUB_VERSION)
Expand Down
6 changes: 3 additions & 3 deletions AMD/Source/amd_order.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ int AMD_order
return (AMD_INVALID) ;
}

/* check if n or nz will cause size_t overflow */
if (((size_t) n) >= SIZE_T_MAX / sizeof (Int)
|| ((size_t) nz) >= SIZE_T_MAX / sizeof (Int))
/* check if n or nz will cause integer overflow */
if (((size_t) n) >= Int_MAX / sizeof (Int)
|| ((size_t) nz) >= Int_MAX / sizeof (Int))
{
if (info) Info [AMD_STATUS] = AMD_OUT_OF_MEMORY ;
return (AMD_OUT_OF_MEMORY) ; /* problem too large */
Expand Down
8 changes: 4 additions & 4 deletions CAMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

cmake_minimum_required ( VERSION 3.20 )

set ( CAMD_DATE "Sept 18, 2023" )
set ( CAMD_DATE "Nov 30, 2023" )
set ( CAMD_VERSION_MAJOR 3 )
set ( CAMD_VERSION_MINOR 2 )
set ( CAMD_VERSION_SUB 1 )
set ( CAMD_VERSION_SUB 2 )

message ( STATUS "Building CAMD version: v"
${CAMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -42,10 +42,10 @@ project ( camd
# find library dependencies
#-------------------------------------------------------------------------------

find_package ( SuiteSparse_config 7.2.0
find_package ( SuiteSparse_config 7.4.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.2.0 REQUIRED )
find_package ( SuiteSparse_config 7.4.0 REQUIRED )
endif ( )

#-------------------------------------------------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions CAMD/Demo/camd_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CAMD version 3.2, date: Sept 18, 2023
CAMD version 3.2, date: Nov 30, 2023
CAMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

camd version 3.2.1, Sept 18, 2023: approximate minimum degree ordering:
camd version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -115,7 +115,7 @@ Plot of input matrix pattern:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from camd_order: 0 (should be 0)

CAMD version 3.2.1, Sept 18, 2023, results:
CAMD version 3.2.2, Nov 30, 2023, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
Expand Down
4 changes: 2 additions & 2 deletions CAMD/Demo/camd_demo2.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CAMD demo, with a jumbled version of the 24-by-24
Harwell/Boeing matrix, can_24:

camd version 3.2.1, Sept 18, 2023: approximate minimum degree ordering:
camd version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -144,7 +144,7 @@ Plot of symmetric matrix to be ordered by camd_order:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from camd_order: 1 (should be 1)

CAMD version 3.2.1, Sept 18, 2023, results:
CAMD version 3.2.2, Nov 30, 2023, results:
status: OK, but jumbled
n, dimension of A: 24
nz, number of nonzeros in A: 102
Expand Down
6 changes: 3 additions & 3 deletions CAMD/Demo/camd_l_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CAMD version 3.2, date: Sept 18, 2023
CAMD version 3.2, date: Nov 30, 2023
CAMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

camd version 3.2.1, Sept 18, 2023: approximate minimum degree ordering:
camd version 3.2.2, Nov 30, 2023: 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)
Expand Down Expand Up @@ -115,7 +115,7 @@ Plot of input matrix pattern:
23: . . . . . . X . . . . X X . . . . . . . . . . X
return value from camd_l_order: 0 (should be 0)

CAMD version 3.2.1, Sept 18, 2023, results:
CAMD version 3.2.2, Nov 30, 2023, results:
status: OK
n, dimension of A: 24
nz, number of nonzeros in A: 160
Expand Down
Binary file modified CAMD/Doc/CAMD_UserGuide.pdf
Binary file not shown.
4 changes: 4 additions & 0 deletions CAMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Nov 30, 2023: version 3.2.2

* revised test for integer overflow: for CHOLMOD 5.1.0 tests

Sept 18, 2023: version 3.2.1

* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux
Expand Down
2 changes: 1 addition & 1 deletion CAMD/Doc/camd_version.tex
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
% version of SuiteSparse/CAMD
\date{VERSION 3.2.1, Sept 18, 2023}
\date{VERSION 3.2.2, Nov 30, 2023}
4 changes: 2 additions & 2 deletions CAMD/Include/camd.h
Original file line number Diff line number Diff line change
Expand Up @@ -384,10 +384,10 @@ void camd_l_info (double Info [ ]) ;
* #endif
*/

#define CAMD_DATE "Sept 18, 2023"
#define CAMD_DATE "Nov 30, 2023"
#define CAMD_MAIN_VERSION 3
#define CAMD_SUB_VERSION 2
#define CAMD_SUBSUB_VERSION 1
#define CAMD_SUBSUB_VERSION 2

#define CAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define CAMD_VERSION CAMD_VERSION_CODE(CAMD_MAIN_VERSION,CAMD_SUB_VERSION)
Expand Down
6 changes: 3 additions & 3 deletions CAMD/Source/camd_order.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ int CAMD_order
return (CAMD_INVALID) ;
}

/* check if n or nz will cause size_t overflow */
if ((size_t) n >= SIZE_T_MAX / sizeof (Int)
|| (size_t) nz >= SIZE_T_MAX / sizeof (Int))
/* check if n or nz will cause integer overflow */
if (((size_t) n) >= Int_MAX / sizeof (Int)
|| ((size_t) nz) >= Int_MAX / sizeof (Int))
{
if (info) Info [CAMD_STATUS] = CAMD_OUT_OF_MEMORY ;
return (CAMD_OUT_OF_MEMORY) ; /* problem too large */
Expand Down
Loading