close all; clear all; clc;
rng('default');
N = 64;
D = 121;
dict = spx.dict.simple.gaussian_dict(N, D);
props = spx.dict.Properties(dict);
G = props.gram_matrix();
F = props.frame_operator();
S = props.singular_values();
lambda = props.gram_eigen_values();
fprintf('Lower frame bound: %f\n', props.lower_frame_bound());
fprintf('Upper frame bound: %f\n', props.upper_frame_bound());
mu = props.coherence();
fprintf('Coherence: %f\n', mu);
% fprintf('Eigen values of Gram matrix:\n');
% fprintf('%f ', lambda);
% fprintf('\n');
mf = spx.graphics.Figures();
mf.new_figure('Eigen values of Gram matrix');
plot(lambda, '.');
title('Eigen values of Gram matrix');
xlabel('Number');
ylabel('Eigen value');

mf.new_figure('Singular values of dictionary');
plot(props.singular_values(), '.');
title('Singular values of dictionary');
xlabel('Number');
ylabel('Singular value');