Ejemplo n.º 1
0
def grade_Q9():
    x = np.random.rand(100, 100)
    y = prj01.Q9(8).compile(golden.Builder())(x=x)
    x2 = prj01.Q3(x, x)
    x4 = prj01.Q3(x2, x2)
    x8 = prj01.Q3(x4, x4)
    return np.allclose(y, x8)
Ejemplo n.º 2
0
def grade_Q3():
    a = np.array([[i for i in range(10)]])
    b = a.transpose()
    c = prj01.Q3(a, b)
    d = prj01.Q3(b, a)
    if not hasattr(c, "shape") or not hasattr(d, "shape"):
        return False
    if c.shape != (1, 1) or d.shape != (10, 10):
        return False
    return c[0, 0] == 285 and all(
        [d[i, j] == i * j for i in range(10) for j in range(10)])
Ejemplo n.º 3
0
def grade_Q8():
    A = np.random.rand(100, 100)
    x = np.random.rand(100, 1)
    b = np.random.rand(100, 1)
    y = prj01.Q8(A, b).compile(golden.Builder())(x=x)
    return np.allclose(y, prj01.Q2(prj01.Q3(A, x), b))
Ejemplo n.º 4
0
def grade_Q7():
    a = np.random.rand(100, 50)
    b = np.random.rand(100, 10)
    c = np.random.rand(10, 50)
    d = prj01.Q7().compile(golden.Builder())(a=a, b=b, c=c)
    return np.allclose(d, prj01.Q2(a, prj01.Q3(b, c)))
Ejemplo n.º 5
0
def grade_Q5():
    A = -np.random.rand(100, 100) + np.diag([100] * 100)
    b = np.random.rand(100, 1)
    x = prj01.Q5(A, b)
    Ax = prj01.Q3(A, x)
    return np.allclose(Ax, b)