# Matrix Functions, Null Space, and Hessenberg Matrices

by on April 4, 2012

The recently released Multiprecision Computing Toolbox version 3.3.2 introduces multiple new routines and features for advanced numerical computing in arbitrary precision.

• Matrix functions, including logarithm, square root, exponential, trigonometric, and a general matrix function
funm	% Evaluate general matrix function
expm	% Matrix exponential
sqrtm	% Matrix square root
logm	% Matrix logarithm
sinm	% Matrix sine
cosm	% Matrix cosine
sinhm	% Matrix hyperbolic sine
coshm	% Matrix hyperbolic cosine
• Special cases of an “economy sized” SVD decomposition
[U,S,V] = svd(X,0)
[U,S,V] = svd(X,'econ')
• Kernel(null space) matrices, and matrices in Hessenberg form
null	% Null space
hess	% Hessenberg form of matrix
• The formatted conversion of multiprecision entities into a string, and to standard data types
num2str	% Convert number to string
cast	% Cast variable to different data type
double	% Convert to double precision
int16	% Convert to 16-bit signed integer
int32	% Convert to 32-bit signed integer
int64	% Convert to 64-bit signed integer
int8	% Convert to 8-bit signed integer
single	% Convert to single precision
uint16	% Convert to 16-bit unsigned integer
uint32	% Convert to 32-bit unsigned integer
uint64	% Convert to 64-bit unsigned integer
uint8	% Convert to 8-bit unsigned integer
• Logical Operations
all	% Determine whether all array elements are nonzero or true
any	% Determine whether any array elements are nonzero
not	% Find logical NOT of array or scalar input
xor	% Logical exclusive-OR

Examples:

>> mp.Digits(50);

% Matrix Logarithm
>> X = mp.rand(5);
>> norm(X - expm(logm(X)),1)
1.4833924403864679909085701388241692669212380232102e-54

% Null Space of Matrix
>> X = mp.rand(3,5);
>> norm(X*null(X),1)
8.6664199965605403870371093638563522224156087802478e-56

% Hessenberg Form of Matrix
>> X = mp.rand(10);
>> [P,H] = hess(X);
>> norm(X - P*H*P',1)
3.3951974810054822928039499037225474000757620280265e-54

{ 0 comments… add one now }

Previous post: