Skip to content

Commit

Permalink
move G->nonzero to Future; revise TODOs
Browse files Browse the repository at this point in the history
  • Loading branch information
DrTimothyAldenDavis committed Feb 16, 2022
1 parent 6d0c277 commit 380bd1b
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 22 deletions.
23 changes: 19 additions & 4 deletions Contributors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,22 @@ File: Contributors.txt

Contributors:

Texas A&M University
University of California
Carnegie Mellon University

Tim Davis, Texas A&M University
Scott McMillan, SEI, Carnegie Mellon University
Gabor Szarnyas
Jinhao Chen, Texas A&M University
Michel Pelletier, Graphegon
Scott Kolodziej, Texas A&M University
Yongzhe Zhang, SOKENDAI, Japan
Marton Elekes
Balint Hegyi
Tim Mattson, Intel
Mohsen Aznaveh, Texas A&M University
James Kitchen, Anaconda
Aydin Buluc, Lawrence Berkeley National Lab
Janos B. Antal
Roi Lipman, Redis
Erik Welch, Anaconda
Carl Yang
Tze Meng Low,
Florentin Dorre
26 changes: 14 additions & 12 deletions doc/TODO.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
As of Feb 14, 2022:
As of Feb 16, 2022:

* entire user guide
experimental -> src, how to do it.
Expand All @@ -12,27 +12,29 @@ As of Feb 14, 2022:
* how does the user know that one method is Basic and another Advanced?
Name of function? We have no mechanism or naming scheme.

* check function names and API

* TODOs: in algorithms

* LAGraph_VertexCentrality: wrapper for 2 methods (BC, PageRank),
and future methods.
How do we ask for an exact BC computation? Do it in batches
and sum up the result?
Do we normalize the metrics so that sum(centrality) = 1?
and future methods. Can we skip this for LAGraph v1.0? How do we
ask for an exact BC computation? Do it in batches and sum up the
result? Do we normalize the metrics so that sum(centrality) = 1?
How do we provide parameters to the various methods if we don't
have all methods written yet? Move this to Future, below?

* LAGraph_ConnectedComponents: this is Advanced (G is input and
G->structure_is_symmetric is required for a directed graph).
A Basic method would compute that first, and then G would be
input/output.
input/output. Or move this to Future, below?

* LG_CC_SV6: need new GxB methods
* LG_CC_SV6: need new GxB methods. Implement for LAGraph v1.0?
Current method is not thread-safe.
Or move to Future, below?

* LAGraph_SingleSourceShortestPath: Write a Basic method that
computes G->emin. And G->emax? And decides on Delta on its own?

* check function names and API

* add names to Contributors.txt
computes G->emin (that's easy). And G->emax so it can decide on
Delta on its own (hard to do)? Or move to Future, below?

* add FUTURE to User Guide (see below)

Expand Down
8 changes: 4 additions & 4 deletions include/LAGraph.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#define LAGRAPH_VERSION_MAJOR 0
#define LAGRAPH_VERSION_MINOR 9
#define LAGRAPH_VERSION_UPDATE 9
#define LAGRAPH_DATE "Feb 14, 2022"
#define LAGRAPH_DATE "Feb 16, 2022"

//==============================================================================
// include files and helper macros
Expand Down Expand Up @@ -585,15 +585,15 @@ struct LAGraph_Graph_struct
// APPROX: emax is a rough estimate of max(G->A)
// UNKNOWN: emax is unknown

// possible future cached properties:

// Some algorithms may want to know if the graph has any edge weights
// exactly equal to zero. In some cases, this can be inferred from the
// emin/emax bounds, or it can be indicated via the following property:
LAGraph_BooleanProperty nonzero ; // If true, then all entries in
// LAGraph_BooleanProperty nonzero ; // If true, then all entries in
// G->A are known to be nonzero. If false, G->A may contain
// entries in its structure that are identically equal to zero. If
// unknown, then G->A may or may not have entries equal to zero.

// possible future cached properties:
// other edge weight metrics: median, standard deviation.... Might be
// useful for computing Delta for a Basic SSSP.
// GrB_Vector rowsum, colsum ;
Expand Down
2 changes: 1 addition & 1 deletion src/utility/LAGraph_DeleteProperties.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ int LAGraph_DeleteProperties
G->structure_is_symmetric = LAGRAPH_UNKNOWN ;
G->emin_kind = LAGRAPH_UNKNOWN ;
G->emax_kind = LAGRAPH_UNKNOWN ;
G->nonzero = LAGRAPH_UNKNOWN ;
// G->nonzero = LAGRAPH_UNKNOWN ;
G->ndiag = LAGRAPH_UNKNOWN ;
return (GrB_SUCCESS) ;
}
2 changes: 1 addition & 1 deletion src/utility/LAGraph_New.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ int LAGraph_New
(*G)->emin_kind = LAGRAPH_UNKNOWN ;
(*G)->emax = NULL ;
(*G)->emax_kind = LAGRAPH_UNKNOWN ;
(*G)->nonzero = LAGRAPH_UNKNOWN ;
// (*G)->nonzero = LAGRAPH_UNKNOWN ; // future property

//--------------------------------------------------------------------------
// assign its primary components
Expand Down

0 comments on commit 380bd1b

Please sign in to comment.