def test_row_insert(): M = zeros(3) V = ones(1, 3) assert M.row_insert(1, V) == DenseMatrix([[0, 0, 0], [1, 1, 1], [0, 0, 0], [0, 0, 0]])
def test_fill(): A = zeros(4, 4) A.fill(1) B = ones(4, 4) assert A == B assert A.rows == B.rows assert A.cols == B.cols assert A.shape == B.shape == (4, 4)
def test_set_item(): A = DenseMatrix(3, 3, [1, 2, 3, 4, 5, 6, 7, 8, 9]) A[2] = 7 A[2, 2] = 8 A[-2] = 3 A[-2, -1] = 1 assert A == DenseMatrix(3, 3, [1, 2, 7, 4, 5, 1, 7, 3, 8]) A[0, :] = [10, 11, 12] assert A == DenseMatrix(3, 3, [10, 11, 12, 4, 5, 1, 7, 3, 8]) A[:, 1] = [13, 14, 15] assert A == DenseMatrix(3, 3, [10, 13, 12, 4, 14, 1, 7, 15, 8]) A[0::2, :] = [[1, 2, 3], [4, 5, 6]] assert A == DenseMatrix(3, 3, [1, 2, 3, 4, 14, 1, 4, 5, 6]) B = DenseMatrix(A) B[[0, 2], 0] = -1 assert B == DenseMatrix(3, 3, [-1, 2, 3, 4, 14, 1, -1, 5, 6]) B = DenseMatrix(A) B[[0, 2], 0] = [-1, -2] assert B == DenseMatrix(3, 3, [-1, 2, 3, 4, 14, 1, -2, 5, 6]) B = DenseMatrix(A) B[[0, 2], 0] = [[-1], [-2]] assert B == DenseMatrix(3, 3, [-1, 2, 3, 4, 14, 1, -2, 5, 6]) B = DenseMatrix(A) B[[0, 2], [0]] = [-1, -2] assert B == DenseMatrix(3, 3, [-1, 2, 3, 4, 14, 1, -2, 5, 6]) B = DenseMatrix(A) B[[0, 2], [0]] = [[-1], [-2]] assert B == DenseMatrix(3, 3, [-1, 2, 3, 4, 14, 1, -2, 5, 6]) B = DenseMatrix(A) B[0, [0, 2]] = [-1, -2] assert B == DenseMatrix(3, 3, [-1, 2, -2, 4, 14, 1, 4, 5, 6]) B = DenseMatrix(A) B[0, [0, 2]] = -1 assert B == DenseMatrix(3, 3, [-1, 2, -1, 4, 14, 1, 4, 5, 6]) B = DenseMatrix(A) B[:, [0, 2]] = -1 assert B == DenseMatrix(3, 3, [-1, 2, -1, -1, 14, -1, -1, 5, -1]) B = DenseMatrix(A) B[[0, 1], [0, 2]] = -1 assert B == DenseMatrix(3, 3, [-1, 2, -1, -1, 14, -1, 4, 5, 6]) A = zeros(3, 4) B = ones(1, 4) A[0, :] = B assert A[0, :] == B A = zeros(3, 4) B = ones(3, 1) A[:, 0] = B assert A[:, 0] == B
def test_dot(): A = DenseMatrix(2, 3, [1, 2, 3, 4, 5, 6]) B = DenseMatrix(2, 1, [7, 8]) assert A.dot(B) == DenseMatrix(1, 3, [39, 54, 69]) assert ones(1, 3).dot(ones(3, 1)) == 3
def test_rowadd(): M = ones(3) assert M.rowadd(2, 1, 1) == DenseMatrix([[1, 1, 1], [1, 1, 1], [2, 2, 2]])
def test_rowmul(): M = ones(3) assert M.rowmul(2, 2) == DenseMatrix([[1, 1, 1], [1, 1, 1], [2, 2, 2]])
def test_col_insert(): M = zeros(3) V = ones(3, 1) assert M.col_insert(1, V) == DenseMatrix([[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]])