Disabled external gits

This commit is contained in:
2022-04-07 18:46:57 +02:00
parent 88cb3426ad
commit 15e7120d6d
5316 changed files with 4563444 additions and 6 deletions

View File

@@ -0,0 +1,67 @@
# import pytest
import time
import pytest
import json
import sys
import igl
import numpy as np
sys.path.append('../')
sys.path.append('../src')
from src.energies import *
from src.linesearch import *
from src.bfgs import *
eps = 1E-6
with open('test_data3.json', 'r') as infile:
homework_datas = json.load(infile)
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[0])
def test_armijo_rule(data):
Fx = data[0]
Fy = data[1]
p = np.array(data[2], dtype=float)
grad = np.array(data[3], dtype=float)
c = data[4]
alpha = data[5]
armijo_rule_ground_truth = data[6]
armijo_rule_student = int(evaluate_armijo_rule(Fx, Fy, p, grad, c, alpha))
assert armijo_rule_ground_truth == armijo_rule_student
def func(x):
return np.linalg.norm(x) ** 2
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[1])
def test_backtracking_line_search(data):
p = np.array(data[0], dtype=float)
grad = np.array(data[1], dtype=float)
x = np.array(data[2], dtype=float)
theta = data[3]
beta = data[4]
c = data[5]
backtracking_line_search_ground_truth = data[6]
backtracking_line_search_student = backtracking_line_search(p, grad, x, theta, beta, c, func)
assert np.linalg.norm(backtracking_line_search_ground_truth - backtracking_line_search_student) < eps
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[2])
def test_compute_approximate_hessian_matrix(data):
sk = np.array(data[0], dtype=float)
yk = np.array(data[1], dtype=float)
Bk = np.array(data[2], dtype=float)
newBk_student = compute_approximate_hessian_matrix(sk, yk, Bk)
newBk_ground_truth = np.array(data[3], dtype=float)
assert np.linalg.norm(newBk_student - newBk_ground_truth) < eps
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[3])
def test_compute_inverse_approximate_hessian_matrix(data):
sk = np.array(data[0], dtype=float)
yk = np.array(data[1], dtype=float)
invBk = np.array(data[2], dtype=float)
inv_newBk_student = compute_inverse_approximate_hessian_matrix(sk, yk, invBk)
inv_newBk_ground_truth = np.array(data[3], dtype=float)
assert np.linalg.norm(inv_newBk_student - inv_newBk_ground_truth) < eps

View File

@@ -0,0 +1 @@
[[[2.0000000000000004, 2.0000000000000004, [-2, -2], [2, 2], 0.5, 1.0, 0], [2.0000000000000004, 0.0, [-2, -2], [2, 2], 0.5, 0.5, 1]], [[[-2, -2], [2, 2], [1, 1], 2.1, 0.5, 0.5, 0.2625]], [[[[-2.0], [-2.0]], [[-4.0], [-4.0]], [[1.0, 0.0], [0.0, 1.0]], [[1.5, 0.5], [0.5, 1.5]]]], [[[[-2.0], [-2.0]], [[-4.0], [-4.0]], [[1.0, 0.0], [0.0, 1.0]], [[0.75, -0.25], [-0.25, 0.75]]]]]