Example #1
0
def solve(A, B):
    F = Algebra();
    if isinstance(A, ndarray) and isinstance(B, float):
            return F.solve(A._M, B);
    elif isinstance(B, ndarray) and  isinstance(A, float):
            return F.solve(A, B._M);
    elif isinstance(A,ndarray) and isinstance(B, ndarray):
            return ndarray(F.solve(A._M, B._M))
    else:
        return A / B
Example #2
0
def solve(A, B):
    F = Algebra()
    if isinstance(A, ndarray) and isinstance(B, float):
        return F.solve(A._M, B)
    elif isinstance(B, ndarray) and isinstance(A, float):
        return F.solve(A, B._M)
    elif isinstance(A, ndarray) and isinstance(B, ndarray):
        return ndarray(F.solve(A._M, B._M))
    else:
        return A / B
Example #3
0
 def __div__(A, B):
     try:
         F = Algebra()
         R = F.solve(A._M, B._M)
         return R
     except (java.lang.IllegalArgumentException), e:
         # check the error class types according to the matrix class so we can intelligently report the error.
         print e.getMessage()
         return None
Example #4
0
 def __div__(A, B):
     try:
         F = Algebra();
         R = F.solve(A._M, B._M);
         return R;
     except (java.lang.IllegalArgumentException), e:
         # check the error class types according to the matrix class so we can intelligently report the error.
         print e.getMessage()
         return None
Example #5
0
def directlinearsolve():
    from no.uib.cipr.matrix import Matrices, DenseMatrix, DenseVector
    from cern.colt.matrix import DoubleMatrix2D, DoubleFactory2D
    from cern.colt.matrix.linalg import Algebra

    sz = 1000
    # MTJ
    x = DenseVector(sz)
    t = time.time()
    mat = Matrices.random(sz,sz)
    b = Matrices.random(sz)
    mat.solve(b,x)
    print "Mtj :" + str(time.time() - t)

    # Colt
    alg = Algebra()
    f = DoubleFactory2D.dense
    t = time.time()
    A = f.random(sz,sz)
    b = f.random(sz,1)
    x = alg.solve(A,b)
    print "Colt :" + str(time.time() - t)