This version has been tested on Matlab, Julia and C++. (Its python interface has not been tested.) The major update is about the container classes. *) The container classes are updated significantly. The classes "SharedSpace", "ProductElement", "LinearOPE" have been deleted. The classes of tangent vector and point on each manifold, e.g., StieVariable, StieVector, are also removed. Their functionalities are merged to "Element". Beside, some commonly-used functions in BLAS and LAPACK are wrapped in Element class, such as matrix multiplications, QR, SVD factorization. See the user manual 2020-08-11 for details. *) Numerical gradient and numerical action of Hessian are added. In C++, one can use them by setting NumGradHess=true. In Matlab or Julia interface, one only needs to set the input arguments of functions to be empty to use numerical gradient and numerical action of Hessian. By numerical operations, users can quickly test their problems by only providing cost functions. But the efficiency is low. It is still recommended to provide gradient and action of Hessian. *) The current version of ROPTLIB also support single precision float operations. One can choose the precision by comment/uncomment the 13th line in Others/def.h. Note that the float point numbers are defined to be realdp in ROPTLIB. realdp is defined to be "float" or "double" based on your option in 13th line in Other/def.h *) Update Julia interface such that it works with the Julia version 1.3.1. Note that julia interface of ROPTLIB needs package Cxx in Julia and Cxx does not work with the latest version 1.5.0. We updated and tested julia interface with Julia-1.3.1. *) dlabad and slabad are removed from the wrapper since they are deprecated. If users want to use the two functions, then uncomment the commands in lapack/dlabad.h and lapack/slabad.h and build BLAS and LAPACK with the option "BUILD_DEPRECATED=Yes" in make.inc. *) Most input and ouput arguments are modified from pointers to references. By doing this, the safety of the codes increases in the sense that it is unlikely to cause memory leakages and no efficiency is lost. *) The framework of the classes of solvers are modified slightly. See the structure in Figure 4 in the user manual 2020-08-11. *) The test function is provided in test/DriverCpp.cpp. It tests all the algorithms for all the problems that have been defined in ROPTLIB. *) The classes of manifolds are modified. The complex Stiefel manifold is added. Quotient manifolds representation for manifolds of real fixed rank symmetric/nonsymmetric matrix are given. Different metrics are provided. Its corresponding complex manifold is also given. *) The Eucldean action of Hessian to Riemannian action of Hessian is added in the manifold of symmetric positive definite matrix for the affine invariance metric. *) Note that Matlab 2018 or later versions support interleaved complex number. This format is consistant with BLAS and LAPACK and therefore is used in this versioon of ROPTLIB.