1), update fixed-rank manifold. Add EucHvtoHv. Support sparse representation of the Euclidean gradient. 2), Update the include directories of all the cpp files. Now, one does not have to include all the subdirectories when creating a cpp project. Only adding the root directory is enough. 3), Eucgrad->Riegrad->grad is usually more expensive than Eucgrad->grad when intrinsic representation is used. In this version, Stiefel, Sphere, OrthGroup, Oblique, Grassmann supports the efficient approach. One can use Eucgrad->grad directly for these manifolds if one uncomments a few codes in Problem:RieGrad(). 4), Default of trust region max_delta is set to be 10000. 5), In linesearch algorithm, when intrinsic representation is used, then the search direction is converted to extrinsic representation first. This is usually faster than converting every time when applying retraction. 6), Add Cayley retraction and Cayley vector transport in the Stiefel manifold. 7), This version of ROPTLIB accepts a referenced iterate x_. The output also includes an array which is dist(x_i, x_) for all i. The dist(x_i, x_) is defined to be \|x_i - x_\|_F by default. 8), All functions std::cout are modified to be printf since Matlab does not support std::cout. 9), Support Cpp environment in MAC system 10), Add Cayley retraction and vector transport for Stiefel manifold 11), if the finalstepsize is negative, then when the |ngf|/|ngf0| < accuracy, then the proposed initial stepsize is used as the accepted stepsize. 12), Fixed the bug that RCG does not count the number of vector transport. 13), Add the number of iterations to inputs of line search algorithm. 14), Add finite difference of Euclidean gradient to approximate action of Euclidean Hessian. If users do not provide action of the Hessian, then the finite difference is used automatically. 15), Change the path of sparse BLAS. 16), Fixed bugs in smooth version of TestSparsePCA 17), Add nonsmooth version of Sparse PCA. 18), Fixed the bug that when line search is given by users, the number of function evaluations is not correct. 19), Add proximal mapping for the unit sphere 20), Add "Problem" object to user-defined stopping criterion 21), Add Matlab interface for the sparse PCA problem 22), Add another retraction which has stepsize information 23), Add test file for optimizing the Sparse PCA problem on the Oblique manifold by forward-backward algorithm. 24), Update shape related manifold classes 25), Add ABB_min for both RSD initial step size selection and LRBFGS initial Hessian approximation. 26), Update Makefile to support new version 27), Add Problem and Solvers to user-defined linesearch and stopping criterion.