image thumbnail

frontal

version 1.2.0.0 (34.6 KB) by Felipe G. Nievinski
Do: C = frontal_mtimes(A, b); not: for k=1:size(A,3), C(:,:,k) = A(:,:,k) * b(:,:,k); end

778 Downloads

Updated 16 Apr 2011

View License

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\')))

Cite As

Felipe G. Nievinski (2022). frontal (https://www.mathworks.com/matlabcentral/fileexchange/30764-frontal), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!