1, added nonmonotonic line search in armijo line search algorithm 2, Grassmann manifold is added, using Euclidean metric, qf retraction and intrinsic approach for vector transport. 3, Rayleigh quotient problem on the Grassmann manifold is added. 4, Test files of Rayleigh quotient problem for both Matlab and c++ are added. 5£Ĵadd multiple options for choosing initial stepsize, including BB stepsize, one stepsize, stepsize based on quadractic interpolation and modified stepsize based on quadractic interpolation. 6, add manifold of positive definite tensor 7£Ĵadd problem of dictionary learning problem on symmetric positive definite tensor. 8, add ROPTLIB namespace for all the ROPTLIB functions 9, Added convex set of nonnegative numbers. An active set like method can be used. 10, Added problem class which defined the sparse coding subproblem in dictionary learning of SPD matrices. 11, Added matlab and C++ driver for the sparse coding subproblem. 12, Added problem class which defines the Brockett cost function with sparse symmetric matrix. 13, Added matlab and C++ driver for the sparse Brockett cost function. 14, Reorganized the classes of solvers. Added QuasiNewton class with defines Hessian approximation update and its action for all the derived class. QuasiNewton class is between class of Solvers and class of SolversLS. 15, Added a new solver RBFGSLPsub for optimizing Lipschitz continuous functions. It is based on subgradient. If a function is not differentiable at a point $x$, then the RieGrad or EucGrad defined by users should randomly return a gradient in its Subgradient. 16, The new version of BFGS update formula is used for the RBFGSLPSub. The formula is defined in QuasiNewton class. 9, A new problem, call SphereConvexHull, is defined. It is used to solve the convex hull subproblem defined in RBFGSLPSub class. 17, RBFGSLPSub has been tested using a smooth cost function. The test code can be found in TestStieBrockett.cpp 18, Added interface for stopping criterion. In other words, users can pass a function pointer which points to a function checking when algorithms terminates.