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.Uniform

Description

This module provides implementations of uniform matroids.

Synopsis

Documentation

data UniformMatroid a Source #

data type representing a uniform matroid over a given ground set

Instances

Instances details
(Ord a, Show a) => Matroid UniformMatroid a Source # 
Instance details

Defined in Data.Matroid.Uniform

Eq a => Eq (UniformMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

Ord a => Ord (UniformMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

Show a => Show (UniformMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

uniformOn Source #

Arguments

:: Ord a 
=> Set a

ground set of the uniform matroid

-> Int

rank of the uniform matroid (r)

-> UniformMatroid a 

returns a uniform matroid on a given ground set of rank r

uniform Source #

Arguments

:: Int

size of the uniform matroid (number of edges, n)

-> Int

rank of the uniform matroid (r)

-> UniformMatroid Int 

returns a uniform matroid on the intergers from 1..n of rank r

data FreeMatroid a Source #

data type that represents a free matroid over a given set (free matroids are of course uniform)

Instances

Instances details
(Ord a, Show a) => Matroid FreeMatroid a Source # 
Instance details

Defined in Data.Matroid.Uniform

Eq a => Eq (FreeMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

Ord a => Ord (FreeMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

Show a => Show (FreeMatroid a) Source # 
Instance details

Defined in Data.Matroid.Uniform

freeOn Source #

Arguments

:: Ord a 
=> Set a

ground set of the free matroid

-> FreeMatroid a 

returns a free matroid on a given ground set (where every subset of the groundset is independent)