-
Notifications
You must be signed in to change notification settings - Fork 91
/
Copy pathNonlinear.jl
55 lines (46 loc) · 1.18 KB
/
Nonlinear.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Copyright (c) 2017: Miles Lubin and contributors
# Copyright (c) 2017: Google Inc.
#
# Use of this source code is governed by an MIT-style license that can be found
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.
"""
Nonlinear
!!! warning
The Nonlinear submodule is experimental. Until this message is removed,
breaking changes may be introduced in any minor or patch release of
MathOptInterface.
"""
module Nonlinear
import Base.Meta: isexpr
import ForwardDiff
import ..MathOptInterface
import OrderedCollections: OrderedDict
import SparseArrays
using SpecialFunctions
const MOI = MathOptInterface
# Override basic math functions to return NaN instead of throwing errors.
# This is what NLP solvers expect, and sometimes the results aren't needed
# anyway, because the code may compute derivatives wrt constants.
import NaNMath:
sin,
cos,
tan,
asin,
acos,
acosh,
atanh,
log,
log2,
log10,
lgamma,
log1p,
pow,
sqrt
include("univariate_expressions.jl")
include("operators.jl")
include("types.jl")
include("parse.jl")
include("model.jl")
include("evaluator.jl")
include("ReverseAD/ReverseAD.jl")
end # module