示例#1
0
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
示例#2
0
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
示例#3
0
 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))
示例#4
0
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
示例#5
0
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