&graph 1 O Point|Orbit -> O da__o point_or dae_or start_or integrpar &compclass !the way curves of the given type are computed O 1 !trajectories !EP 2 !implicit functions &menu Initial point{ O|Point } Curve{ O|Orbit } &deftypes ! CurveType PointType NewCurveType O O O &stdlinalg &&$(Paths.KERNEL)stdalg$(Extensions.DESC) &utilities _util(CheckParameters) =(ErrMessage) =(ActivateTestFuns) =(IndProcFunc) &functions xxx RHS _Rhs+ int $(Compiler.RHSATTR) _Rhs(double *_x, double *_p, double *_t, double *_f) {~ @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} @Time {#define $Time _t[0]~} #define RHS_(e) (_f[e])~ /* return 0;~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef RHS_~ /* RHS__[@(%Phase)] @Phase { $Phase} @Par { $Par} /* Derivatives of RHS{1st order 1st order derivatives of RHS _Rhs_Der1 double * $(Compiler.RHSATTR) _Rhs_Der1(double *_x, double *_p, double *_t) {~ @Time {#define $Time _t[0]~} @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} #define der1(f,u) RHS__[f][_c(u)]~ #define _c(v) (&v-(#v[4]=='p' ? _p-@(%Phase) : _x))~ typedef double _d1T[@(%Phase)][@(%Phase+%Par)];~static _d1T RHS__;~ #define RHS_(e) RHS__[e] /*== don't touch me*/~ /* return RHS__[0];~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef der1~ #undef _c~ #undef RHS_ /*== don't touch me*/~ /* xxx /* 2nd order 2nd order derivatives of RHS _Rhs_Der2 double * $(Compiler.RHSATTR) _Rhs_Der2(double *_x, double *_p, double *_t) {~ @Time {#define $Time _t[0]~} @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} #define der2(f,u,v) RHS__[f][dersub2(_c(u),_c(v))]~ #define _c(v) (&v-(#v[4]=='p' ? _p-COORDINATESDIM : _x))~ #define _n @(%Phase+%Par)-1~typedef double _d2T[@(%Phase)][dersub2(_n,_n)+1];~static _d2T RHS__;~ #define RHS_(e) RHS__[e] /*== don't touch me*/~ /* return RHS__[0];~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef der2~ #undef _c~ #undef _n~ #undef RHS_ /*== don't touch me*/~ /* xxx /* 3rd order 3rd order derivatives of RHS _Rhs_Der3 double * $(Compiler.RHSATTR) _Rhs_Der3(double *_x, double *_p, double *_t) {~ @Time {#define $Time _t[0]~} @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} #define der3(f,u,v,w) RHS__[f][dersub3(_c(u),_c(v),_c(w))]~ #define _c(v) (&v-(#v[4]=='p' ? _p-COORDINATESDIM : _x))~ #define _n @(%Phase+%Par)-1~typedef double _d3T[@(%Phase)][dersub3(_n,_n,_n)+1];~static _d3T RHS__;~ #define RHS_(e) RHS__[e] /*== don't touch me*/~ /* return RHS__[0];~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef der3~ #undef _c~ #undef _n~ #undef RHS_ /*== don't touch me*/~ /* xxx /* 4th order 4th order derivatives of RHS _Rhs_Der4 double * $(Compiler.RHSATTR) _Rhs_Der4(double *_x, double *_p, double *_t) {~ @Time {#define $Time _t[0]~} @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} #define der4(f,u,v,w,x) RHS__[f][dersub4(_c(u),_c(v),_c(w),_c(x))]~ #define _c(v) (&v-(#v[4]=='p' ? _p-COORDINATESDIM : _x))~ #define _n @(%Phase+%Par)-1~typedef double _d4T[@(%Phase)][dersub4(_n,_n,_n,_n)+1];~static _d4T RHS__;~ #define RHS_(e) RHS__[e] /*== don't touch me*/~ /* return RHS__[0];~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef der4~ #undef _c~ #undef _n~ #undef RHS_ /*== don't touch me*/~ /* xxx /* 5th order} 5th order derivatives of RHS _Rhs_Der5 double * $(Compiler.RHSATTR) _Rhs_Der5(double *_x, double *_p, double *_t) {~ @Time {#define $Time _t[0]~} @Phase {#define $Phase (*Phase(_x+&Phase))~} @Par {#define $Par (*Par(_p+&Par))~} #define der5(f,u,v,w,x,y) RHS__[f][dersub5(_c(u),_c(v),_c(w),_c(x),_c(y))]~ #define _c(v) (&v-(#v[4]=='p' ? _p-COORDINATESDIM : _x))~ #define _n @(%Phase+%Par)-1~typedef double _d5T[@(%Phase)][dersub5(_n,_n,_n,_n,_n)+1];~static _d5T RHS__;~ #define RHS_(e) RHS__[e] /*== don't touch me*/~ /* return RHS__[0];~}~ @Time {#undef $Time~} @Phase {#undef $Phase~} @Par {#undef $Par~} #undef der5~ #undef _c~ #undef _n~ #undef RHS_ /*== don't touch me*/~ /* xxx /* LHS Left-hand sides _Lhs+ typedef double _mT[COORDINATESDIM][COORDINATESDIM];~int $(Compiler.RHSATTR) _Lhs(double *_p, _mT _m) {~ @Par {#define $Par (*Par(_p+&Par))~} #define LHS_(e,v) (*(_m[(e)]+(v)))~ /* return 0;~}~ @Par {#undef $Par~} #undef LHS_~ /* LHS__[@(%Phase*%Phase)] @Par { $Par} /* Derivatives of LHS{1st order 1st order derivatives of LHS _Lhs_Der1 #define _n COORDINATESDIM~double * $(Compiler.RHSATTR) _Lhs_Der1(double *_p) {~ @Par {#define $Par (*Par(_p+&Par))~} typedef double _m1T[@(%Phase*%Phase)][@(%Par)];~static _m1T LHS__;~ #define LHS_(e,v) LHS__[(e)*@(%Phase)+(v)] /*== don't touch me*/~ #define der1(e,v,p) LHS__[(e)*@(%Phase)+(v)][&(p)-_p]~ /* return LHS__[0];~}~ @Par {#undef $Par~} #undef LHS_ /*== don't touch me*/~ #undef der1~ #undef _n~ /* xxx /* 2nd order 2nd order derivatives of LHS _Lhs_Der2 #define _n COORDINATESDIM~double * $(Compiler.RHSATTR) _Lhs_Der2(double *_p) {~ @Par {#define $Par (*Par(_p+&Par))~} typedef double _m2T[@(%Phase*%Phase)][1];~static _m2T LHS__;~ #define LHS_(e,v) LHS__[(e)*@(%Phase)+(v)] /*== don't touch me*/~ #define der2(e,v,p1,p2) LHS__[(e)*@(%Phase)+(v)][ind2_(&(p1)-_p,&(p2)-_p)]~ /* return LHS__[0];~}~ @Par {#undef $Par~} #undef LHS_ /*== don't touch me*/~ #undef der2~ #undef _n~ /* xxx /* 3rd order 3rd order derivatives of LHS _Lhs_Der3 #define _n COORDINATESDIM~double * $(Compiler.RHSATTR) _Lhs_Der3(double *_p) {~ @Par {#define $Par (*Par(_p+&Par))~} typedef double _m3T[@(%Phase*%Phase)][1];~static _m3T LHS__;~ #define LHS_(e,v) LHS__[(e)*@(%Phase)+(v)] /*== don't touch me*/~ #define der3(e,v,p1,p2,p3) LHS__[(e)*@(%Phase)+(v)][ind3_(&(p1)-_p,&(p2)-_p,&(p3)-_p)]~ /* return LHS__[0];~}~ @Par {#undef $Par~} #undef LHS_ /*== don't touch me*/~ #undef der3~ #undef _n~ /* xxx /* 4th order 4th order derivatives of LHS _Lhs_Der4 #define _n COORDINATESDIM~double * $(Compiler.RHSATTR) _Lhs_Der4(double *_p) {~ @Par {#define $Par (*Par(_p+&Par))~} typedef double _m4T[@(%Phase*%Phase)][1];~static _m4T LHS__;~ #define LHS_(e,v) LHS__[(e)*@(%Phase)+(v)] /*== don't touch me*/~ #define der4(e,v,p1,p2,p3,p4) LHS__[(e)*@(%Phase)+(v)][ind4_(&(p1)-_p,&(p2)-_p,&(p3)-_p,&(p4)-_p)]~ /* return LHS__[0];~}~ @Par {#undef $Par~} #undef LHS_ /*== don't touch me*/~ #undef der4~ #undef _n~ /* xxx /* 5th order} 5th order derivatives of LHS _Lhs_Der5 #define _n COORDINATESDIM~double * $(Compiler.RHSATTR) _Lhs_Der5(double *_p) {~ @Par {#define $Par (*Par(_p+&Par))~} typedef double _m5T[@(%Phase*%Phase)][1];~static _m5T LHS__;~ #define LHS_(e,v) LHS__[(e)*@(%Phase)+(v)] /*== don't touch me*/~ #define der5(e,v,p1,p2,p3,p4,p5) LHS__[(e)*@(%Phase)+(v)][ind3_(&(p1)-_p,&(p2)-_p,&(p3)-_p,&(p4)-_p,&(p5)-_p)]~ /* return LHS__[0];~}~ @Par {#undef $Par~} #undef LHS_ /*== don't touch me*/~ #undef der5~ #undef _n~ /* xxx /* &derivatives 1 &visiblenames 2 Phase Coordinates~ ~> 0 3 Par Parameters~ ~>= 0 1 Time Time~ ~== 1 0 4 Eigv- Eigenvalues~@Phase& { Re_&Phase} @Phase& { Im_&Phase}~ 6 TestEp- Test functions (EP)~Branching Fold Hopf(%Phase-2)~ 7 TestH- Test functions (H)~Generalized_Hopf(%Phase-2) Bogdanov_Takens(%Phase-2) Zero_Hopf(%Phase-3) Double_Hopf(%Phase-4)~ 8 TestLp- Test functions (LP)~Cusp Bogdanov_Takens(%Phase-2) Hopf(%Phase-2)~ 9 TestLc- Test functions (LC)~Branching Fold Period_doubling(%Phase-3) Neimark_Sacker(%Phase-3)~ 15 TestBT- Test functions (BT)~Triple_Zero(%Phase-3) Triple_DBT(%Phase-2) Double_DBT(%Phase-2) Hopf_BT(%Phase-4)~ 16 TestPD- Test functions (PD)~ ~ 10 TestDH- Test functions (DH)~ ~ 14 TestHOM- Test functions (HOM)~ ~ 11 Period Period ~Period @Phase { }~ 12 Mult- Multipliers ~@Phase& { Mod_&Phase} @Phase& { Arg_&Phase} @Phase { Re_&Phase} @Phase { Im_&Phase}~ 13 StdFunc- Standard functions ~L2_Norm @Phase { Min_$Phase} @Phase { Max_$Phase}~ 5 UserFunc- User functions~ ~ ! Special classes (with 255>code>200) MUST follow those with code<200 254 SPECCL_AUS d1~ ~ ! ActiveUserSing 253 SPECCL_DIM d2~ ~ ! G-dim of point &help cont_dae.hlp &windows !