Zero Forcing Number

Author

Eric W. Weisstein
February 13, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/GraphTheory/ZeroForcingNumber.nb.

For more information, see Eric's MathWorld entry https://mathworld.wolfram.com/ZeroForcingNumber.html.

©2026 Wolfram Research, Inc. except for portions noted otherwise

Examples

"CricketGraph" ("CampstoolGraph")

https://arxiv.org/pdf/2506.10726

GraphData["CampstoolGraph","#"]

GraphData[%]

GraphData["CricketGraph","ZeroForcingNumber"]

Theorems

n ≤ 6

https://arxiv.org/pdf/2506.10726

[11] AIM Minimum Rank-Special Graphs Work Group et al. Zero forcing sets and the
minimum rank of graphs. Linear algebra and its applications, 428(7):1628–1648,
2008.

n ≤ 7

https://arxiv.org/pdf/2506.10726

[8] Laura DeLoss, Jason Grout, Leslie Hogben, Tracy McKay, Jason Smith, and Geoff
Tims. Table of minimum ranks of graphs of order at most 7 and selected optimal
matrices. arXiv preprint arXiv:0812.0870, 2008.

Here is the verification that (for connected and therefore also for disconnected) graphs in this table (i.e., all simple graphs up to vertex count 7), minimum rank == zero forcing number:

DeLossCatalog=

DeleteCases[
	With[
		{
			atlas = #,
			minrank = #2,
			zeroforcinglb = #3,
			connected = #4,
			gn = GraphData[{"Atlas", #}, "#"]
		},
		{
			atlas, gn,
			minrank, zeroforcinglb,
			connected
		}
	] & @@@ Values @ FromTabular[
		DeLossCatalog[[All, {"Atlas number", "Minimum Rank", "Zero forcing LB", "Connected"}]],
		"Rows"
	],
	{_, _, x_, x_, True} | {__, False}
]

n ≤ 8

https://arxiv.org/pdf/2506.10726

GraphDataCountTable

table=GraphDataCountTable["ZeroForcingNumber"]

DateString[]

TextGrid[OEISUpdates[table],Dividers->All]

Parametrized families

<<MathWorld`Graphs`

Alkane

seq=Table[GraphData[{"Alkane",n},"ZeroForcingNumber"],{n,10}]

AlternatingGroupGraph

seq=Table[GraphData[{"AlternatingGroupGraph",n},"ZeroForcingNumber"],{n,2,6}]

Andrasfai

seq=Table[GraphData[{"Andrasfai",n},"ZeroForcingNumber"],{n,20}]

Antelope n×n

seq=Table[GraphData[{"Antelope",{n,n}},"ZeroForcingNumber"],{n,20}]

Antiprism

Entity["Graph",{"Antiprism",n}]["ZeroForcingNumber"]

AIM Minimum Rank—Special Graphs Work Group.  "Zero forcing sets and the minimum rank of graphs."  Linear Algebra and its Applications 428, 1628–1648, 2008.  https://draganstevanovic.wordpress.com/wp-content/uploads/2012/09/published-version2.pdf?utm_source=chatgpt.com

seq=Table[GraphData[{"Antiprism",n},"ZeroForcingNumber"],{n,3,25}]

Apollonian

seq=Table[GraphData[{"Apollonian",n},"ZeroForcingNumber"],{n,5}]

Barbell

seq=Table[GraphData[{"Barbell",n},"ZeroForcingNumber"],{n,3,20}]

Bishop n×n

seq=Table[GraphData[{"Bishop",{n,n}},"ZeroForcingNumber"],{n,20}]

BlackBishop n×n

seq=Table[GraphData[{"BlackBishop",{n,n}},"ZeroForcingNumber"],{n,20}]

Book

seq=Table[GraphData[{"Book",n},"ZeroForcingNumber"],{n,20}]

Bruhat

seq=Table[GraphData[{"Bruhat",n},"ZeroForcingNumber"],{n,6}]

Camel n×n

seq=Table[GraphData[{"Camel",{n,n}},"ZeroForcingNumber"],{n,20}]

Cameron

seq=Table[GraphData[{"Cameron",n},"ZeroForcingNumber"],{n,20}]

Centipede

seq=Table[GraphData[{"Centipede",n},"ZeroForcingNumber"],{n,10}]

CocktailParty

seq=Table[GraphData[{"CocktailParty",n},"ZeroForcingNumber"],{n,20}]

Complete

Entity["Graph",{"Complete",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Complete",n},"ZeroForcingNumber"],{n,30}]

Table[Piecewise[{{1,n==1}},n-1],{n,30}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

Except ZFN((Subscript[K, 1]))==1

CompleteBipartite m×n

https://aimath.org/WWN/matrixspectrum/catalog2.html

Entity["Graph",{"CompleteBipartite",{m,n}}]["ZeroForcingNumber"]

DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"CompleteBipartite",{m,n}},"ZeroForcingNumber"],
Piecewise[{{1,m==n==1}},m+n-2]
},{n,10},{m,n}],1],{_,x_,x_}]

CompleteBipartite n×n

https://aimath.org/WWN/matrixspectrum/catalog2.html

Entity["Graph",{"CompleteBipartite",{n,n}}]["ZeroForcingNumber"]

seq=Table[GraphData[{"CompleteBipartite",{n,n}},"ZeroForcingNumber"],{n,20}]

Table[Piecewise[{{1,n==1}},2(n-1)],{n,20}]

CompleteKPartite

(Z not given)

https://aimath.org/WWN/matrixspectrum/catalog2.html

CompleteTripartite n×n×n

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["ZeroForcingNumber"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ZeroForcingNumber"],{n,10}]

CompleteTripartite k×m×n

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["ZeroForcingNumber"]

DeleteCases[Flatten[Table[{
{k,m,n},
GraphData[{"CompleteTripartite",{k,m,n}},"ZeroForcingNumber"],
XXX
},{n,10},{m,n},{k,m}],2],{_,x_,x_}]

CossidentePenttila

seq=Table[GraphData[{"CossidentePenttila",n},"ZeroForcingNumber"],{n,10}]

CrossedPrism

seq=Table[GraphData[{"CrossedPrism",2n},"ZeroForcingNumber"],{n,2,12}]

Crown

seq=Table[GraphData[{"Crown",n},"ZeroForcingNumber"],{n,20}]

CubeConnectedCycle

Entity["Graph",{"CubeConnectedCycle",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"CubeConnectedCycle",n},"ZeroForcingNumber"],{n,3,8}]

Cycle

Entity["Graph",{"Cycle",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Cycle",n},"ZeroForcingNumber"],{n,3,30}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

CycleComplement

seq=Table[GraphData[{"CycleComplement",n},"ZeroForcingNumber"],{n,3,20}]

DiagonalIntersection

seq=Table[GraphData[{"DiagonalIntersection",n},"ZeroForcingNumber"],{n,3,14}]

Dipyramid

seq=Table[GraphData[{"Dipyramid",n},"ZeroForcingNumber"],{n,3,20}]

DorogovtsevGoltsevMendes

seq=Table[GraphData[{"DorogovtsevGoltsevMendes",n},"ZeroForcingNumber"],{n,0,7}]

DoubleCone

seq=Table[GraphData[{"DoubleCone",n},"ZeroForcingNumber"],{n,3,20}]

Empty

Entity["Graph",{"Empty",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Empty",n},"ZeroForcingNumber"],{n,30}]

ErectedPolygon

http://admin.aimath.org/resources/graph-invariants/minimumrankoffamilies/#/pathstrongprod

https://projecteuclid.org/journals/involve-a-journal-of-mathematics/volume-3/issue-4/Minimum-rank-maximum-nullity-and-zero-forcing-number-for-selected/10.2140/involve.2010.3.371.pdf

FibonacciCube

seq=Table[GraphData[{"FibonacciCube",n},"ZeroForcingNumber"],{n,15}]

Fiveleaper n×n

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ZeroForcingNumber"],{n,20}]

Flower

seq=Table[GraphData[{"Flower",n},"ZeroForcingNumber"],{n,5,20}]

FoldedCube

seq=Table[GraphData[{"FoldedCube",n},"ZeroForcingNumber"],{n,2,10}]

Gear

seq=Table[GraphData[{"Gear",n},"ZeroForcingNumber"],{n,3,20}]

Giraffe n×n

seq=Table[GraphData[{"Giraffe",{n,n}},"ZeroForcingNumber"],{n,20}]

Goldberg

seq=Table[GraphData[{"Goldberg",n},"ZeroForcingNumber"],{n,3,20}]

Grid m×n

Entity["Graph",{"Grid",{m,n}}]["ZeroForcingNumber"]

https://aimath.org/WWN/matrixspectrum/catalog2.html

Sort@DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"Grid",{m,n}},"ZeroForcingNumber"],
Min[m,n]
},{n,10},{m,n}],1],{_,x_,x_}]

Grid n×n

Entity["Graph",{"Grid",{n,n}}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Grid",{n,n}},"ZeroForcingNumber"],{n,20}]

Grid n×n×n

Entity["Graph",{"Grid",{n,n,n}}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Grid",{n,n,n}},"ZeroForcingNumber"],{n,10}]

Grid k×m×n

Entity["Graph",{"Grid",{k,m,n}}]["ZeroForcingNumber"]

Sort@DeleteCases[Flatten[Table[{
{k,m,n},
GraphData[{"Grid",{k,m,n}},"ZeroForcingNumber"],
XXX
},{n,5},{m,n},{k,m}],2],{_,x_,x_}]

HalvedCube

seq=Table[GraphData[{"HalvedCube",n},"ZeroForcingNumber"],{n,10}]

Hanoi

seq=Table[GraphData[{"Hanoi",n},"ZeroForcingNumber"],{n,6}]

Helm

seq=Table[GraphData[{"Helm",n},"ZeroForcingNumber"],{n,3,20}]

Hypercube

Entity["Graph",{"Hypercube",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Hypercube",n},"ZeroForcingNumber"],{n,0,10}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

KC

https://aimath.org/WWN/matrixspectrum/catalog2.html

DeleteCases[
With[{gn=#,t=#2,s=#3},{gn,2t,GraphData[gn,"ZeroForcingNumber"]}]&@@@DeleteCases[
{#,Sequence@@GraphData[#,"NotationRules","KC"]}&/@GraphData["KC"],
{_,_,_?(LessThan[4])}
],
{_,x_,x_}]

Keller

Entity["Graph",{"Keller",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Keller",n},"ZeroForcingNumber"],{n,5}]

King m×n

https://aimath.org/WWN/matrixspectrum/catalog2.html

DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"King",{m,n}},"MaximumNullity"],
Piecewise[{{1,Min[m,n]==1}},m+n-1]
},{n,10},{m,n}],1],{_,x_,x_}]

King n×n

seq=Table[GraphData[{"King",{n,n}},"ZeroForcingNumber"],{n,20}]

Knight n×n

Entity["Graph",{"Knight",{n,n}}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Knight",{n,n}},"ZeroForcingNumber"],{n,20}]

Knight m×n

Entity["Graph",{"Knight",{m,n}}]["ZeroForcingNumber"]

DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"Knight",{m,n}},"ZeroForcingNumber"],
XXX
},{n,10},{m,n}],1],{_,x_,x_}]

KP

https://aimath.org/WWN/matrixspectrum/catalog2.html

DeleteCases[
With[{gn=#,s=#2,t=#3},{gn,s,GraphData[gn,"ZeroForcingNumber"]}]&@@@DeleteCases[
{#,Sequence@@GraphData[#,"NotationRules","KP"]}&/@GraphData["KP"],
{_,_,1}
],
{_,x_,x_}]

Ladder

Entity["Graph",{"Ladder",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Ladder",n},"ZeroForcingNumber"],{n,20}]

LadderRung

seq=Table[GraphData[{"LadderRung",n},"ZeroForcingNumber"],{n,20}]

LindgrenSousselier

seq=Table[GraphData[{"LindgrenSousselier",n},"ZeroForcingNumber"],{n,11}]

LucasCube

seq=Table[GraphData[{"LucasCube",n},"ZeroForcingNumber"],{n,15}]

MengerSponge

seq=Table[GraphData[{"MengerSponge",n},"ZeroForcingNumber"],{n,3}]

MoebiusLadder

Entity["Graph",{"MoebiusLadder",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"MoebiusLadder",n},"ZeroForcingNumber"],{n,3,25}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

Mycielski

Entity["Graph",{"Mycielski",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Mycielski",n},"ZeroForcingNumber"],{n,11}]

Necklace

seq=Table[GraphData[{"Necklace",n},"ZeroForcingNumber"],{n,10}]

http://admin.aimath.org/resources/graph-invariants/minimumrankoffamilies/#/neck

https://aimath.org/WWN/matrixspectrum/catalog2.html

[DG+09] L. DeAlba, J. Grout, L. Hogben, R. Mikkelson, and K. Rasmussen. Universally optimal matrices and field independence of the minimum rank of a graph. Elec. J. Lin. Alg., 18: 403–419, 2009.

Odd

Entity["Graph",{"Odd",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Odd",n},"ZeroForcingNumber"],{n,7}]

Paley

seq=Table[GraphData[{"Paley",n},"ZeroForcingNumber"],{n,XXX}]

Pan

seq=Table[GraphData[{"Pan",n},"ZeroForcingNumber"],{n,3,20}]

Path

Entity["Graph",{"Path",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Path",n},"ZeroForcingNumber"],{n,20}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

PathComplement

seq=Table[GraphData[{"PathComplement",n},"ZeroForcingNumber"],{n,20}]

Peisert

seq=Table[GraphData[{"Peisert",n},"ZeroForcingNumber"],{n,XXX}]

Pell

seq=Table[GraphData[{"Pell",n},"ZeroForcingNumber"],{n,9}]

Pineapple

new=With[{gn=#,m=#2[[1]],k=#2[[2]]},{gn,k+m-3,GraphData[gn,"ZeroForcingNumber"]}]&@@@DeleteCases[
{#,GraphData[#,"NotationRules","Pineapple"]}&/@GraphData["Pineapple"],
{_,{_,1}}
]

DeleteCases[new,{_,x_,x_}]

https://aimath.org/WWN/matrixspectrum/catalog2.html

http://admin.aimath.org/resources/graph-invariants/minimumrankoffamilies/#/crciclo

http://admin.aimath.org/resources/graph-invariants/minimumrankoffamilies/view/_id/5303cb962d62b7385f0be323

[DG+09] L. DeAlba, J. Grout, L. Hogben, R. Mikkelson, and K. Rasmussen. Universally optimal matrices and field independence of the minimum rank of a graph. Elec. J. Lin. Alg., 18: 403–419, 2009.

PlummerToft

seq=Table[GraphData[{"PlummerToft",n},"ZeroForcingNumber"],{n,20}]

Prism

Entity["Graph",{"Prism",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Prism",n},"ZeroForcingNumber"],{n,3,25}]

Queen n×n

seq=Table[GraphData[{"Queen",{n,n}},"ZeroForcingNumber"],{n,20}]

Rook m×n

https://aimath.org/WWN/matrixspectrum/catalog2.html

DeleteCases[With[{gn=#,s=#2,t=#3},{gn,s t-s-t+2,GraphData[gn,"MaximumNullity"]}]&@@@DeleteCases[
{#,Sequence@@GraphData[#,"NotationRules","Rook"]}&/@GraphData["Rook"],
{_,1,_}],
{_,x_,x_}]

Rook n×n

seq=Table[GraphData[{"Rook",{n,n}},"ZeroForcingNumber"],{n,20}]

FindSequenceFunction[seq,n]//FullSimplify

RookComplement n×n

seq=Table[GraphData[{"RookComplement",{n,n}},"ZeroForcingNumber"],{n,20}]

SierpinskiCarpet

seq=Table[GraphData[{"SierpinskiCarpet",n},"ZeroForcingNumber"],{n,4}]

SierpinskiGasket

seq=Table[GraphData[{"SierpinskiGasket",n},"ZeroForcingNumber"],{n,7}]

SierpinskiTetrahedron

seq=Table[GraphData[{"SierpinskiTetrahedron",n},"ZeroForcingNumber"],{n,6}]

Spoke n×n

seq=Table[GraphData[{"Spoke",{n,n}},"ZeroForcingNumber"],{n,5}]

StackedBook m×n

DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"StackedBook",{m,n}},"ZeroForcingNumber"],
XXX
},{n,10},{m,n}],1],{_,x_,x_}]

StackedBook n×n

seq=Table[GraphData[{"StackedBook",{n,n}},"ZeroForcingNumber"],{n,10}]

StackedPrism m×n

https://aimath.org/WWN/matrixspectrum/catalog2.html

DeleteCases[Flatten[Table[{
{m,n},
GraphData[{"StackedPrism",{m,n}},"MaximumNullity"],
Min[m,2n]
},{m,3,8},{n,5}],1],{_,x_,x_}]

StackedPrism n×n

seq=Table[GraphData[{"StackedPrism",{n,n}},"ZeroForcingNumber"],{n,3,5}]

Star

Entity["Graph",{"Star",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Star",n},"ZeroForcingNumber"],{n,25}]

Table[Piecewise[{{1,n==1||n==2}},n-2],{n,25}]

Sun

seq=Table[GraphData[{"Sun",n},"ZeroForcingNumber"],{n,3,20}]

Sunlet

seq=Table[GraphData[{"Sunlet",n},"ZeroForcingNumber"],{n,3,20}]

(No Z given)

https://aimath.org/WWN/matrixspectrum/catalog2.html

Tetrahedral

seq=Table[GraphData[{"Tetrahedral",n},"ZeroForcingNumber"],{n,6,10}]

TorusGrid m×n

DeleteCases[With[{gn=#,s=#2,t=#3},{gn,If[t==s&&OddQ[s],2s-1,2s],GraphData[gn,"ZeroForcingNumber"]}]&@@@(
{#,Sequence@@GraphData[#,"NotationRules","TorusGrid"]}&/@GraphData["TorusGrid"]),
{_,x_,x_}]

http://admin.aimath.org/resources/graph-invariants/minimumrankoffamilies/#/pathstrongprod

TorusGrid n×n

seq=Table[GraphData[{"TorusGrid",{n,n}},"ZeroForcingNumber"],{n,3,20}]

FullSimplify[FindSequenceFunction[seq,n-2],n∈Integers]

Transposition

Entity["Graph",{"Transposition",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Transposition",n},"ZeroForcingNumber"],{n,6}]

Trapezohedron

Entity["Graph",{"Trapezohedron",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Trapezohedron",n},"ZeroForcingNumber"],{n,3,20}]

Triangular

seq=Table[GraphData[{"Triangular",n},"ZeroForcingNumber"],{n,2,20}]

TriangularGrid

seq=Table[GraphData[{"TriangularGrid",n},"ZeroForcingNumber"],{n,0,20}]

TriangularHoneycombAcuteKnight

seq=Table[GraphData[{"TriangularHoneycombAcuteKnight",n},"ZeroForcingNumber"],{n,20}]

TriangularHoneycombBishop

seq=Table[GraphData[{"TriangularHoneycombBishop",n},"ZeroForcingNumber"],{n,20}]

TriangularHoneycombObtuseKnight

seq=Table[GraphData[{"TriangularHoneycombObtuseKnight",n},"ZeroForcingNumber"],{n,20}]

TriangularHoneycombQueen

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ZeroForcingNumber"],{n,20}]

TriangularHoneycombRook

seq=Table[GraphData[{"TriangularHoneycombRook",n},"ZeroForcingNumber"],{n,20}]

TriangularSnake

seq=Table[GraphData[{"TriangularSnake",n},"ZeroForcingNumber"],{n,1,20,2}]

Web

seq=Table[GraphData[{"Web",n},"ZeroForcingNumber"],{n,3,20}]

Wheel

Entity["Graph",{"Wheel",n}]["ZeroForcingNumber"]

seq=Table[GraphData[{"Wheel",n},"ZeroForcingNumber"],{n,4,20}]

WheelComplement

seq=Table[GraphData[{"WheelComplement",n},"ZeroForcingNumber"],{n,4,20}]

WhiteBishop n×n

seq=Table[GraphData[{"WhiteBishop",{n,n}},"ZeroForcingNumber"],{n,2,20}]

WhiteCamel n×n

seq=Table[GraphData[{"Bishop",{n,n}},"ZeroForcingNumber"],{n,{5}}]

Zebra n×n

seq=Table[GraphData[{"Zebra",{n,n}},"ZeroForcingNumber"],{n,20}]