Discrete Mathematics
The Wolfram Language has been used to make many important discoveries in discrete mathematics over the past two decades. Its integration of highly efficient and often original algorithms together with its high-level symbolic language has made it a unique environment for the exploration, development, and application of discrete mathematics.
List and Set Operations »
Tuples ▪ Subsets ▪ Union ▪ Intersection ▪ Complement ▪ DisjointQ ▪ ...
Permutations »
Permutations ▪ Sort ▪ Ordering ▪ Signature ▪ RandomSample ▪ ...
Group Theory »
PermutationGroup ▪ GroupOrder ▪ GroupElements ▪ GroupElementQ ▪ ...
Enumeration-Related Functions »
Factorial ▪ Binomial ▪ Fibonacci ▪ StirlingS1 ▪ PartitionsP ▪ IntegerPartitions ▪ FiniteGroupCount ▪ ...
Discrete Calculus »
RSolve — solve recurrence equations
Sum ▪ GeneratingFunction ▪ ZTransform ▪ DifferenceDelta ▪ ContinuedFractionK ▪ ...
Integer Sequences »
FindSequenceFunction — find functions for integer sequences
RecurrenceTable ▪ LinearRecurrence ▪ ...
Strings and Digits
StringReplaceList ▪ IntegerDigits ▪ BitXor ▪ BitAnd
ReplaceList — generate a list of forms matching a pattern
Graphs and Networks »
Graph — represent an undirected, directed, or mixed graph, or a multigraph
FindShortestPath ▪ FindCycle ▪ FindGraphIsomorphism ▪ ...
Trees & Expression Enumeration
TreeGraph ▪ KaryTree ▪ FindSpanningTree ▪ ClusteringTree ▪ ...
Groupings — generate all possible tree expressions from lists of elements
Combinatorial Optimization
FindMinimum, Minimize — solve integer programming problems
FindShortestTour — solve traveling salesman problems
KnapsackSolve ▪ FrobeniusSolve
Boolean Computation »
And ▪ Or ▪ SatisfiableQ ▪ BooleanFunction ▪ BooleanMinimize ▪ ...
Algebraic Systems »
FiniteGroupData ▪ LatticeData ▪ KnotData
Computational Systems »
CellularAutomaton ▪ TuringMachine ▪ SubstitutionSystem ▪ RulePlot