Fitting parametric lens models

Here are the sample data we want to fit. (I named the file 'testquad.dat'.)

1
0.000000e+00 0.000000e+00 3.000000e-03
0.0 10000.0
0.0 10000.0
0.0 10000.0
1
4
-1.171580e+00 -4.697305e-01 9.631385e+00 3.000000e-03 4.815693e-01 0.000000e+00 1.000000e-02
-8.614398e-01 9.186815e-01 -1.140371e+01 3.000000e-03 5.701854e-01 1.711880e+00 1.000000e+00
6.718973e-01 -9.087174e-01 -3.803502e+00 3.000000e-03 1.901751e-01 9.193981e+00 1.000000e+00
5.713389e-01 1.244947e+00 6.867964e+00 3.000000e-03 3.433982e-01 3.645198e-01 1.000000e+00

Here is an example where we start from complete ignorance and let everything vary at once. (Warning: this may not yield good results!) The model is SIE+shear.

set omega = 0.27
set lambda = 0.73
set hvale = 1.0e4

set zlens = 0.3
set zsrc = 2.0

set gridflag = 0
set chimode = 0
set checkparity = 0

set omitcore = 1.0e-6

data testquad.dat

setlens 1 1
alpha 1 0 0 0.1 10.0 0.1 10 0 0 1
1 1 1 1 1 1 1 0 0 0

set restart = 5
optimize fit0

quit

Now let's do things more systematically. First, let's fit only SIE.

set omega = 0.27
set lambda = 0.73
set hvale = 1.0e4

set zlens = 0.3
set zsrc = 2.0

set gridflag = 0
set chimode = 0
set checkparity = 0

set omitcore = 1.0e-6

data testquad.dat

setlens 1 1
alpha 1 0 0 0.1 10.0 0 0 0 0 1
1 0 0 1 1 0 0 0 0 0

optimize fit1a

setlens fit1a.start
changevary 1
1 1 1 1 1 0 0 0 0 0
optimize fit1b

quit

Now let's add shear, but again proceed step by step.

set omega = 0.27
set lambda = 0.73
set hvale = 1.0e4

set zlens = 0.3
set zsrc = 2.0

set gridflag = 0
set chimode = 0
set checkparity = 0

set omitcore = 1.0e-6

data testquad.dat

setlens 1 1
alpha 1 0 0 0.1 10.0 0.1 10 0 0 1
1 0 0 1 1 0 0 0 0 0

optimize fit2a

setlens fit2a.start
changevary 1
1 0 0 1 1 1 1 0 0 0
varyone 1 7 -90 90 37 fit2b

setlens fit2b.start
changevary 1
1 1 1 1 1 1 1 0 0 0
optimize fit2c

quit

Now let's look at uncertainties in H0.

set omega = 0.27
set lambda = 0.73
set hvale = 1.0e4

set zlens = 0.3
set zsrc = 2.0

set gridflag = 0
set chimode = 0
set checkparity = 0

set omitcore = 1.0e-6

data testquad.dat

setlens fit2c.start

varyh 0.50 1.00 51 fit3h

quit