5.0 | 3 ratings Rate this file 17 Downloads (last 30 days) File Size: 2.37 KB File ID: #31222 Version: 1.0

Inversion every 2D slice for arbitrary Multi-dimension array.


Xiaodong (view profile)


Inverse every 2D slice for an arbitrary N-D array (M).

| Watch this File

File Information

Inverse every 2D matrix slice (the first two dimensions) for multi-dimensional array M:
  M(:,:,p,q,...) * X(:,:,p,q,...) = repmat(eye(m),[1,1,p,q,...]),
where input M is a N-D array (m x m x [p x q x ...]), for all possible m=1,2,3,...
and optional higher dimensions. Output X array has the same size as M.


Multiple Matrix Multiplications, With Array Expansion Enabled and Multiple Same Size Linear Solver inspired this file.

MATLAB release MATLAB 7.8 (R2009a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
26 Feb 2015 Sean

Sean (view profile)

18 Feb 2013 Rajab Legnain

Hi Sir

It is early a great function.
Thanks for sharing.

04 Jun 2012 Clay Fulcher

This program works GREAT! It greatly improved the speed of my codes that require inversion of matrices of functions. I use it with mtimesx. Thanks for your effort on this code, Xiaodong.

28 Apr 2011 Paolo de Leva

Paolo de Leva (view profile)

Thank you for your comment on http://www.mathworks.com/matlabcentral/fileexchange/8773-multiple-matrix-multiplications-with-array-expansion-enabled

Your function is quite useful as it is. However, to be compatible with MULTIPROD, and to meet the requirements to be an ARRAYLAB function, it should work with any block array of square matrices, not only with those containing square matrices along their first two dimensions. Thus, it should have a syntax similar to MULTITRANSP (provided together with MULTIPROD).

My best regards.

Comment only

Contact us