Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

TensorNetworks

Guides

  • TensorNetworks

Tech Notes

  • Building Tensor Networks
  • Contraction Paths and Execution
  • Matrix Product States
  • A Working Tour of the Symmetry Functions
  • Tensor Networks Overview
  • Young Tableaux and Tensor Symmetries

Symbols

  • ActivateTensors
  • BinaryTensorNetwork
  • BinaryTensorNetworkQ
  • CanonicalPath
  • CanonicalPathQ
  • ContractIndices
  • ContractionTree
  • EinsteinSummation
  • GreedyContractionPath
  • HookFactor
  • HookLength
  • HookLengths
  • IndexedMultiply
  • InitializeTensorNetwork
  • MetricTensor
  • MetricTensorQ
  • MPSCanonicalForm
  • MPSCanonicalQ
  • MPSEntanglementEntropy
  • MPSNormalize
  • MPSNorm
  • MPSOverlap
  • MPSSchmidtValues
  • MPSTruncate
  • OptimalContractionPath
  • PartitionQ
  • PathIndexContractions
  • PathQ
  • PathToTreePath
  • RandomTensorNetwork
  • SchurDimension
  • SparseTensorNetwork
  • TableauColumns
  • TableauDimension
  • TableauRows
  • TableauShape
  • TableauSize
  • TableauWeylDimension
  • TensorNetworkAdd
  • TensorNetworkContraction
  • TensorNetworkContractions
  • TensorNetworkContract
  • TensorNetworkData
  • TensorNetworkDelete
  • TensorNetworkFreeIndices
  • TensorNetworkGraphData
  • TensorNetworkGraphQ
  • TensorNetworkIndexDimensions
  • TensorNetworkIndexGraph
  • TensorNetworkIndices
  • TensorNetwork
  • TensorNetworkQ
  • TensorNetworkRemoveCycles
  • TensorNetworkReplaceIndices
  • TensorNetworkSize
  • TensorNetworkTensors
  • TensorNetworkToNetGraph
  • ToTensorNetworkGraph
  • TransposePartition
  • TreePathQ
  • TreePathToPath
  • YoungProject
  • YoungSymmetrize
  • YoungTableau
  • YoungTableauQ
Wolfram`TensorNetworks`
CanonicalPathQ
​
CanonicalPathQ
[path]
yields True if
path
is a list of integer pairs — the canonical opt_einsum form — and False otherwise.
​
Details and Options
Examples  
(5)
Scope  
(3)
Path-finder output  
(1)
Both
OptimalContractionPath
and
GreedyContractionPath
produce paths in canonical form:
In[1]:=
tn=BlockRandomSeedRandom[42];
RandomTensorNetwork
[{4,5},3];
In[2]:=
CanonicalPathQ

GreedyContractionPath
[tn]
Out[2]=
True
Rejection cases  
(1)

After CanonicalPath  
(1)

Applications  
(1)

Properties & Relations  
(1)

SeeAlso
PathQ
 
▪
TreePathQ
 
▪
CanonicalPath
 
▪
TreePathToPath
 
▪
PathToTreePath
 
▪
PathIndexContractions
 
▪
OptimalContractionPath
 
▪
GreedyContractionPath
TechNotes
▪
Contraction Paths and Execution
RelatedGuides
▪
TensorNetworks
A path of integer pairs is canonical:
In[1]:=
canonicalPath={{1,2},{3,4}}
Out[1]=
{{1,2},{3,4}}
In[2]:=
CanonicalPathQ
[canonicalPath]
Out[2]=
True
​
A path with a singleton step is not canonical:
In[1]:=
nonCanonicalPath={{1},{2,3},{1,2}}
Out[1]=
{{1},{2,3},{1,2}}
In[2]:=
CanonicalPathQ
[nonCanonicalPath]
Out[2]=
False
​
The output of
OptimalContractionPath
is always canonical:
In[1]:=
tn=BlockRandomSeedRandom[42];
RandomTensorNetwork
[{4,5},3];
In[2]:=
CanonicalPathQ

OptimalContractionPath
[tn]
Out[2]=
True
""

© 2026 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com