function y = mpower(x,d) %MPOWER (overloaded) % Author Johan Löfberg % $Id: mpower.m,v 1.2 2006/08/11 11:48:15 joloef Exp $ %Sanity check if prod(size(d))>1 | ~((fix(d) == d)) | ~(d>=0) error('The power must be scalar.'); end if x.dim(1)~=x.dim(2) error('Matrix must be square.') end switch d case 0 y = eye(x.dim(1),x.dim(2))^0; case 1 y = x; case 2 y = x * x; otherwise y = x*mpower(x,d-1); end