Package: wnpp Severity: wishlist Owner: Pierre Gruet <[email protected]> X-Debbugs-Cc: [email protected]
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 * Package name : adept-math Version : 2.1.3 Upstream Contact: University of Reading * URL : https://www.met.reading.ac.uk/clouds/adept/ * License : Apache-2.0 Programming Lang: C++ Description : combined automatic differentiation and array library Adept enables C++ algorithms to be automatically differentiated. For each mathematical statement involving scalars or arrays of a special "active" type, Adept stores the corresponding differential statement symbolically on a stack. The stack may then be used to perform the following computations: - Full Jacobian matrix. Given the non-linear function y=f(x) coded in C or C++, Adept will compute the matrix H, where the element at row i and column j of H is the partial derivative of y_i with respect to x_j. This matrix will be computed much more rapidly and accurately than if you simply recompute the function multiple times perturbing each element of x one by one. The Jacobian matrix is used in the Gauss-Newton and Levenberg-Marquardt minimization algorithms; - Reverse-mode differentiation. This is a key component in optimization problems where a non-linear function needs to be minimized but the state vector x is too large for it to make sense to compute the full Jacobian matrix. Atmospheric data assimilation is the canonical example in Meteorology. Given a non-linear function y=f(x) and a vector of adjoints, Adept will compute the vector of adjoints, without computing the full Jacobian matrix H. The adjoint may then be used in a quasi-Newton minimization scheme. - Forward-mode differentiation. Given the non-linear function y=f(x) and a vector of perturbations, Adept will compute the corresponding vector arising from a linearization of the function f. Formally, the perturbed output is given by the matrix-vector product, but it is computed here without computing the full Jacobian matrix H. Note that Adept is optimized for the reverse case, so might not be as fast (and will certainly not be as economical in memory) in the forward mode as libraries written especially for that purpose. This is a package I am using myself, and a dependency of the new upstream version of stopt. I plan to maintain it in the Debian-Math team. -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEM8soQxPpC9J9y0UjYAMWptwndHYFAmoqyZwPHHBndEBkZWJp YW4ub3JnAAoJEGADFqbcJ3R2GsEP/jSFZdSdaduWDuPgq4139Nqmov6eJKKfelUO m8JosmU8++bdcf7rcf4NTSNNRFbHkCKgY4e+vcXXUdOICvcoNwY30cN2zMx6qxzf p+040uQucDp9Pulf9MHHwr2BIqcbAaZDjOfueNdbBQVWJjQcJK7yHHn1IS158OlW Za0XDexUdLygJ2cki92wqDRwWpK6a2nBISJgTGi9ZNhLwl4SY/cOGtMrnAN9sDW2 10woPWp5bbPDT8thisN7LsJTV1Yx1+PXJyB+kV8k0Net3/ENuXcIFodbXdlP2Ued MKFG25fvUVtiu2FGpvaPVnTKJEdESzlco3uVPvdu3wdrr68QJbbA6TCO+PeaDo3f Y9OdVyBKAozxDO4UIyr02dxbWCbpR3mV6ReXZMuQ+v8BcrFNiNKTce6y3tSwfxme GJUrDWo9P8GCDAecvnf/zx9SX3d0hFluZzmXbbpu6YdhjvVJbRsVSn7E87t9OtMm EcAjfWPfa3JAP4e836dym4JrCNUef0jpTyOLvqj3/ytiZua/7xskylAmwmCqNsBg l/iumidx7Kp1IDwccgr30xYadBkSJpKD3lUnLz5M6JtplXDFPXIzuX8Tden0dWuV P4ZeD5kLMRk9MhLPRs5xWpBGNTm4Yr2NdUvZ92cKi61PjppZplvKoFTFsyMgNpq2 Mlb+Cmjc =4zli -----END PGP SIGNATURE-----

