Exemplo n.º 1
0
def test_gruber_fails_on_singular_matrix():
    from numpy import array
    from pylada.crystal.cutilities import gruber
    from pylada import error
    from pytest import raises
    with raises(error.ValueError):
        gruber(array([[0, 0, 0], [1, 2, 0], [4, 5, 6]]))
Exemplo n.º 2
0
def test_gruber_fails_on_singular_matrix():
    from numpy import array
    from pylada.crystal.cutilities import gruber
    from pylada import error
    from pytest import raises
    with raises(error.ValueError):
        gruber(array([[0, 0, 0], [1, 2, 0], [4, 5, 6]]))
Exemplo n.º 3
0
def test_gruber_reached_maximum_iterations():
    from numpy import array
    from pylada.crystal.cutilities import gruber
    from pylada import error
    from pytest import raises

    with raises(error.RuntimeError):
        gruber(array([[1, 0, 0], [1, 1, 0], [4, 5, 1]]), itermax=2)
Exemplo n.º 4
0
def test_gruber_reached_maximum_iterations():
    from numpy import array
    from pylada.crystal.cutilities import gruber
    from pylada import error
    from pytest import raises

    with raises(error.RuntimeError):
        gruber(array([[1, 0, 0], [1, 1, 0], [4, 5, 1]]), itermax=2)
Exemplo n.º 5
0
def test_gruber():
    from numpy import dot
    from numpy.linalg import inv
    from pylada.crystal.cutilities import gruber

    cell = [[0, 0.5, 0.5], [0.5, 0, 0.5], [0.5, 0.5, 0]]
    lim = 5

    for a00 in [-1, 1]:
        for a10 in range(-lim, lim + 1):
            for a11 in [-1, 1]:
                for a20 in range(-lim, lim + 1):
                    for a21 in range(-lim, lim + 1):
                        for a22 in [-1, 1]:
                            a = [[a00, 0, 0], [a10, a11, 0], [a20, a21, a22]]
                            g = gruber(dot(cell, a))
                            assert is_integer(dot(inv(cell), g))
                            assert is_integer(dot(inv(g), cell))
Exemplo n.º 6
0
def test_gruber():
    from numpy import dot
    from numpy.linalg import inv
    from pylada.crystal.cutilities import gruber

    cell = [[0, 0.5, 0.5], [0.5, 0, 0.5], [0.5, 0.5, 0]]
    lim = 5

    for a00 in [-1, 1]:
        for a10 in range(-lim, lim + 1):
            for a11 in [-1, 1]:
                for a20 in range(-lim, lim + 1):
                    for a21 in range(-lim, lim + 1):
                        for a22 in [-1, 1]:
                            a = [[a00, 0, 0], [a10, a11, 0], [a20, a21, a22]]
                            g = gruber(dot(cell, a))
                            assert is_integer(dot(inv(cell), g))
                            assert is_integer(dot(inv(g), cell))