Package PyDSTool :: Package PyCont :: Module TestFunc :: Class BorderMethod
[hide private]
[frames] | no frames]

Class BorderMethod

source code

object --+        
         |        
  Function --+    
             |    
      TestFunc --+
                 |
                BorderMethod
Known Subclasses:

Border method:

    [A   B][V] = [0]
    [C^T D][G]   [1]

where r = corank and:
    A = (n,m)
    s = max(n,m)
    p = s-m+r, q = s-n+r
    B = (n,p)
    C = (m,q)
    D = 0_(q,p)
    V = (m,q)
    G = (p,q)
    0 = (n,q)
    1 = (q,q)

F:R^nm --> R^pq,  F(A) = G

It can also be written as:

    [W^T G][A   B] = [0 1]
           [C^T D]

where now:
    W = (n,p)
    0 = (p,m)
    1 = (p,p)

This is important for calculating derivatives:

    S_{z} = -W^T x A_{z} x V

This is implemented in the diff method.

In order to use the Function class, the matrices are put into vector form.

Instance Methods [hide private]
 
__init__(self, (a, b), (n, m), F, C, r=1, update=False, corr=False, save=False, numpoints=None)
F: R^a --> R^b
source code
 
setdata(self, A)
Note: p, q <= min(n,m)
source code
 
updatedata(self, A) source code
 
func(self, A) source code
 
getVW(self, A) source code

Inherited from TestFunc: diff, findzero

Inherited from Function: __call__, __getitem__, __setitem__, numhess

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, (a, b), (n, m), F, C, r=1, update=False, corr=False, save=False, numpoints=None)
(Constructor)

source code 

F: R^a --> R^b

Note: I did not assign b automatically (although I could - it would just be b = p*q) since you may not want to use all of the entries of S. Some bordering methods are not minimally augmented systems and thus only require certain entries of S.

Overrides: object.__init__