frontal
These routines assist in the manipulation of matrices with same shape but different content. For example, performing the product A*b is trivial for matrix A and vector b, but what would you do if you had several such products to form? Examples abound: rotations, Jacobians, covariances, etc. Using the frontal routines, you'd collect them all in a three-dimensional matrix or third-order tensor, with each k-th frontal panel of A(:,:,k) and b(:,:,k) storing one such a related matrix and vector. Then calling
C = frontal_mtimes(A, b);
would do the equivalent of
for k=1:size(A,3), C(:,:,k) = A(:,:,k) * b(:,:,k); end
but using internally different algorithms depending on the dimensions of A (including a C-mex option). If you like operator overloading, you can do instead:
A = frontal(A);
b = frontal(b);
C = A*b;
You might want to compile the file frontal_mtimes_helper.c, but it's not required.
After you've unzipped it, test your installation running:
addpath(genpath('c:\work\fx\frontal\'))
test_frontal
(don't do addpath(genpath('c:\work\fx\frontal\frontal\')))
Zitieren als
Felipe G. Nievinski (2024). frontal (https://www.mathworks.com/matlabcentral/fileexchange/30764-frontal), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Quellenangaben
Inspiriert von: Multiple matrix multiplications, with array expansion enabled, MTIMESX - Fast Matrix Multiply with Multi-Dimensional Support, testit
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.
frontal/frontal/
frontal/frontal/@frontal/
frontal/frontal/util/
frontal/testit/
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.2.0.0 | added acknowledgements; applied more tags. |
||
1.1.0.0 | clarified paths |
||
1.0.0.0 |