Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
janus::GraphColoring Class Reference

Wrapper around a CasADi graph coloring assignment. More...

#include <Sparsity.hpp>

Public Member Functions

 GraphColoring ()=default
 Default-construct an empty coloring.
 GraphColoring (const casadi::Sparsity &coloring)
 Construct from a CasADi coloring sparsity.
int n_entries () const
 Number of original entries being colored.
int n_colors () const
 Number of compressed seed directions (colors).
double compression_ratio () const
 Compression factor relative to one direction per entry.
std::vector< int > colorvec () const
 0-based color assignment for each original entry
const SparsityPatternpattern () const
 Access the sparse assignment matrix behind the coloring.

Detailed Description

Wrapper around a CasADi graph coloring assignment.

CasADi encodes a coloring as a sparse matrix with one nonzero per colored entry. Rows correspond to original derivative entries and columns correspond to compressed seed directions.

Constructor & Destructor Documentation

◆ GraphColoring() [1/2]

janus::GraphColoring::GraphColoring ( )
default

Default-construct an empty coloring.

Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ GraphColoring() [2/2]

janus::GraphColoring::GraphColoring ( const casadi::Sparsity & coloring)
inlineexplicit

Construct from a CasADi coloring sparsity.

Parameters
coloringSparse assignment matrix from CasADi

Member Function Documentation

◆ colorvec()

std::vector< int > janus::GraphColoring::colorvec ( ) const
inline

0-based color assignment for each original entry

Returns
Vector of color indices (-1 for uncolored entries)
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ compression_ratio()

double janus::GraphColoring::compression_ratio ( ) const
inline

Compression factor relative to one direction per entry.

Returns
n_entries / n_colors (0 if no colors)
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ n_colors()

int janus::GraphColoring::n_colors ( ) const
inline

Number of compressed seed directions (colors).

Returns
Color count
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ n_entries()

int janus::GraphColoring::n_entries ( ) const
inline

Number of original entries being colored.

Returns
Entry count
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ pattern()

const SparsityPattern & janus::GraphColoring::pattern ( ) const
inline

Access the sparse assignment matrix behind the coloring.

Returns
Const reference to the assignment pattern
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

The documentation for this class was generated from the following file: