Пример #1
0
    def __init__(self, equations, *args, **kwargsForOpenOptSLEconstructor):
        if len(args) > 0:  FuncDesignerException('incorrect sle definition, too many args are obtained')
        
        if type(equations) not in [list, tuple, set]:
            raise FuncDesignerException('argument of sle constructor should be Python tuple or list of equations or oofuns')
            
        self.equations = equations

        try:
            from openopt import SLE
        except:
            s = "Currently to solve SLEs via FuncDesigner you should have OpenOpt installed; maybe in future the dependence will be ceased"
            raise FuncDesignerException(s)
        
        self.decodeArgs(*args, **kwargsForOpenOptSLEconstructor)
        if 'iprint' not in kwargsForOpenOptSLEconstructor.keys():
            kwargsForOpenOptSLEconstructor['iprint'] = -1
        self.p = SLE(self.equations, self.startPoint, **kwargsForOpenOptSLEconstructor)
        self.p._Prepare()
        self.A, self.b = self.p.C, self.p.d
        self.n = self.p.C.shape[0]
        self.decode = lambda x: self.p._vector2point(x)
Пример #2
0
__docformat__ = "restructuredtext en"

from numpy import *
from openopt import SLE

N = 1000
C = empty((N,N))
d =  1.5+80*sin(arange(N))

for j in xrange(N):
    C[j] = 8*sin(4.0+arange(j, N+j)**2) + 15*cos(j)

p = SLE(C, d)
#r = p.solve('defaultSLEsolver'), or just
r = p.solve()

print('max residual: %e' % r.ff)
#print('solution: %s' % r.xf)