Changeset 730

Show
Ignore:
Timestamp:
08/27/10 12:20:55 (1 year ago)
Author:
dmitrey
Message:

a bugfix and some changes for FD (mostly for getOrder)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • PythonPackages/FuncDesigner/FuncDesigner/ooFun.py

    r729 r730  
    212212         
    213213    # overload "a-b" 
    214     __sub__ = lambda self, other: self + (-array(other, 'float')) if type(other) in (list, tuple, ndarray) and type(other[0]) in (int, float) else self + (-other) 
     214    __sub__ = lambda self, other: self + (-array(other, 'float')) if type(other) in (list, tuple, ndarray) else self + (-other) 
    215215    __rsub__ = lambda self, other: other + (-self) 
    216216 
  • PythonPackages/OpenOpt/openopt/kernel/FDmisc.py

    r703 r730  
    226226            else: 
    227227                lin_oofun = elem 
    228             if not lin_oofun.is_linear
     228            if lin_oofun.getOrder(self.optVars, self.fixedVars) > 1
    229229                raise OpenOptException("this function hasn't been intended to work with nonlinear FuncDesigner oofuns") 
    230230            C.append(p._pointDerivative2array(lin_oofun.D(Z, **p._D_kwargs), useSparse = p.useSparse)) 
  • PythonPackages/OpenOpt/openopt/kernel/SLE.py

    r715 r730  
    8080                else: 
    8181                    lin_oofun = elem 
    82                 if not lin_oofun.is_linear
     82                if lin_oofun.getOrder(self.optVars, self.fixedVars) > 1
    8383                    raise OpenOptException('SLE constructor requires all equations to be linear') 
    8484                C.append(self._pointDerivative2array(lin_oofun.D(Z, **self._D_kwargs), useSparse = AsSparse)) 
  • PythonPackages/OpenOpt/openopt/kernel/baseProblem.py

    r729 r730  
    405405                            UB[f] = min((val, UB[f])) 
    406406                elif _lb == _ub: 
    407                     if f.is_linear
     407                    if f.getOrder(self.optVars, self.fixedVars) < 2
    408408                        Aeq.append(self._pointDerivative2array(f.D(Z, **D_kwargs)))       
    409409                        beq.append(-f(Z)+_lb) 
     
    411411                    else: self.h.append(f+_lb) 
    412412                elif isfinite(_ub): 
    413                     if f.is_linear
     413                    if f.getOrder(self.optVars, self.fixedVars) < 2
    414414                        A.append(self._pointDerivative2array(f.D(Z, **D_kwargs)))                        
    415415                        b.append(-f(Z)+_ub) 
     
    417417                    else: self.c.append(f - _ub) 
    418418                elif isfinite(_lb): 
    419                     if f.is_linear
     419                    if f.getOrder(self.optVars, self.fixedVars) < 2
    420420                        A.append(-self._pointDerivative2array(f.D(Z, **D_kwargs)))                        
    421421                        b.append(f(Z) - _lb)