Skip to content

HolyLab/MatrixCovers.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MatrixCovers

Dev Build Status Coverage Aqua QA

This package computes covers of matrices: non-negative vectors a (and b) such that a[i] * b[j] >= abs(A[i, j]) for all i, j. Covers are the natural scale-covariant representation of a matrix — under row/column diagonal scaling they transform exactly as the matrix entries do — making them a useful building block for scale-invariant numerical analysis.

Fast O(mn) heuristics (symcover, cover) are provided for everyday use, along with soft covers (soft_symcover, soft_cover) that penalize under-coverage rather than forbid it. Objective-minimal hard covers (symcover_min, cover_min) minimize a penalty subject to the coverage constraint: the default squared-log-excess penalty is solved natively, with no external solver, while the other penalties are available when JuMP and HiGHS (or Ipopt) are loaded.

See the documentation for motivation, examples, and a full API reference.

About

Tools for for scale-invariant numerical analysis

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages