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`
IndexedMultiply
​
IndexedMultiply
[{i,j,…},{A,B,…}]
joins the tensors
A,B,…
by broadcasting along shared indices and returns the pair
{indices,tensor}
.
​
Details and Options
▪
IndexedMultiply
takes a list of per-tensor index lists
{
i
1
,
i
2
,…}
whose lengths match the ranks of the corresponding tensors.
▪
Indices may be any expression (typically strings or symbols). Each index appearing in more than one tensor identifies an axis along which the inputs are aligned and broadcast.
▪
The output indices are the union of the input indices in canonical (first-occurrence) order. The output tensor has one axis per output index, with dimension equal to the maximum size of that index across the inputs.
▪
Tensors that do not carry every output index are extended by repetition: each missing axis is padded with the
ArrayPad
mode
"Fixed"
when the tensor has dimension 1 along that axis, and otherwise filled with 1. Tensors that share an index but have different sizes along it are aligned by padding the smaller dimension with 1.
▪
Unlike
EinsteinSummation
,
IndexedMultiply
does not contract repeated indices; it only broadcasts and multiplies. Repeated indices within a single tensor are preserved as separate axes in the output.
▪
When called with disjoint indices across tensors,
IndexedMultiply
reduces to
TensorProduct
.
▪
Symbolic tensors (
ArraySymbol
inputs and any expressions for which
TensorQ
returns
False
) are handled by wrapping the transposed tensor in an
ArraySymbol
of the broadcast shape; the final product is then a symbolic
Times
of these arrays.
▪
If the length of any per-tensor index list does not equal the rank of the corresponding tensor,
IndexedMultiply
returns a
Failure
object.
Examples  
(23)
Basic Examples  
(3)
Join two matrices over a shared index:
In[1]:=
Amat={{1,1},{3,2}};Bmat={{1,0,1},{0,2,2}};
In[2]:=
IndexedMultiply
[{{"i","j"},{"j","k"}},{Amat,Bmat}]
Out[2]=
{{i,j,k},{{{1,0,1},{0,2,2}},{{3,0,3},{0,4,4}}}}
​
Scale the columns of a matrix by a vector
A
i,j
v
j
:
In[1]:=
IndexedMultiply
[{{"i","j"},{"j"}},{{{10,20,30},{40,50,60}},{1,10,100}}]
Out[1]=
{{i,j},{{10,200,3000},{40,500,6000}}}
​
Disjoint indices give a pure outer product
C
i,j
=
u
i
v
j
:
In[1]:=
IndexedMultiply
[{{"i"},{"j"}},{{10,20},{1,2,3}}]
Out[1]=
{{i,j},{{10,20,30},{20,40,60}}}
Scope  
(16)

Applications  
(2)

Properties & Relations  
(2)

SeeAlso
EinsteinSummation
 
▪
ActivateTensors
 
▪
TensorNetwork
 
▪
TensorProduct
 
▪
ArrayPad
 
▪
Transpose
 
▪
ArraySymbol
TechNotes
▪
Building Tensor Networks
RelatedGuides
▪
TensorNetworks
""

© 2026 Wolfram. All rights reserved.

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