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`
TensorNetworkContract
​
TensorNetworkContract
[tn]
contracts the entire tensor network
tn
to a single tensor.
​
​
TensorNetworkContract
[tn,path]
uses the explicit canonical contraction
path
.
​
​
TensorNetworkContract
[tn,"method"]
dispatches to
GreedyContractionPath
or
OptimalContractionPath
using the named cost function.
​
​
TensorNetworkContract
[graph]
works directly on a tensor-network
Graph
graph
.
​
​
TensorNetworkContract
[data]
accepts the low-level
Association
data
produced by
TensorNetworkData
.
​
Details and Options
Examples  
(9)
Scope  
(4)
Input forms  
(1)
The default first argument is a TensorNetwork:
In[1]:=
tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}];​​
TensorNetworkContract
[tn]
Out[1]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
​
Tensor-network Graph objects (produced by ToTensorNetworkGraph) are accepted directly:
In[1]:=
tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}];​​g=
ToTensorNetworkGraph
[tn]
In[2]:=
TensorNetworkContract
[g]
Out[2]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
​
The low-level Association form, as produced by TensorNetworkData, is also accepted:
In[1]:=
tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}];​​data=
TensorNetworkData
[tn]
In[2]:=
TensorNetworkContract
[data]
Out[2]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
Path forms  
(1)

Engines  
(1)

Auto-binarization  
(1)

Options  
(3)

Applications  
(1)

Properties & Relations  
(1)

SeeAlso
TensorNetworkContraction
 
▪
$TensorNetworkContractionMethods
 
▪
OptimalContractionPath
 
▪
GreedyContractionPath
 
▪
BinaryTensorNetwork
 
▪
ContractionTree
TechNotes
▪
Contraction Paths and Execution
RelatedGuides
▪
TensorNetworks
Contract a two-tensor network into a single tensor. Without a path argument the contraction is delegated to EinsteinSummation:
In[1]:=
A=RandomReal[{-1,1},{3,4}];B=RandomReal[{-1,1},{4,5}];tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}]
In[2]:=
TensorNetworkContract
[tn]
Out[2]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
​
Contract using an explicit canonical path:
In[1]:=
tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}];​​
TensorNetworkContract
[tn,{{1,2}}]
Out[1]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
​
Use a path-as-method-string shortcut to dispatch to GreedyContractionPath:
In[1]:=
tn=
TensorNetwork
[{A,B},{{i,j},{j,k}}];​​
TensorNetworkContract
[tn,"Greedy"]
Out[1]=
{{-0.188101,-0.137564,-0.328064,-0.151605,-0.112973},{-0.387793,0.469894,-0.531406,0.221123,0.179044},{-1.32872,-0.841943,-0.92898,-0.347198,-0.0682217}}
""

© 2026 Wolfram. All rights reserved.

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