Berman Configurations

Author

Eric W. Weisstein
May 22, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/Configurations/BermanConfigurations.nb.

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

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

Source

From Ed Pegg, Jr.
Mathematical Games, Episode 12: Configurations
Dec. 2023

Figure

GraphicsRow[Annotate[
StyleGraphs[GraphData[#],VertexSize->{"Scaled",.015}],
PlotLabel->Style[#2,FontFamily->"Times",Italic,14]]&@@@
{
{"Berman485ConfigurationGraph",Row[{"Berman ",Subscript[48,5]," configuration"}]},
{"Berman966ConfigurationGraph",Row[{"Berman ",Subscript[96,6]," configuration"}]}
},Dividers->All]

(Subscript[48, 5])

From Ed Pegg, Jr.
Mathematical Games, Episode 12: Configurations
Dec. 2023

For points and lines, Leah Berman found the first 5-configuration.

dodec={{1,-(Sqrt[3])},{(Sqrt[3]),-1},{2,0},{(Sqrt[3]),1},{1,(Sqrt[3])},{0,2},{-1,(Sqrt[3])},{-(Sqrt[3]),1},{-2,0},{-(Sqrt[3]),-1},{-1,-(Sqrt[3])},{0,-2},
{2-(Sqrt[3]),-1},{-1+(Sqrt[3]),1-(Sqrt[3])},{1,-2+(Sqrt[3])},{1,2-(Sqrt[3])},{-1+(Sqrt[3]),-1+(Sqrt[3])},{2-(Sqrt[3]),1},{-2+(Sqrt[3]),1},{1-(Sqrt[3]),-1+(Sqrt[3])},{-1,2-(Sqrt[3])},{-1,-2+(Sqrt[3])},{1-(Sqrt[3]),1-(Sqrt[3])},{-2+(Sqrt[3]),-1},
{(NumericalApproximation[Root, (RowDefault["0.861", FEExpressionsNumericalApproximationElider]), Root[-11+4 #1+6 ((#1)^2)+4 ((#1)^3)+((#1)^4)&,2], ]),1},{(NumericalApproximation[Root, (RowDefault["0.246", FEExpressionsNumericalApproximationElider]), Root[-2+8 #1+2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["1.30", FEExpressionsNumericalApproximationElider]), Root[-2-4 #1+2 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.435", FEExpressionsNumericalApproximationElider]), Root[1+2 #1+2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["1.25", FEExpressionsNumericalApproximationElider]), Root[-11+10 #1-2 ((#1)^3)+((#1)^4)&,2], ])},{-1,(NumericalApproximation[Root, (RowDefault["0.861", FEExpressionsNumericalApproximationElider]), Root[-11+4 #1+6 ((#1)^2)+4 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-1.30", FEExpressionsNumericalApproximationElider]), Root[-2+4 #1-2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["0.246", FEExpressionsNumericalApproximationElider]), Root[-2+8 #1+2 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[-11-10 #1+2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.435", FEExpressionsNumericalApproximationElider]), Root[1+2 #1+2 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.861", FEExpressionsNumericalApproximationElider]), Root[-11-4 #1+6 ((#1)^2)-4 ((#1)^3)+((#1)^4)&,1], ]),-1},{(NumericalApproximation[Root, (RowDefault["-0.246", FEExpressionsNumericalApproximationElider]), Root[-2-8 #1-2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-1.30", FEExpressionsNumericalApproximationElider]), Root[-2+4 #1-2 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.435", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[-11-10 #1+2 ((#1)^3)+((#1)^4)&,1], ])},{1,(NumericalApproximation[Root, (RowDefault["-0.861", FEExpressionsNumericalApproximationElider]), Root[-11-4 #1+6 ((#1)^2)-4 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["1.30", FEExpressionsNumericalApproximationElider]), Root[-2-4 #1+2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["-0.246", FEExpressionsNumericalApproximationElider]), Root[-2-8 #1-2 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["1.25", FEExpressionsNumericalApproximationElider]), Root[-11+10 #1-2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.435", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-2 ((#1)^3)+((#1)^4)&,1], ])},
{(NumericalApproximation[Root, (RowDefault["0.681", FEExpressionsNumericalApproximationElider]), Root[-3+6 ((#1)^2)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.0508", FEExpressionsNumericalApproximationElider]), Root[1-20 #1+6 ((#1)^2)+4 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.565", FEExpressionsNumericalApproximationElider]), Root[-2+4 #1-2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.385", FEExpressionsNumericalApproximationElider]), Root[6-24 #1+24 ((#1)^2)-6 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.297", FEExpressionsNumericalApproximationElider]), Root[-3+6 #1+12 ((#1)^2)+6 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.615", FEExpressionsNumericalApproximationElider]), Root[1-10 #1+12 ((#1)^2)+2 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.0508", FEExpressionsNumericalApproximationElider]), Root[1+20 #1+6 ((#1)^2)-4 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.681", FEExpressionsNumericalApproximationElider]), Root[-3+6 ((#1)^2)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.385", FEExpressionsNumericalApproximationElider]), Root[6+24 #1+24 ((#1)^2)+6 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["0.565", FEExpressionsNumericalApproximationElider]), Root[-2+4 #1-2 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.615", FEExpressionsNumericalApproximationElider]), Root[1+10 #1+12 ((#1)^2)-2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["0.297", FEExpressionsNumericalApproximationElider]), Root[-3+6 #1+12 ((#1)^2)+6 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.681", FEExpressionsNumericalApproximationElider]), Root[-3+6 ((#1)^2)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.0508", FEExpressionsNumericalApproximationElider]), Root[1+20 #1+6 ((#1)^2)-4 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.565", FEExpressionsNumericalApproximationElider]), Root[-2-4 #1+2 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.385", FEExpressionsNumericalApproximationElider]), Root[6+24 #1+24 ((#1)^2)+6 ((#1)^3)+((#1)^4)&,2], ])},{(NumericalApproximation[Root, (RowDefault["-0.297", FEExpressionsNumericalApproximationElider]), Root[-3-6 #1+12 ((#1)^2)-6 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.615", FEExpressionsNumericalApproximationElider]), Root[1+10 #1+12 ((#1)^2)-2 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.0508", FEExpressionsNumericalApproximationElider]), Root[1-20 #1+6 ((#1)^2)+4 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.681", FEExpressionsNumericalApproximationElider]), Root[-3+6 ((#1)^2)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.385", FEExpressionsNumericalApproximationElider]), Root[6-24 #1+24 ((#1)^2)-6 ((#1)^3)+((#1)^4)&,1], ]),(NumericalApproximation[Root, (RowDefault["-0.565", FEExpressionsNumericalApproximationElider]), Root[-2-4 #1+2 ((#1)^3)+((#1)^4)&,1], ])},{(NumericalApproximation[Root, (RowDefault["0.615", FEExpressionsNumericalApproximationElider]), Root[1-10 #1+12 ((#1)^2)+2 ((#1)^3)+((#1)^4)&,2], ]),(NumericalApproximation[Root, (RowDefault["-0.297", FEExpressionsNumericalApproximationElider]), Root[-3-6 #1+12 ((#1)^2)-6 ((#1)^3)+((#1)^4)&,1], ])}};

lin=ResourceFunction["FindExtraordinaryLines"][dodec]

lines=GatherBy[lin,RootReduce[Norm[Mean[dodec[[#]]]]]&]

Graphics[{EdgeForm[Black],
Green,Line[dodec[[#]]]&/@lines[[1]],
Black,Line[dodec[[#]]]&/@lines[[2]],
Red,Line[dodec[[#]]]&/@lines[[3]],
Blue,Line[dodec[[#]]]&/@lines[[4]],
White,Disk[#,.03]&/@dodec}]

Berman485Graph=LeviGraph[lin]

VertexCount[%]

ConfigurationDiagram[dodec,lin,VertexLabels->None]

Berman485ConfigurationGraph=ConfigurationGraph[dodec,lin]

RecognizeGraph@%90

(Subscript[96, 6]) Configuration

Leah Berman also found the first 6-configuration.

base={{0,-1},{0,Root[1+2 #1+2 #1^3+#1^4&,2]},{1/2,Root[-11-8 #1+24 #1^2-32 #1^3+16 #1^4&,1]},{1/2,Root[-11+8 #1+24 #1^2+32 #1^3+16 #1^4&,2]},{1/2 (2-Sqrt[3]),-(1/2)},{Root[-1+4 #1-8 #1^3+8 #1^4&,2],Root[3-24 #1+48 #1^2-24 #1^3+8 #1^4&,1]},{Root[-1+4 #1-8 #1^3+8 #1^4&,2],Root[3+24 #1+48 #1^2+24 #1^3+8 #1^4&,2]},{Root[1+4 #1+16 #1^3+16 #1^4&,2],Root[1-20 #1+48 #1^2+16 #1^3+16 #1^4&,1]}};
nodes=Flatten[Table[RootReduce[#.RotationMatrix[n Pi/6]],{n,0,11}]&/@base,1];
lines={{1,9,60,59,26,38},{1,8,49,57,83,64},{1,6,54,50,76,69},{1,5,52,51,30,42},{1,24,37,41,84,73},{1,14,27,31,67,68},{12,8,59,58,25,37},{12,7,60,56,82,63},{12,5,49,53,75,68},{12,4,51,50,29,41},{12,13,26,30,66,67},{12,23,48,40,83,84},{11,7,58,57,36,48},{11,6,59,55,81,62},{11,4,60,52,74,67},{11,3,49,50,28,40},{11,24,25,29,66,65},{11,22,47,39,82,83},{10,6,57,56,35,47},{10,5,58,54,80,61},{10,3,59,51,73,66},{10,2,49,60,27,39},{10,23,36,28,64,65},{10,21,46,38,81,82},{9,5,56,55,34,46},{9,4,57,53,79,72},{9,2,58,50,84,65},{9,22,35,27,63,64},{9,20,45,37,80,81},{8,4,55,54,33,45},{8,3,56,52,78,71},{8,21,34,26,62,63},{8,19,44,48,80,79},{7,3,54,53,32,44},{7,2,55,51,77,70},{7,20,33,25,61,62},{7,18,43,47,78,79},{6,2,53,52,31,43},{6,19,32,36,72,61},{6,17,42,46,77,78},{5,18,35,31,71,72},{5,16,45,41,76,77},{4,17,34,30,70,71},{4,15,44,40,75,76},{3,16,33,29,69,70},{3,14,43,39,74,75},{2,13,42,38,73,74},{2,15,32,28,68,69},{49,92,48,41,82,74},{49,94,26,31,69,65},{60,93,25,30,68,64},{60,91,47,40,81,73},{59,92,36,29,67,63},{59,90,46,39,80,84},{58,91,35,28,66,62},{58,89,45,38,83,79},{57,90,34,27,61,65},{57,88,44,37,82,78},{56,89,33,26,72,64},{56,87,43,48,81,77},{55,88,32,25,71,63},{55,86,42,47,80,76},{54,87,36,31,70,62},{54,85,46,41,75,79},{53,86,35,30,69,61},{53,96,45,40,74,78},{52,85,34,29,68,72},{52,95,44,39,73,77},{51,96,33,28,67,71},{51,94,43,38,84,76},{50,93,42,37,83,75},{50,95,32,27,66,70},{13,21,92,91,27,37},{13,20,93,89,82,65},{13,18,86,94,75,70},{13,17,96,95,31,41},{24,20,91,90,26,48},{24,19,92,88,81,64},{24,17,93,85,74,69},{24,16,95,94,30,40},{23,19,90,89,25,47},{23,18,91,87,80,63},{23,16,92,96,73,68},{23,15,93,94,29,39},{22,18,89,88,36,46},{22,17,90,86,79,62},{22,15,91,95,84,67},{22,14,93,92,28,38},{21,17,88,87,35,45},{21,16,89,85,78,61},{21,14,90,94,83,66},{20,16,87,86,34,44},{20,15,88,96,77,72},{19,15,86,85,33,43},{19,14,87,95,76,71},{18,14,85,96,32,42}};
Graphics[{EdgeForm[Black],Line[nodes[[#]]]&/@lines,Green,Disk[#,.015]&/@nodes}]

Tally[Length/@lines]

Berman966ConfigurationGraph=ConfigurationGraph[nodes,lines]

RecognizeGraph@g1

(eolines=ResourceFunction["FindExtraordinaryLines"][nodes])//Timing

Tally[Length/@eolines]

lines2=Select[eolines,Length[#]==6&]

g2=ConfigurationGraph[nodes,lines2]

IsomorphicGraphQ[g1,g2]

Berman966Graph=LeviGraph[lines]

RecognizeGraph@%

IsomorphicGraphQ[LeviGraph[lines],LeviGraph[lines2]]

GraphData

GraphDataString

file=OpenWrite["~/berman.m"]

skip={"ABCEnergy","ABCSpectralRadius","Arboricity","ArithmeticGeometricEnergy","ArithmeticGeometricSpectralRadius","BurningNumber","ChordlessCycles","ConnectedDominatingSet","ConnectedDominatingSets","ConnectedInducedSubgraphPolynomial","ConnectedInducedSubgraphs","ConstructionNumber","Cycles","CyclicEdgeConnectivity","DetourMatrix","EigenvectorCentralities","Embeddings3D","Energy","GracefulLabeling","HadwigerNumber","HamiltonianCycles","HamiltonianPaths","HamiltonianWalks","HamiltonLaceable","HITSCentralities","IdiosyncraticPolynomial","IndependencePolynomial","IrredundacePolynomial","KatzCentralities","LinklesslyEmbeddable","LongestCycles","MatchingGeneratingPolynomial","MatchingPolynomial","MaximalIndependentEdgeSets","MaximalIndependentVertexSets","MaximalIrredundantSets","MaximumIndependentEdgeSetCount","MaximumIndependentEdgeSets","MaximumIndependentVertexSets","MetricDimension","Meyniel","MinimumCoveringsByMaximalCliques","MinimumCyclicEdgeCut","MinimumCyclicEdgeCuts","MinimumDistinguishingLabelings","MinimumTotalDominatingSet","MinimalDominatingSets","MinimumEdgeCuts","MinimumVertexCut","MinimumVertexCuts","MinimumWeightFractionalColoring","MinimumWeightFractionalEdgeColoring","Minors","OddChordlessCyclePolynomial","OddChordlessCycles","PageRankCentralities","PathPolynomial","Paths","ProjectivePlanar","QuadraticEmbeddingConstant","RandicEnergy","RandicSpectralRadius","Skewness","SomborEnergy","SomborSpectralRadius","TotalDominationPolynomial","TuttePolynomial","VertexCuts"};

WriteString[file,GraphDataString[CanonicalGraph@,
"StandardName"->"Berman485ConfigurationGraph",
"Name"->"Berman 48_5 configuration graph",
"Embeddings"->{},
TimeConstraint->10,
"Skip"->skip
]]

WriteString[file,GraphDataString[CanonicalGraph@,
"StandardName"->"Berman485Graph",
"Name"->"Berman 48_5 graph",
"Embeddings"->{},
"Classes"->{"Incidence"},
"Configurations"->{{{1,5,15,16,34},{1,6,14,18,48},{1,8,13,21,43},{1,9,23,24,30},{1,29,33,44,45},{2,6,16,17,35},{2,7,15,19,37},{2,9,14,22,44},{2,10,13,24,31},{2,30,34,45,46},{3,7,17,18,36},{3,8,16,20,38},{3,10,15,23,45},{3,11,13,14,32},{3,31,35,46,47},{4,8,18,19,25},{4,9,17,21,39},{4,11,16,24,46},{4,12,14,15,33},{4,32,36,47,48},{5,9,19,20,26},{5,10,18,22,40},{5,12,13,17,47},{5,25,33,37,48},{6,10,20,21,27},{6,11,19,23,41},{6,26,34,37,38},{7,11,21,22,28},{7,12,20,24,42},{7,27,35,38,39},{8,12,22,23,29},{8,28,36,39,40},{9,25,29,40,41},{10,26,30,41,42},{11,27,31,42,43},{12,28,32,43,44},{13,28,33,42,46},{14,29,34,43,47},{15,30,35,44,48},{16,31,36,37,45},{17,25,32,38,46},{18,26,33,39,47},{19,27,34,40,48},{20,28,35,37,41},{21,29,36,38,42},{22,25,30,39,43},{23,26,31,40,44},{24,27,32,41,45}}},
TimeConstraint->10,
"Skip"->skip
]]

WriteString[file,GraphDataString[CanonicalGraph@,
"StandardName"->"Berman966ConfigurationGraph",
"Name"->"Berman 96_6 configuration graph",
"Embeddings"->{},
TimeConstraint->10,
"Skip"->skip
]]

WriteString[file,GraphDataString[CanonicalGraph@,
"StandardName"->"Berman966Graph",
"Name"->"Berman 96_6 graph",
"Embeddings"->{},
"Classes"->{"Incidence"},
"Configurations"->{{{1,9,60,59,26,38},{1,8,49,57,83,64},{1,6,54,50,76,69},{1,5,52,51,30,42},{1,24,37,41,84,73},{1,14,27,31,67,68},{12,8,59,58,25,37},{12,7,60,56,82,63},{12,5,49,53,75,68},{12,4,51,50,29,41},{12,13,26,30,66,67},{12,23,48,40,83,84},{11,7,58,57,36,48},{11,6,59,55,81,62},{11,4,60,52,74,67},{11,3,49,50,28,40},{11,24,25,29,66,65},{11,22,47,39,82,83},{10,6,57,56,35,47},{10,5,58,54,80,61},{10,3,59,51,73,66},{10,2,49,60,27,39},{10,23,36,28,64,65},{10,21,46,38,81,82},{9,5,56,55,34,46},{9,4,57,53,79,72},{9,2,58,50,84,65},{9,22,35,27,63,64},{9,20,45,37,80,81},{8,4,55,54,33,45},{8,3,56,52,78,71},{8,21,34,26,62,63},{8,19,44,48,80,79},{7,3,54,53,32,44},{7,2,55,51,77,70},{7,20,33,25,61,62},{7,18,43,47,78,79},{6,2,53,52,31,43},{6,19,32,36,72,61},{6,17,42,46,77,78},{5,18,35,31,71,72},{5,16,45,41,76,77},{4,17,34,30,70,71},{4,15,44,40,75,76},{3,16,33,29,69,70},{3,14,43,39,74,75},{2,13,42,38,73,74},{2,15,32,28,68,69},{49,92,48,41,82,74},{49,94,26,31,69,65},{60,93,25,30,68,64},{60,91,47,40,81,73},{59,92,36,29,67,63},{59,90,46,39,80,84},{58,91,35,28,66,62},{58,89,45,38,83,79},{57,90,34,27,61,65},{57,88,44,37,82,78},{56,89,33,26,72,64},{56,87,43,48,81,77},{55,88,32,25,71,63},{55,86,42,47,80,76},{54,87,36,31,70,62},{54,85,46,41,75,79},{53,86,35,30,69,61},{53,96,45,40,74,78},{52,85,34,29,68,72},{52,95,44,39,73,77},{51,96,33,28,67,71},{51,94,43,38,84,76},{50,93,42,37,83,75},{50,95,32,27,66,70},{13,21,92,91,27,37},{13,20,93,89,82,65},{13,18,86,94,75,70},{13,17,96,95,31,41},{24,20,91,90,26,48},{24,19,92,88,81,64},{24,17,93,85,74,69},{24,16,95,94,30,40},{23,19,90,89,25,47},{23,18,91,87,80,63},{23,16,92,96,73,68},{23,15,93,94,29,39},{22,18,89,88,36,46},{22,17,90,86,79,62},{22,15,91,95,84,67},{22,14,93,92,28,38},{21,17,88,87,35,45},{21,16,89,85,78,61},{21,14,90,94,83,66},{20,16,87,86,34,44},{20,15,88,96,77,72},{19,15,86,85,33,43},{19,14,87,95,76,71},{18,14,85,96,32,42}}},
TimeConstraint->10,
"Skip"->skip
]]

Close[file]