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\')))
Citation pour cette source
Felipe G. Nievinski (2026). frontal (https://fr.mathworks.com/matlabcentral/fileexchange/30764-frontal), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Remerciements
Inspiré par : Multiple matrix multiplications, with array expansion enabled, MTIMESX - Fast Matrix Multiply with Multi-Dimensional Support, testit
Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
frontal/frontal/
frontal/frontal/@frontal/
frontal/frontal/util/
frontal/testit/
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 1.2.0.0 | added acknowledgements; applied more tags. |
||
| 1.1.0.0 | clarified paths |
||
| 1.0.0.0 |
