Îõ³h& ã3      !"#$%&'()*+,-./012(c) Masahiro Sakai 2023 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredÁÂÃ×Ü ['numeric-optimization-ad9Minimization of scalar function of one or more variables.This is a wrapper of 3 and use Numeric.AD.Mode.Reverse to compute gradient.;It cannot be used with methods that requires hessian (e.g. ).Example: Ö{-# LANGUAGE FlexibleContexts #-} import Numeric.Optimization.AD main :: IO () main = do (x, result, stat) <- minimizeReverse LBFGS def rosenbrock Nothing [] [-3,-4] print (resultSuccess result) -- True print (resultSolution result) -- [0.999999999009131,0.9999999981094296] print (resultValue result) -- 1.8129771632403013e-18 -- https://en.wikipedia.org/wiki/Rosenbrock_function rosenbrock :: Floating a => [a] -> a -- rosenbrock :: Reifies s Tape => [Reverse s Double] -> Reverse s Double rosenbrock [x,y] = sq (1 - x) + 100 * sq (y - sq x) sq :: Floating a => a -> a sq x = x ** 2(numeric-optimization-ad9Minimization of scalar function of one or more variables.This is a wrapper of 3 and use Numeric.AD.Mode.Sparse" to compute gradient and hessian.Unlike ':, it can be used with methods that requires hessian (e.g. ).Example: Ì{-# LANGUAGE FlexibleContexts #-} import Numeric.Optimization.AD main :: IO () main = do (x, result, stat) <- minimizeSparse Newton def rosenbrock Nothing [] [-3,-4] print (resultSuccess result) -- True print (resultSolution result) -- [0.9999999999999999,0.9999999999999998] print (resultValue result) -- 1.232595164407831e-32 -- https://en.wikipedia.org/wiki/Rosenbrock_function rosenbrock :: Floating a => [a] -> a -- rosenbrock :: [AD s (Sparse Double)] -> AD s (Sparse Double) rosenbrock [x,y] = sq (1 - x) + 100 * sq (y - sq x) sq :: Floating a => a -> a sq x = x ** 2)numeric-optimization-ad Synonym of ''numeric-optimization-ad'Numerical optimization algorithm to usenumeric-optimization-ad,Parameters for optimization algorithms. Use  as a default.numeric-optimization-adFunction to be minimized.numeric-optimization-adBoundsnumeric-optimization-ad Constraintsnumeric-optimization-ad Initial value(numeric-optimization-ad'Numerical optimization algorithm to usenumeric-optimization-ad,Parameters for optimization algorithms. Use  as a default.numeric-optimization-adFunction to be minimized.numeric-optimization-adBoundsnumeric-optimization-ad Constraintsnumeric-optimization-ad Initial value)numeric-optimization-ad'Numerical optimization algorithm to usenumeric-optimization-ad,Parameters for optimization algorithms. Use  as a default.numeric-optimization-adFunction to be minimized.numeric-optimization-adBoundsnumeric-optimization-ad Constraintsnumeric-optimization-ad Initial value*  $#"! %&'()*)'(%  $#"! & Safe-Inferred Ö456789:;<     !"##$%&'(()*+,-./0123456789:;<=4>?@ABCDEÆ6numeric-optimization-ad-0.1.0.1-EoFcRL81risGvxrUHXiuHSNumeric.Optimization.ADPaths_numeric_optimization_adad-4.5.4-2wEShriBsTiB3D9bLEzDLWNumeric.AD.Internal.ReverseTapeReverseNumeric.AD.Internal.SparseSparseNumeric.AD.Internal.TypeADNumeric.AD.Modeauto1data-default-class-0.1.2.0-CQYBH38PFES4dDyailJWvdData.Default.ClassdefDefault3numeric-optimization-0.1.0.1-8VoBJrVZGhfHaG9GmQQ1zrNumeric.OptimizationisSupportedMethodNewtonLBFGS CGDescentMethod paramsTolparamsCallbackParamsresultStatisticsresultHessianInv resultHessian resultGrad resultValueresultSolution resultMessage resultSuccessResult hessEvals gradEvals funcEvals totalIters StatisticsHessianUnavailableGradUnavailableUnsupportedMethodUnsupportedProblemOptimizationException Constraint'reflection-2.1.7-Lpr6AplddDUL9MCk5bx0r7Data.ReflectionReifiesminimizeReverseminimizeSparseminimize$fOptionallyHasHessian$fOptionallyHasGrad$fHasGradProblemReverse$fIsProblemProblemReverse$fOptionallyHasHessian0$fOptionallyHasGrad0$fHasHessianProblemSparse$fHasGradProblemSparse$fIsProblemProblemSparseversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir