This is the Julia interface to ColPack.
using ColPack
using SparseArrays
# Example matrix/Jacobian
A = [
[1.0 1.0 0.0 0.0 0.0];
[0.0 0.0 1.0 0.0 0.0];
[0.0 1.0 0.0 1.0 0.0];
[0.0 0.0 0.0 1.0 1.0];
]
A = sparse(A)
# Create adjacency matrix for column coloring
adjA = ColPack.matrix2adjmatrix(A; partition_by_rows=false)
coloring = ColPackColoring(adjA, d1_coloring(), random_ordering())
println("Number of colors: ", length(unique(get_colors(coloring))))
println("Vector of vertex colors: ", get_colors(coloring))