**********************************
Fixes and Changes from v1.1b to v1.2b (August 2015):
**********************************

Addition: Method jsr_zeroJsr.m, which decides if a set of matrices has a JSR equal to zero.

Fix: In solve_semi_definite_program, the objective returned when using SDPT3 is now a scalar.

Fix: In solve_semi_definite_program, handle the case when Sedumi detects primal infeasibility in the preprocessing (the fields of structure info were not created).

Fix: In solve_semi_definite_program, each call of function vec(X) are replaced by "X(:)".

Fix: In solve_semi_definite_program, the detection of the solver is now performed by strcmpi instead of strcmp.

Fix: In solve_semi_definite_program, the field "option" is now filled with default settings (see jsr_settings) when not given in input.

Fix: In solve_semi_definite_program, fix a crash when vector "b" or "c" was given by row.

Fix: In jsr_norm_balancedRealPolytope, jsr_norm_balancedComplexPolytope, jsr_prod_pruningAlgorithm, jsr_prod_Gripenberg and find_pathcomplete_lyapunov (used in jsr_pathcomplete), it is now possible to use a set of matrices with maximum spectral radius equal to zero.

Fix: In jsr_norm_balancedComplexPolytope, the method now returns a correct upper-bound when executed with a non-optimal product of matrices.

**********************************
Fixes and Changes from v1 to v1.1b (September 2014):
**********************************

Addition: Method jsr_pathcomplete.m + Subroutine find_pathcomplete_lyapunov.m, generate_pathcomplete_sdp.m.

Addition: Subroutine generate_graph.m.

Addition: Subroutine debruijn.m. Used by generate graph, and generates a debruijn graph.

Addition: Subroutine solve_semi_definite_program.m. General interface for SDP solver.

Addition: Subroutine available_memory.m. Estimates the available memory on the computer to avoid crashes (for Windows, Linux and Mac).

Addition: Subroutine iscellcomplex.m. Detect if the given set of matrices M contains complex entries.

Addition: Subroutine tens2graph.m. Converts a tensor of adjacency matrix to the structure of graphs used in the toolbox.

Addition: Demo demo3_JSR.m. Quick start guide for jsr_pathcomplete.

Change: All demos are moved into the folder Demo.

Change: Method jsr_lift_semidefinite now uses available_memory.

Change: In jsr_conic_ellipsoid.m, jsr_conic_linear.m, jsr_norm_conitope.m, jsr_opti_sos.m, polyliftedNorm.m. They are now using solve_semi_definite_program (instead of SeDuMI).

Change: In jsrsettings.m, options for jsr_pathcomplete are added.

Change: In contents.m, added new functions listed above.

Change: Remove rank deficient warnings in conitope.

Fix: In jsr_lift_semidefinite.m, the estimation of the memory needed is fixed.

Fix: In waveletMat, the function now works without input.

**********************************
Fixes and Changes from beta to v1:
**********************************

Addition: Added folder Benchmark with three functions to generate particular sets of matrices.

Addition: Added message number with respect to total number of messages in demo1_JSR.m.

Change: logFile option now disabled by default. It can still be turned on with jsrsettings.

Change: In jsr_lift_semidefinite.m, default maxDepth is now 6.

Change: In jsr_norm_balancedComplexPolytope.m, default maxiter is now 500.

Change: In jsr_norm_balancedComplexPolytope.m, changed quadprog's algorithm to active-set.

Change: In jsr_norm_balancedComplexPolytope.m, added -X in initial set of vertices.

Change: In jsr.m, major changes to algorithm. See its help for details on new algorithm.

Change: In jsr.m, changed verbose level of called algorithms. Outputs less messages by default.

Change: In jointTriangul.m, method is more conservative; added constraint on condition number of invariant set of vectors before using it to triangularize.

Change: In jsr_conic_linear.m, jsr_conic_ellipsoid.m and jsr_opti_sos, changed message on current upper bound to avoid confusion with bounds on the JSR.

Change: In jsr_norm_conitope.m, implementation works fine on complex matrices. 

Change: In polyliftedNorm.m, changed verbose level of messages from SeDuMi.

Change: In jsr_prod_pruningAlgorithm.m, replaced calls to SeDuMi's vec and mat routines by calls to built-in function reshape

Fix: In jsr_lift_semidefinite, added manual check on memory usage for Windows OS. Prevents use of swap-files which could cause Matlab and computer to freeze.

Fix: In all methods, changed fopen option for log files from 'w' to 'wt'. Solves missing line-breaks in log-files in Windows' Notepad.

Fix: In jsr.m, changed condition on output message with final bounds. Solves bug when output of multiple blocks after triangularization.

Fix: In jsr_prod_pruningAlgorithm.m, changed lower bounds saved in info.allLb. Scale factor used to be missing.

FIX: In jsr.m, erased line 94. It caused a bug when specifying options as input to jsr. 
