Exemplo n.º 1
0
def test_sin():
    x = random.random()
    assert_delta((np.sin(x * np.pi)), (np.sin((x * np.pi) + (2 * np.pi))))
    return "sin({})={}\nsin(2pi+{})={}\n{}".format(
        x * np.pi, round(np.sin(x * np.pi), 6), x * np.pi,
        round(np.sin((x * np.pi) + 2 * np.pi), 6),
        "They are equal so the test passes")
Exemplo n.º 2
0
def test_cos():
    x = random.random()
    assert_delta((np.cos(x * np.pi)), (np.cos(x * np.pi + (2 * np.pi))))
    return "cos({})={}\ncos(2pi+{})={}\n{}".format(
        x * np.pi, round(np.cos(x * np.pi), 6), x * np.pi,
        round(np.cos((x * np.pi) + 2 * np.pi), 6),
        "They are equal so the test passes")
def test_determinant_2():
    A = gen_matrix(25, 25, square=True)
    B = np.copy(A)
    scale_factor = random()
    B[randrange(0, B.shape[0]
                ), :] *= scale_factor  # scale a random row by scale_factor

    assert_delta(scale_factor * np.linalg.det(A), np.linalg.det(B))
def test_norm_4():
    a = random() * 2 - 1
    dim = randrange(1, 5)
    diag = np.identity(dim) * a
    norm = np.linalg.norm(diag)
    assert_delta(norm, np.abs(a) * np.sqrt(dim))
    return """A =\n{}\n|a|*sqrt(dimension) = |{}|*sqrt({}) = {}\nNorm = {} 
They are equal so the test passes""".format(diag, a, dim,
                                            np.abs(a) * np.sqrt(dim), norm)
def test_determinant_1():
    # determinant can become quite large for large matrices
    # throwing off assert_delta, so the dimension must be restricted to 50
    A = gen_matrix(25, 25, square=True)
    B = np.copy(A)

    # swap two random rows in B
    row1, row2 = randrange(0, B.shape[0]), randrange(0, B.shape[0])
    B[[row1, row2]] = B[[row2, row1]]

    assert_delta(abs(np.linalg.det(A)), abs(np.linalg.det(B)))
def test_norm_2():
    A = gen_matrix(100, 100)
    scalar = random() * 2 - 1  # random number on interval [-1, 1]
    assert_delta(np.linalg.norm(scalar * A), abs(scalar) * np.linalg.norm(A))
def test_norm_1():
    A = gen_matrix(100, 100)
    assert_delta(np.linalg.norm(A), np.linalg.norm(A.T))
def test_determinant_3():
    A = gen_matrix(25, 25, square=True, non_singular=True)
    B = np.linalg.inv(A)
    assert_delta(np.linalg.det(A), 1 / np.linalg.det(B))
Exemplo n.º 9
0
def test_assert_delta_1(x):
    a = random()
    b = a + 0.00019 * (random() - 0.5)
    assert_delta(a, b, delta=0.0001)
    return "{} = {} within a delta of .0001".format(a, b)
Exemplo n.º 10
0
def test_assert_delta_2(x):
    a = random()
    b = a + randrange(1, 100)
    with pytest.raises(AssertionError):
        assert_delta(a, a + b)
    return "{} != {} within a delta of .0001".format(a, b)
Exemplo n.º 11
0
def test_square_root_2():
    x = random.uniform(1, 100.0)
    assert_delta(x, (np.sqrt(x)**2))
Exemplo n.º 12
0
def test_arctan():
    x = random.random()
    assert_delta((np.tan(np.arctan(x))), x)
Exemplo n.º 13
0
def test_arccos():
    x = random.random()
    assert_delta((np.cos(np.arccos(x))), x)
Exemplo n.º 14
0
def test_metaTan():
    x = random.random()
    assert_delta((np.tan(x * np.pi)), -(np.tan((2 * np.pi) - (x * np.pi))))
Exemplo n.º 15
0
def test_metaCos():
    x = random.random()
    assert_delta((np.cos(x * np.pi)), (np.cos((2 * np.pi) - (x * np.pi))))