Dear Harry and Frank,
I have started reading your SIAM book and am finding it very interesting. I downloaded the toolbox today (coco_2013Jul26) and have been playing with it. I have some questions. The system I've been using is Matlab 7.6.0.324 (R2008a).
1) The pdeeig example needs line 93 changed to
U = reshape(cell2mat(U),P,Q);
Otherwise reshape complains that U is a cell array, not a matrix.
2) I tried running the henon example from Chapter 3 and it fails with the following error:
> >> demo_chap3_v3
> ??? Undefined function or method 'fdm_ezDFDX' for input arguments of type
> 'function_handle'.
>
> Error in ==> efunc_DFDX at 51
> [data DFDX] = fdm_ezDFDX('f(o,d,x)', opts, data, func.F, x(x_idx));
>
> Error in ==> CurveSegment>CurveSegment.nullspace at 92
> [opts chart J] = opts.efunc.DFDX(opts, chart, chart.x);
>
> Error in ==> CurveSegment>CurveSegment.init_TS at 171
> [opts cseg.curr_chart TS] = cseg.nullspace(opts, cseg.curr_chart);
>
> Error in ==> CurveSegment>CurveSegment.create_initial at 57
> [opts cseg TS] = cseg.init_TS(opts, varargin{:});
>
> Error in ==> atlas_1d_recipes>atlas_1d_recipes.init_prcond at 134
> [opts cseg] = CurveSegment.create_initial(opts, chart, ...
>
> Error in ==> state_init_prcond at 29
> [opts opts.atlas opts.cseg correct] = opts.atlas.init_prcond(opts,
> opts.cont.chart0);
>
> Error in ==> covering_create>covering_step at 188
> opts = fsm.(state).func (opts);
>
> Error in ==> covering_create>covering_run at 176
> opts = covering_step(opts);
>
> Error in ==> coco at 162
> opts = opts.cont.run(opts);
>
> Error in ==> demo_chap3_v3 at 7
> coco(prob, 'run6A', [], 1, 'a', [0.8 1.2]);
This error also occurs for brusselator, catenary/demo_chap1_v1, doedel, huxley, inttanh, lemniscate/demo_atlas1d_v6, linosz, lorentz, manifolds2dand probably others (I haven't checked all the subdirectories)
It's possible I haven't set a path correctly (I ran the script "startup"), but the file/script/function fdm_ezDFDX doesn't seem to exist anywhere. I attach the log file for henon.
I'm only at chapter 4 in the book and I was just testing the examples, so I don't yet know enough to know if a workaround exists, but the routines in their current form do have this problem.
3) duffing, duffing_bb and torex have a different problem
> >> demo_atlas1d_v6
>
> STEP DAMPING NORMS COMPUTATION TIMES
> IT SIT GAMMA ||d|| ||f|| ||U|| F(x) DF(x) SOLVE
> 0 1.26e-01 2.37e+01 0.0 0.0 0.0
> 1 1 1.00e+00 1.29e-01 1.21e-04 2.37e+01 0.0 0.0 0.0
> 2 1 1.00e+00 1.16e-02 7.41e-07 2.37e+01 0.0 0.0 0.0
> 3 1 1.00e+00 4.92e-06 1.83e-13 2.37e+01 0.0 0.0 0.0
> 4 1 1.00e+00 9.55e-12 7.53e-15 2.37e+01 0.0 0.0 0.0
>
> STEP TIME ||U|| LABEL TYPE om
> 0 00:00:00 2.3743e+01 1 EP 1.0000e+00
> ??? Error using ==> mldivide
> Matrix dimensions must agree.
>
> Error in ==> lsol_recipes>solve at 61
> x = Q*(U\(L\(P*(R\b))));
>
> Error in ==> CurveSegment>CurveSegment.update_det at 143
> [opts chart] = opts.lsol.solve(opts, chart, J, []);
>
> Error in ==> atlas_1d_min.atlas_1d_min>atlas_1d_min.test_BP at 72
> [prob chart] = prob.cseg.update_det(prob, chart);
>
> Error in ==> atlas_1d_min.atlas_1d_min>@(varargin)atlas.test_BP(varargin{:}) at 44
> prob = coco_add_func(prob, fid, @atlas.test_BP, [], ...
>
> Error in ==> efunc_call_F at 19
> [opts data chart2 F] = func.F(opts, data, chart, x);
>
> Error in ==> efunc_monitor_F at 42
> [opts data chart F] = efunc_call_F(opts, data, chart, func, x(x_idx), t(x_idx));
>
> Error in ==> CurveSegment>CurveSegment.chart_at at 292
> [opts chart chart.p] = opts.efunc.monitor_F(opts, chart, chart.x, chart.t, evidx);
>
> Error in ==> state_ev_locate_sing at 26
> [opts cseg chart] = cseg.chart_at(opts, h, evidx);
>
> Error in ==> covering_create>covering_step at 188
> opts = fsm.(state).func (opts);
>
> Error in ==> covering_create>covering_run at 176
> opts = covering_step(opts);
>
> Error in ==> coco at 162
> opts = opts.cont.run(opts);
>
> Error in ==> demo_atlas1d_v6 at 17
> coco(prob, 'duffing', [], 1, 'om', [0.5 3.5]);
4) catenary/demo_chap1_v3 needs to have line 6 modified to
x0 = cosh(t0);
5) demo_AT_scenario in langford gives
> >> demo_AT_scenario
> ??? Error using ==> demo_AT_scenario at 6
> update to correct toolboxes first
6) the demos in population lead to issues with alg_isol2eqn:
> >> demo_alg_v9
> ??? Error: File: /Users/stefan/Documents/MATLAB/coco/examples/recipes/alg_v9/alg_init_data.m Line: 16
> Column: 11
> Expression or statement is incorrect--possibly unbalanced (, {, or [.
>
> Error in ==> alg_isol2eqn at 31
> data = alg_init_data(data, x0, p0);
>
> Error in ==> demo_alg_v9 at 10
> prob = alg_isol2eqn(prob, '', alg_args{:});