def make_random_matrix(size, dtype, flavor): result = pyublas.zeros((size, size), dtype, flavor) elements = size ** 2 / 10 for i in range(elements): row = random.randrange(0, size) col = random.randrange(0, size) value = random.normalvariate(0,10) if dtype == complex: value += 1j*random.normalvariate(0,10) result[row,col] += value return result
def make_random_matrix(size, dtype, flavor): result = pyublas.zeros((size, size), dtype, flavor) elements = size**2 / 10 for i in range(elements): row = random.randrange(0, size) col = random.randrange(0, size) value = random.normalvariate(0, 10) if dtype == complex: value += 1j * random.normalvariate(0, 10) result[row, col] += value return result
def do_test_add_scattered(self, dtype): a = pyublas.zeros((10,10), dtype, flavor=pyublas.SparseBuildMatrix) vec = numpy.array([3., 5.], dtype=dtype) vec2 = numpy.array([2., 4.], dtype=dtype) b = numpy.outer(vec, vec2) a.add_scattered([5,7], [1,3], pyublas.why_not(b, matrix=True, dtype=dtype))
import numpy import pyublas assert pyublas.have_sparse_wrappers() a = pyublas.zeros((5, 5), flavor=pyublas.SparseBuildMatrix, dtype=float) a[4, 2] = 19 b = numpy.random.randn(2, 2) a.add_block(2, 2, b) a_fast = pyublas.asarray(a, flavor=pyublas.SparseExecuteMatrix) vec = numpy.random.randn(5) res = a_fast * vec print a_fast print res
import numpy import pyublas assert pyublas.have_sparse_wrappers() a = pyublas.zeros((5,5), flavor=pyublas.SparseBuildMatrix, dtype=float) a[4,2] = 19 b = numpy.random.randn(2,2) a.add_block(2, 2, b) a_fast = pyublas.asarray(a, flavor=pyublas.SparseExecuteMatrix) vec = numpy.random.randn(5) res = a_fast * vec print a_fast print res