matroid-0.0.0.1: matroid (combinatorial pre-geometries) library
Copyright(c) Immanuel Albrecht 2020-202x
LicenseBSD-3
Maintainermail@immanuel-albrecht.de
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Matroid

Description

This module provides type classes and functionalities that allow you to work with matroids and related structures.

A matroid is also called a combinatorial pre-geometry and is a structure that abstracts (linear) dependence. Matroids occur naturally in settings where the greedy algorithm works, although they usually stay under the radar.

Synopsis

Documentation

fromRk Source #

Arguments

:: Show a 
=> Set a

ground set

-> (Set a -> Int)

rank function

-> RkMatroid a 

matroid constructor given groundset and rank function

namedFromRk Source #

Arguments

:: String

name

-> Set a

ground set

-> (Set a -> Int)

rank function

-> RkMatroid a 

named matroid constructor given groundset and rank function

fromIndep Source #

Arguments

:: Show a 
=> Set a

ground set

-> (Set a -> Bool)

independence test

-> IndepMatroid a 

matroid constructor given groundset and test for independence

namedFromIndep Source #

Arguments

:: String

name

-> Set a

ground set

-> (Set a -> Bool)

independence test

-> IndepMatroid a 

named matroid constructor given groundset and test for independence

fromBasisFilter Source #

Arguments

:: Show a 
=> Set a

ground set

-> (Set a -> Set a)

returns maximal independent subset

-> BasisFilterMatroid a 

matroid constructor given groundset and set-basis filter

namedFromBasisFilter Source #

Arguments

:: String

name

-> Set a

ground set

-> (Set a -> Set a)

returns maximal independent subset

-> BasisFilterMatroid a 

named matroid constructor given groundset and set-basis filter