-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathopt.py
More file actions
32 lines (23 loc) · 1023 Bytes
/
opt.py
File metadata and controls
32 lines (23 loc) · 1023 Bytes
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
#!/usr/bin/env python3
from collections import namedtuple
Result = namedtuple('Result', ('nfev', 'cost', 'gradnorm', 'x'))
Result.__doc__ = """Результаты оптимизации
Attributes
----------
nfev : int
Полное число вызовов модельной функции
cost : 1-d array
Значения функции потерь 0.5 sum(y - f)^2 на каждом итерационном шаге.
В случае метода Гаусса—Ньютона длина массива равна nfev, в случае ЛМ-метода
длина массива — менее nfev
gradnorm : float
Норма градиента на финальном итерационном шаге
x : 1-d array
Финальное значение вектора, минимизирующего функцию потерь
"""
def gauss_newton(y, f, j, x0, k=1, tol=1e-4):
pass
def lm(y, f, j, x0, lmbd0=1e-2, nu=2, tol=1e-4):
pass
if __name__ == "__main__":
pass