Functions

bmatchingLibrary Namespace Reference

functions to solve many standard b-matching problems More...

Functions

SparseMatrix< bool > *  bMatchBipartiteMatrixCache (int rows, int cols, double **W, int *brows, int *bcols, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchBipartiteMatrixSparse (int rows, int cols, double **W, int *brows, int *bcols, int maxIters)
SparseMatrix< bool > *  bMatchBipartiteMatrixSparse (int rows, int cols, double **W, int *brows, int *bcols)
bool **  bMatchBipartiteMatrix (int rows, int cols, double **W, int *brows, int *bcols, int maxIters)
bool **  bMatchBipartiteMatrix (int rows, int cols, double **W, int *brows, int *bcols)
SparseMatrix< bool > *  bMatchBipartiteEuclideanCache (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchBipartiteEuclideanSparse (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int maxIters)
SparseMatrix< bool > *  bMatchBipartiteEuclideanSparse (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols)
bool **  bMatchBipartiteEuclidean (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int maxIters)
bool **  bMatchBipartiteEuclidean (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols)
SparseMatrix< bool > *  bMatchBipartiteInnerProductCache (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchBipartiteInnerProductSparse (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int maxIters)
SparseMatrix< bool > *  bMatchBipartiteInnerProductSparse (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols)
bool **  bMatchBipartiteInnerProduct (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols, int maxIters)
bool **  bMatchBipartiteInnerProduct (int rows, int cols, int d, double **X, double **Y, int *brows, int *bcols)
SparseMatrix< bool > *  bMatchMatrixCache (int size, double **W, int *b, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchMatrixSparse (int size, double **W, int *b, int maxIters)
SparseMatrix< bool > *  bMatchMatrixSparse (int size, double **W, int *b)
bool **  bMatchMatrix (int size, double **W, int *b, int maxIters)
bool **  bMatchMatrix (int size, double **W, int *b)
SparseMatrix< bool > *  bMatchEuclideanCache (int size, int d, double **X, int *b, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchEuclideanSparse (int size, int d, double **X, int *b, int maxIters)
SparseMatrix< bool > *  bMatchEuclideanSparse (int size, int d, double **X, int *b)
bool **  bMatchEuclidean (int size, int d, double **X, int *b, int maxIters)
bool **  bMatchEuclidean (int size, int d, double **X, int *b)
SparseMatrix< bool > *  bMatchInnerProductCache (int size, int d, double **X, int *b, int cacheSize, int maxIters, bool verbose=false)
SparseMatrix< bool > *  bMatchInnerProductSparse (int size, int d, double **X, int *b, int maxIters)
SparseMatrix< bool > *  bMatchInnerProductSparse (int size, int d, double **X, int *b)
bool **  bMatchInnerProduct (int size, int d, double **X, int *b, int maxIters)
bool **  bMatchInnerProduct (int size, int d, double **X, int *b)
SparseMatrix< bool > *  solveBMatchingSparse (WeightOracle *wo, int *b, int maxIters, bool verbose=false)
bool **  convertToBool (SparseMatrix< bool > *solution)
int *  cat (int *a, int *b, int aSize, int bSize)

Detailed Description

functions to solve many standard b-matching problems

Contains helper functions that construct the appropriate objects to solve b-matching and executes the solver using standard weight functions


Function Documentation

bool ** bmatchingLibrary::bMatchBipartiteEuclidean ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchBipartiteEuclidean ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols  
)

solves a bipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteEuclideanCache ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a bipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]cacheSizenumber of entries per row to cache
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteEuclideanSparse ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols  
)

solves a bipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteEuclideanSparse ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchBipartiteInnerProduct ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching with inner product weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchBipartiteInnerProduct ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols  
)

solves a bipartite matching with inner product weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteInnerProductCache ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a bipartite matching with inner product weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]cacheSizenumber of elements per row to cache
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteInnerProductSparse ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching with inner product weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteInnerProductSparse ( int   rows,
int   cols,
int   d,
double **   X,
double **   Y,
int *   brows,
int *   bcols  
)

solves a bipartite matching with inner product weights given the node descriptors

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node, first bipartition
[in]Ynode descriptor matrix with each row as vector descriptor of a node, second bipartition
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchBipartiteMatrix ( int   rows,
int   cols,
double **   W,
int *   brows,
int *   bcols  
)

solves a bipartite matching given the explicit weight matrix

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]Wweight matrix
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean matrix containing true for the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchBipartiteMatrix ( int   rows,
int   cols,
double **   W,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching given the explicit weight matrix

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]Wweight matrix
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true for the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteMatrixCache ( int   rows,
int   cols,
double **   W,
int *   brows,
int *   bcols,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a bipartite matching given the explicit weight matrix

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]Wweight matrix
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]cacheSizenumber of entries to cache per row
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteMatrixSparse ( int   rows,
int   cols,
double **   W,
int *   brows,
int *   bcols,
int   maxIters  
)

solves a bipartite matching given the explicit weight matrix

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]Wweight matrix
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchBipartiteMatrixSparse ( int   rows,
int   cols,
double **   W,
int *   brows,
int *   bcols  
)

solves a bipartite matching given the explicit weight matrix

Parameters:
[in]rowstotal number of rows (number of nodes in first bipartition)
[in]colstotal number of columns (number of nodes in second bipartition)
[in]Wweight matrix
[in]browsint vector of target degrees for rows (first bipartition)
[in]bcolsint vector of target degrees for columns (second bipartition)
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchEuclidean ( int   size,
int   d,
double **   X,
int *   b,
int   maxIters  
)

solves a unipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchEuclidean ( int   size,
int   d,
double **   X,
int *   b  
)

solves a unipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchEuclideanCache ( int   size,
int   d,
double **   X,
int *   b,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a unipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]cacheSizenumber of entries per row to cache
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchEuclideanSparse ( int   size,
int   d,
double **   X,
int *   b,
int   maxIters  
)

solves a unipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchEuclideanSparse ( int   size,
int   d,
double **   X,
int *   b  
)

solves a unipartite matching with negative Euclidean weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchInnerProduct ( int   size,
int   d,
double **   X,
int *   b  
)

solves a unipartite matching with negative inner product weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchInnerProduct ( int   size,
int   d,
double **   X,
int *   b,
int   maxIters  
)

solves a unipartite matching with negative inner product weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchInnerProductCache ( int   size,
int   d,
double **   X,
int *   b,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a unipartite matching with negative inner product weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]cacheSizenumber of entries per row to cache
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchInnerProductSparse ( int   size,
int   d,
double **   X,
int *   b,
int   maxIters  
)

solves a unipartite matching with negative inner product weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchInnerProductSparse ( int   size,
int   d,
double **   X,
int *   b  
)

solves a unipartite matching with negative inner product weights given the node descriptors

Parameters:
[in]sizetotal number of nodes
[in]ddimensionality of descriptor vectors
[in]Xnode descriptor matrix with each row as vector descriptor of a node
[in]bint vector of target degrees for all nodes
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchMatrix ( int   size,
double **   W,
int *   b,
int   maxIters  
)

solves a unipartite matching given explicit weight matrix

Parameters:
[in]sizetotal number of nodes
[in]Wweight matrix
[in]bint vector of target degrees for each node
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
bool ** bmatchingLibrary::bMatchMatrix ( int   size,
double **   W,
int *   b  
)

solves a unipartite matching given explicit weight matrix

Parameters:
[in]sizetotal number of nodes
[in]Wweight matrix
[in]bint vector of target degrees for each node
Returns:
A boolean matrix containing true at the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchMatrixCache ( int   size,
double **   W,
int *   b,
int   cacheSize,
int   maxIters,
bool   verbose = false  
)

solves a unipartite matching given explicit weight matrix

Parameters:
[in]sizetotal number of nodes
[in]Wweight matrix
[in]bint vector of target degrees for each node
[in]maxItersmaximum iterations before aborting optimization
[in]cacheSizenumber of entries per row to cache
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchMatrixSparse ( int   size,
double **   W,
int *   b,
int   maxIters  
)

solves a unipartite matching given explicit weight matrix

Parameters:
[in]sizetotal number of nodes
[in]Wweight matrix
[in]bint vector of target degrees for each node
[in]maxItersmaximum iterations before aborting optimization
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
SparseMatrix< bool > * bmatchingLibrary::bMatchMatrixSparse ( int   size,
double **   W,
int *   b  
)

solves a unipartite matching given explicit weight matrix

Parameters:
[in]sizetotal number of nodes
[in]Wweight matrix
[in]bint vector of target degrees for each node
Returns:
A boolean SparseMatrix containing the matched elements of the b-matching adjacency matrix
int * bmatchingLibrary::cat ( int *   a,
int *   b,
int   aSize,
int   bSize  
)

concatonates two vectors

Parameters:
[in]afirst vector
[in]bsecond vector
[in]aSizelength of a
[in]bSizelength of b
Returns:
a new vector of length (aSize + bSize) containing a copy of a concatenated with a copy of b
bool ** bmatchingLibrary::convertToBool ( SparseMatrix< bool > *   solution  )

converts a SparseMatrix object to a full boolean matrix

Parameters:
[in]solutionpointer to solution SparseMatrix
Returns:
the b-matching adjacency matrix as a boolean matrix
SparseMatrix< bool > * bmatchingLibrary::solveBMatchingSparse ( WeightOracle *   wo,
int *   b,
int   maxIters,
bool   verbose = false  
)

solves a b-matching given the weight oracle and degree constraints

Parameters:
[in]woweight oracle for edge weights of graph
[in]bint vector of target degrees for nodes
[in]maxItersmaximum iterations before aborting optimization
[in]verbosewhether to print status
Returns:
A boolean SparseMatrix containing matched elements of the b-matching adjacency matrix
 All Classes Namespaces Files Functions Variables Defines