House X Graph

Author

Eric W. Weisstein
December 22, 2025

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

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

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

Embeddings

<<MathWorld`Graphs`

Names

GraphData["HouseXGraph","StandardName"]

GraphData["HouseXGraph","StandardNames"]

HouseOfGraphs

hogid=GraphData["HouseXGraph","NotationRules","HouseOfGraphs"]

HouseOfGraphsLookup[hogid]

HouseOfGraphsGraph[hogid]//StyleGraphs[#,ImageSize->Small]&

Wikidata

GraphData["HouseXGraph","WikidataID"]

GraphData["HouseXGraph","WikidataURL"]

Construction as square of {"Tadpole", {3, 2}}

GraphData[{"Tadpole",{3,2}},"Graph","All"]

gs=GraphPower[#,2]&/@GraphData[{"Tadpole",{3,2}},"Graph","All"]

RecognizeGraph/@gs

Select[gs,!DegenerateGraphEmbeddingQ[#]&]

Primary

GraphData["HouseXGraph"]//StyleGraphs[#,ImageSize->Small]&

All

GraphData["HouseXGraph","Graph","All"]//StyleGraphs

Inexact

Select[GraphData["HouseXGraph","Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData["HouseXGraph","EdgeList"]]

Default embedding

GraphPlot@GraphData["HouseXGraph","Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData["HouseXGraph","Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData["HouseXGraph","Graph","Degenerate"]

Configuration

GraphData["HouseXGraph","Configuration"]

GraphData["HouseXGraph","Graph","Configuration"]//StyleGraphs

Perspective

GraphData["HouseXGraph","Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData["HouseXGraph","Polyhedron"]

HoneycombToroidal construction

GraphData["HouseXGraph","NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData["HouseXGraph","Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData["HouseXGraph","Graph","IGraph"]//StyleGraphs

Bilateral

GraphData["HouseXGraph","Graph","Bilateral"]//StyleGraphs

Circular

GraphData["HouseXGraph","Graph","Circular"]//StyleGraphs

Circular construction

GraphData["HouseXGraph","Hamiltonian"]

GraphData["HouseXGraph","HamiltonianCycleCount"]

Length[hc=FindHamiltonianCycle[GraphData["HouseXGraph"],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData["HouseXGraph"],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing//Quiet

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

Planar

GraphData["HouseXGraph","Planar"]

GraphData["HouseXGraph","Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData["HouseXGraph",{"RCN","CN"}]

GraphData["HouseXGraph","Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData["HouseXGraph","Circulant"]

GraphData["HouseXGraph","Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData["HouseXGraph","NotationRules","Circulant"]

(ci=CirculantIndices[GraphData["HouseXGraph"]])//Timing

CirculantGraph1@@@ci

Cases[GraphData["HouseXGraph","StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

compl=GraphData["HouseXGraph","ComplementGraph","Name"]

GraphData[compl,"Graph","All"]

gs=GraphComplement/@%

Line graph

GraphData["HouseXGraph","Line"]

LineGraphQ[GraphData["HouseXGraph"]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== "HouseXGraph"&]

RootGraph[GraphData["HouseXGraph"]]

RecognizeGraph[%]

GraphData[roots[[1]],"Graph","All"]

gs=LineGraph/@%

DegenerateGraphEmbeddingTypes/@%

v={{-1,0},{1,0},{0,Sqrt[3]}};
v=Join[v,Mean[v[[{3,#}]]]&/@{1,2}];
g=Graph[Range@Length@v,UndirectedEdge@@@{e[1,2,5,3,4,1,5,4,2]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

Halin

GraphData["HouseXGraph","Halin"]

GraphData["HouseXGraph","Graph","Halin"]//StyleGraphs

Rigid

GraphData["HouseXGraph","Rigid"]

GraphData["HouseXGraph","Graph","Rigid"]//StyleGraphs

Flexible

GraphData["HouseXGraph","Flexible"]

GraphData["HouseXGraph","Graph","Flexible"]//StyleGraphs

LCF

GraphData["HouseXGraph","LCF"]

GraphData["HouseXGraph","HamiltonianCycleCount"]

GraphData["HouseXGraph","LCFSignature"]

GraphData["HouseXGraph","LCFNotations"]

GraphData["HouseXGraph","Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

UnitDistance

GraphData["HouseXGraph","UnitDistance"]

UnitDistanceGraphQ[GraphData["HouseXGraph"],Debug->True]//Timing

GraphData["HouseXGraph","Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData["HouseXGraph","VertexList"],GraphData["HouseXGraph","EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData["HouseXGraph","Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData["HouseXGraph"],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData["HouseXGraph"],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

Matchstick

GraphData["HouseXGraph","Matchstick"]

GraphData["HouseXGraph","Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData["HouseXGraph","Edges"]]

3D All

GraphData["HouseXGraph","Graph",{"3D","All"}]

3D UnitDistance

GraphData["HouseXGraph","Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData["HouseXGraph","Polyhedral"]

GraphData["HouseXGraph","Graph",{"3D","Polyhedron"}]

GraphData["HouseXGraph","Graph",{"3D","Canonical"}]

GraphData

GraphDataClassString

GraphDataClassString["HouseXGraph"]