TPROD -- arbitary tensor products between n-d arrays
tprod
Matlab library for simple tensor operations using Einstein summation convention semantics
This function computes a generalized multi-dimensional matrix product based upon the einstein summation convention (plus extras). This means given 2 n-d inputs:
X = [ A x B x C x E .... ] Y = [ D x F x G x H .... ]
we define the result, Z, to be (in ESC) Z_{c,e,d,f} = X_{a,b,c,e} Y_{d,f,a,b}
(N.B. This syntax can be used directly with the etprod wrapper script).
This translates into tprod syntax as: Z = tprod(X,[-1 -2 1 2],Y,[3 4 -1 -2])
N.B. if Y==[], then it is assumed to be a copy of X.
This result is produced by forming an inner-product (multiply+sum) for the pairs of dimensions which have the same (negative) label (i.e. -1 => X dim 1 and Y dim 3, and -2 => X dim 2 and Y dim 4) and forming an outer product for all the remaining dimensions, with the positive label determining where this dimension is placed in the output.
Download from Mathworks File-Exchange
Zitieren als
Jason Farquhar (2024). TPROD -- arbitary tensor products between n-d arrays (https://github.com/jadref/tprod/releases/tag/v1.4.1.0), GitHub. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- Image Processing and Computer Vision > Computer Vision Toolbox > Recognition, Object Detection, and Semantic Segmentation > Image Category Classification >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.4.1.0 | See release notes for this release on GitHub: https://github.com/jadref/tprod/releases/tag/v1.4.1.0 |
||
1.4.0.0 | Updated the examples in tprod.m to show the equlivalent matlab code, and to include more complex examples |
||
1.3.0.0 | (Another) fix to make it compile with pedantic c-compilers, e.g. lcc. |
||
1.2.0.0 | Updated to work with very restrictive C dialects (such as LCC's) -- particularly when used on windows. |
||
1.1.0.0 | Bug fixes -- 1) problem with certain unusual calling orders.
|
||
1.0.0.0 | A couple of bug-fixes to prevent memory management errors |