Package jline.lib.perm
Class HeuristicPermanent
-
- All Implemented Interfaces:
public final class HeuristicPermanent extends PermSolver
Heuristic approximation to the permanent of a positive matrix.
This implementation uses Sinkhorn scaling to make the matrix approximately doubly stochastic, then applies a mean-field approximation with van der Waerden bounds combined with a Gurvits-like capacity bound.
The algorithm:
Uses Sinkhorn scaling to make A approximately doubly stochastic
Applies a mean-field approximation with van der Waerden bounds
Combines with a Gurvits-like capacity bound
Scales the result back to the original matrix scale
This is a heuristic approximation suitable for large matrices where exact computation is computationally prohibitive. The approximation quality depends on the structure of the input matrix.
-
-
Constructor Summary
Constructors Constructor Description HeuristicPermanent(Matrix matrix, Boolean solve)Constructor with just matrix and solve parameters. HeuristicPermanent(Matrix matrix)Constructor with just matrix parameter. HeuristicPermanent(Matrix matrix, Double tolerance, Integer maxIterations, Boolean solve)
-
Method Summary
-
-
Constructor Detail
-
HeuristicPermanent
HeuristicPermanent(Matrix matrix, Boolean solve)
Constructor with just matrix and solve parameters.
-
HeuristicPermanent
HeuristicPermanent(Matrix matrix)
Constructor with just matrix parameter.
-
HeuristicPermanent
HeuristicPermanent(Matrix matrix, Double tolerance, Integer maxIterations, Boolean solve)
- Parameters:
matrix- The matrix for which to compute the permanent (must be strictly positive)tolerance- Convergence threshold for Sinkhorn scalingmaxIterations- Maximum number of Sinkhorn iterationssolve- Whether to automatically run solve() after construction
-
-
-
-