Available functions

Here is a list of the functions currently implemented in the GEM Library. The first table shows static functions which can be called without reference to a gem/sgem object. These functions allow to create a high precision matrix or to adjust some library parameters.

function full support sparse support remarks
gem gem object constructor
sgem sparse gem object constructor
gemify converts a matrix to gem or sgem object, preserving its sparsity
gem.rand / sgem.rand generates high precision random numbers
gem.randn / sgem.randn generates high precision random numbers following a gaussian distribution
gem.rng gem.rand random seed
gem.workingPrecision sets the working precision of the library
gem.displayPrecision sets the precision used when displaying gem and sgem objects
gem.sparseLikeMatlab sets whether functions not preserving zeros should be allowed to produce sparse matrices
make compiles the library

List of methods:

The following function can be applied to gem/sgem objects directly.

methods full support sparse support remarks
abs  
all  
and  
any  
acos  
acot  
acsc  
and  
angle  
asec  
asin  
atan  
cat  
cbrt  
clean  
ceil  
colon  
complex  
cond  
conj  
cos  
cot  
csc  
ctranspose  
diag  
disp  
display  
diff  
double  
eig  
eigs  
eps  
end  
eq  
exp  
find  
fix  
floor  
full  
ge  
gt  
horzcat  
imag  
inv  
isempty  
isequal  
isequaln  
isfinite  
isfloat  
ishermitian  
isinf  
isinteger  
isnan  
isnumeric  
isreal  
issorted  
issparse  
issymmetric  
kron supports more than 2 inputs, as in kron(A,B,C) or kron({A,B,C})
ldivide  
le  
length  
loadobj  
log  
log10  
log2  
logical  
lt  
max  
min  
minus  
mldivide  
mod  
mpower supports two scalars, or matrices with +/-1 exponent
mrdivide  
mtimes  
ne  
nnz  
nonzeros  
norm  
not  
null  
numel  
num2str through matlab’s implementation and sprintf
or  
pinv through matlab’s implementation
plot  
plus  
power  
precision  
prod  
rank  
rdivide  
real  
reshape  
round  
saveobj  
sec  
sign  
sin  
size  
sort  
sortrows through matlab’s implementation
sortrowsc  
sparse  
sprintf currently only supports a few digits of precision; use toStrings to extract the full precision in string format
sqrt  
subsasgn  
subsref  
sum  
svd  
svds  
tan  
times  
toStrings  
transpose  
uminus  
unique through matlab’s implementation
uplus  
vertcat  
xor