Skip to content

Commit

Permalink
bug fix
Browse files Browse the repository at this point in the history
  • Loading branch information
georgtree committed Jan 12, 2025
1 parent 3cb4fe8 commit ffa6aa4
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 54 deletions.
25 changes: 6 additions & 19 deletions docs/index-tclopt.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ <h5 class='ruff'>Method summary</h5><table class='ruff_deflist'>
<tr><td><a href="index-tclopt.html#::tclopt::Mpfit::Qfrac" title="Qfrac" class='ruff_cmd'>Qfrac</a></td><td>Does QR factorization.</td></tr>
<tr><td><a href="index-tclopt.html#::tclopt::Mpfit::run" title="run" class='ruff_cmd'>run</a></td><td>Runs optimization.</td></tr>
</table>
<h5 class='ruff'>Properties</h5><p class='ruff'>Readable: <code><font color=#b9b96e>-bestnorm</font></code>, <code><font color=#b9b96e>-covar</font></code>, <code><font color=#b9b96e>-covtol</font></code>, <code><font color=#b9b96e>-debuginfo</font></code>, <code><font color=#b9b96e>-epsfcn</font></code>, <code><font color=#b9b96e>-ftol</font></code>, <code><font color=#b9b96e>-funct</font></code>, <code><font color=#b9b96e>-gtol</font></code>, <code><font color=#b9b96e>-m</font></code>, <code><font color=#b9b96e>-maxfev</font></code>, <code><font color=#b9b96e>-maxiter</font></code>, <code><font color=#b9b96e>-nfev</font></code>, <code><font color=#b9b96e>-nfree</font></code>, <code><font color=#b9b96e>-nfunc</font></code>, <code><font color=#b9b96e>-niter</font></code>, <code><font color=#b9b96e>-nofinitecheck</font></code>, <code><font color=#b9b96e>-npar</font></code>, <code><font color=#b9b96e>-npegged</font></code>, <code><font color=#b9b96e>-orignorm</font></code>, <code><font color=#b9b96e>-pdata</font></code>, <code><font color=#b9b96e>-resid</font></code>, <code><font color=#b9b96e>-status</font></code>, <code><font color=#b9b96e>-stepfactor</font></code>, <code><font color=#b9b96e>-x</font></code>, <code><font color=#b9b96e>-xerror</font></code>, <code><font color=#b9b96e>-xtol</font></code></p>
<p class='ruff'>Writable: <code><font color=#b9b96e>-bestnorm</font></code>, <code><font color=#b9b96e>-covar</font></code>, <code><font color=#b9b96e>-covtol</font></code>, <code><font color=#b9b96e>-debuginfo</font></code>, <code><font color=#b9b96e>-epsfcn</font></code>, <code><font color=#b9b96e>-ftol</font></code>, <code><font color=#b9b96e>-funct</font></code>, <code><font color=#b9b96e>-gtol</font></code>, <code><font color=#b9b96e>-m</font></code>, <code><font color=#b9b96e>-maxfev</font></code>, <code><font color=#b9b96e>-maxiter</font></code>, <code><font color=#b9b96e>-nfev</font></code>, <code><font color=#b9b96e>-nfree</font></code>, <code><font color=#b9b96e>-nfunc</font></code>, <code><font color=#b9b96e>-niter</font></code>, <code><font color=#b9b96e>-nofinitecheck</font></code>, <code><font color=#b9b96e>-npar</font></code>, <code><font color=#b9b96e>-npegged</font></code>, <code><font color=#b9b96e>-orignorm</font></code>, <code><font color=#b9b96e>-pdata</font></code>, <code><font color=#b9b96e>-resid</font></code>, <code><font color=#b9b96e>-status</font></code>, <code><font color=#b9b96e>-stepfactor</font></code>, <code><font color=#b9b96e>-x</font></code>, <code><font color=#b9b96e>-xerror</font></code>, <code><font color=#b9b96e>-xtol</font></code></p>
<h5 class='ruff'>Properties</h5><p class='ruff'>Readable: <code><font color=#b9b96e>-covtol</font></code>, <code><font color=#b9b96e>-epsfcn</font></code>, <code><font color=#b9b96e>-ftol</font></code>, <code><font color=#b9b96e>-funct</font></code>, <code><font color=#b9b96e>-gtol</font></code>, <code><font color=#b9b96e>-m</font></code>, <code><font color=#b9b96e>-maxfev</font></code>, <code><font color=#b9b96e>-maxiter</font></code>, <code><font color=#b9b96e>-nofinitecheck</font></code>, <code><font color=#b9b96e>-pdata</font></code>, <code><font color=#b9b96e>-results</font></code>, <code><font color=#b9b96e>-stepfactor</font></code>, <code><font color=#b9b96e>-xtol</font></code></p>
<p class='ruff'>Writable: <code><font color=#b9b96e>-covtol</font></code>, <code><font color=#b9b96e>-epsfcn</font></code>, <code><font color=#b9b96e>-ftol</font></code>, <code><font color=#b9b96e>-funct</font></code>, <code><font color=#b9b96e>-gtol</font></code>, <code><font color=#b9b96e>-m</font></code>, <code><font color=#b9b96e>-maxfev</font></code>, <code><font color=#b9b96e>-maxiter</font></code>, <code><font color=#b9b96e>-nofinitecheck</font></code>, <code><font color=#b9b96e>-pdata</font></code>, <code><font color=#b9b96e>-results</font></code>, <code><font color=#b9b96e>-stepfactor</font></code>, <code><font color=#b9b96e>-xtol</font></code></p>
<h5 class='ruff'>Mixins</h5><p class='ruff'><a href="index-tclopt.html#::tclopt::DuplChecker" title="DuplChecker" class='ruff_cmd'>DuplChecker</a></p>
<h4 class='ruffmethod'><a name='::tclopt::Mpfit::constructor'>constructor</a><span class='ns_scope'> [<a href="index-tclopt.html#::tclopt::Mpfit" title="::tclopt::Mpfit" class='ruff_cmd'>::tclopt::Mpfit</a>]</span><span class='ruff-uplink'><a href='index-tclopt.html#::tclopt::Mpfit'>Mpfit</a>, <a href='#top'>Top</a>, <a href='index.html'>Main</a>, <a href='index-docindex.html#'>Index</a></span></h4>
<div style='clear:both;'></div>
Expand Down Expand Up @@ -1403,6 +1403,7 @@ <h5 class='ruff'>Return value</h5><p class='ruff'>dictionary containing resulted
<b><font color=#ffa500>set</font></b> lmparData [<b><font color=#fe6efe>my</font></b> Lmpar <font color=#f1b479>$nfree</font> <font color=#f1b479>$fjac</font> <font color=#f1b479>$ldfjac</font> <font color=#f1b479>$ipvt</font> <font color=#f1b479>$ifree</font> <font color=#f1b479>$diag</font> <font color=#f1b479>$qtf</font> <font color=#f1b479>$delta</font> <font color=#f1b479>$par</font>]
<b><font color=#ffa500>set</font></b> fjac [<b><font color=#ffa500>dget</font></b> <font color=#f1b479>$lmparData</font> r]
<b><font color=#ffa500>set</font></b> par [<b><font color=#ffa500>dget</font></b> <font color=#f1b479>$lmparData</font> par]

<b><font color=#ffa500>set</font></b> wa1 [<b><font color=#ffa500>dget</font></b> <font color=#f1b479>$lmparData</font> x]
<b><font color=#ffa500>set</font></b> wa2 [<b><font color=#ffa500>dget</font></b> <font color=#f1b479>$lmparData</font> sdiag]
<b><font color=#ffa500>set</font></b> wa3 [<b><font color=#ffa500>dget</font></b> <font color=#f1b479>$lmparData</font> wa1]
Expand All @@ -1424,7 +1425,6 @@ <h5 class='ruff'>Return value</h5><p class='ruff'>dictionary containing resulted
<b><font color=#ffa500>set</font></b> lpegged [= {[@ <font color=#f1b479>$qllim</font> <font color=#f1b479>$j</font>] && ([@ <font color=#f1b479>$x</font> <font color=#f1b479>$j</font>]&lt;=[@ <font color=#f1b479>$llim</font> <font color=#f1b479>$j</font>])}]
<b><font color=#ffa500>set</font></b> upegged [= {[@ <font color=#f1b479>$qulim</font> <font color=#f1b479>$j</font>] && ([@ <font color=#f1b479>$x</font> <font color=#f1b479>$j</font>]&gt;=[@ <font color=#f1b479>$ulim</font> <font color=#f1b479>$j</font>])}]
<b><font color=#ffa500>set</font></b> dwa1 [= {abs([@ <font color=#f1b479>$wa1</font> <font color=#f1b479>$j</font>])&gt;<font color=#f1b479>$::tclopt::MP_MACHEP0</font>}]

<b><font color=#ffa500>if</font></b> {<font color=#f1b479>$lpegged</font> && ([@ <font color=#f1b479>$wa1</font> <font color=#f1b479>$j</font>]&lt;0)} {
<b><font color=#ffa500>lset</font></b> wa1 <font color=#f1b479>$j</font> 0
}
Expand Down Expand Up @@ -1654,22 +1654,9 @@ <h5 class='ruff'>Return value</h5><p class='ruff'>dictionary containing resulted
} <b><font color=#ffa500>else</font></b> {
<b><font color=#ffa500>set</font></b> debugOutput <font color=#90ee90>&quot;&quot;</font>
}
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-bestnorm</font> <font color=#f1b479>$bestnorm</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-orignorm</font> <font color=#f1b479>$orignorm</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-status</font> <font color=#f1b479>$info</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-niter</font> <font color=#f1b479>$iter</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-nfev</font> <font color=#f1b479>$nfev</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-npar</font> <font color=#f1b479>$npar</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-nfree</font> <font color=#f1b479>$nfree</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-npegged</font> <font color=#f1b479>$npegged</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-nfunc</font> <font color=#f1b479>$m</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-resid</font> <font color=#f1b479>$resid</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-xerror</font> <font color=#f1b479>$xerror</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-x</font> <font color=#f1b479>$xall</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-debuginfo</font> <font color=#f1b479>$debugOutput</font>
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-covar</font> <font color=#f1b479>$covar</font>

<b><font color=#fe6efe>return</font></b> [<b><font color=#ffa500>dcreate</font></b> bestnorm <font color=#f1b479>$bestnorm</font> orignorm <font color=#f1b479>$orignorm</font> status <font color=#f1b479>$info</font> niter <font color=#f1b479>$iter</font> nfev <font color=#f1b479>$nfev</font> npar <font color=#f1b479>$npar</font> nfree <font color=#f1b479>$nfree</font> npegged <font color=#f1b479>$npegged</font> nfunc <font color=#f1b479>$m</font> resid <font color=#f1b479>$resid</font> xerror <font color=#f1b479>$xerror</font> x <font color=#f1b479>$xall</font> debug <font color=#f1b479>$debugOutput</font> covar <font color=#f1b479>$covar</font>]
<b><font color=#ffa500>set</font></b> resDict [<b><font color=#ffa500>dcreate</font></b> bestnorm <font color=#f1b479>$bestnorm</font> orignorm <font color=#f1b479>$orignorm</font> status <font color=#f1b479>$info</font> niter <font color=#f1b479>$iter</font> nfev <font color=#f1b479>$nfev</font> npar <font color=#f1b479>$npar</font> nfree <font color=#f1b479>$nfree</font> npegged <font color=#f1b479>$npegged</font> nfunc <font color=#f1b479>$m</font> resid <font color=#f1b479>$resid</font> xerror <font color=#f1b479>$xerror</font> x <font color=#f1b479>$xall</font> debug <font color=#f1b479>$debugOutput</font> covar <font color=#f1b479>$covar</font>]
<b><font color=#fe6efe>my</font></b> configure <font color=#b9b96e>-results</font> <font color=#f1b479>$resDict</font>
<b><font color=#fe6efe>return</font></b> <font color=#f1b479>$resDict</font>
}</pre></div>
</div><h3 class='ruffclass'><a name='::tclopt::Parameter'>Parameter</a><span class='ns_scope'> [<a href="index-tclopt.html#::tclopt" title="::tclopt" class='ruff_cmd'>::tclopt</a>]</span><span class='ruff-uplink'><a href='#top'>Top</a>, <a href='index.html'>Main</a>, <a href='index-docindex.html#'>Index</a></span></h3>
<div style='clear:both;'></div>
Expand Down
4 changes: 2 additions & 2 deletions docs/tclopt-tclopt.n
Original file line number Diff line number Diff line change
Expand Up @@ -284,9 +284,9 @@ Runs optimization\&.
.PP
\fBProperties\fR
.PP
Readable: -bestnorm, -covar, -covtol, -debuginfo, -epsfcn, -ftol, -funct, -gtol, -m, -maxfev, -maxiter, -nfev, -nfree, -nfunc, -niter, -nofinitecheck, -npar, -npegged, -orignorm, -pdata, -resid, -status, -stepfactor, -x, -xerror, -xtol
Readable: -covtol, -epsfcn, -ftol, -funct, -gtol, -m, -maxfev, -maxiter, -nofinitecheck, -pdata, -results, -stepfactor, -xtol
.PP
Writable: -bestnorm, -covar, -covtol, -debuginfo, -epsfcn, -ftol, -funct, -gtol, -m, -maxfev, -maxiter, -nfev, -nfree, -nfunc, -niter, -nofinitecheck, -npar, -npegged, -orignorm, -pdata, -resid, -status, -stepfactor, -x, -xerror, -xtol
Writable: -covtol, -epsfcn, -ftol, -funct, -gtol, -m, -maxfev, -maxiter, -nofinitecheck, -pdata, -results, -stepfactor, -xtol
.PP
\fBMixins\fR
.PP
Expand Down
39 changes: 6 additions & 33 deletions tclopt.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -562,22 +562,8 @@ oo::configurable create ::tclopt::Mpfit {
return $nofinitecheck
}
property pdata
property bestnorm
property orignorm
property status
property niter
property nfev
property npar
property nfree
property npegged
property nfunc
property resid
property xerror
property x
property debuginfo
property covar
variable funct m ftol xtol gtol stepfactor covtol maxiter maxfev epsfcn nofinitecheck pdata bestnorm orignorm status\
niter nfev npar nfree npegged nfunc resid xerror x debuginfo covar
property results
variable funct m ftol xtol gtol stepfactor covtol maxiter maxfev epsfcn nofinitecheck pdata results
variable Pars
method getAllParsNames {} {
# Gets names of all parameters.
Expand Down Expand Up @@ -1087,6 +1073,7 @@ oo::configurable create ::tclopt::Mpfit {
set lmparData [my Lmpar $nfree $fjac $ldfjac $ipvt $ifree $diag $qtf $delta $par]
set fjac [dget $lmparData r]
set par [dget $lmparData par]

set wa1 [dget $lmparData x]
set wa2 [dget $lmparData sdiag]
set wa3 [dget $lmparData wa1]
Expand All @@ -1108,7 +1095,6 @@ oo::configurable create ::tclopt::Mpfit {
set lpegged [= {[@ $qllim $j] && ([@ $x $j]<=[@ $llim $j])}]
set upegged [= {[@ $qulim $j] && ([@ $x $j]>=[@ $ulim $j])}]
set dwa1 [= {abs([@ $wa1 $j])>$::tclopt::MP_MACHEP0}]

if {$lpegged && ([@ $wa1 $j]<0)} {
lset wa1 $j 0
}
Expand Down Expand Up @@ -1340,24 +1326,11 @@ oo::configurable create ::tclopt::Mpfit {
} else {
set debugOutput ""
}
my configure -bestnorm $bestnorm
my configure -orignorm $orignorm
my configure -status $info
my configure -niter $iter
my configure -nfev $nfev
my configure -npar $npar
my configure -nfree $nfree
my configure -npegged $npegged
my configure -nfunc $m
my configure -resid $resid
my configure -xerror $xerror
my configure -x $xall
my configure -debuginfo $debugOutput
my configure -covar $covar

return [dcreate bestnorm $bestnorm orignorm $orignorm status $info niter $iter nfev $nfev npar $npar\
set resDict [dcreate bestnorm $bestnorm orignorm $orignorm status $info niter $iter nfev $nfev npar $npar\
nfree $nfree npegged $npegged nfunc $m resid $resid xerror $xerror x $xall debug $debugOutput\
covar $covar]
my configure -results $resDict
return $resDict
}
method Fdjac2 {funct m ifree n x fvec ldfjac epsfcn pdata nfev step dstep dside qulimited ulimit ddebug\
ddrtol ddatol} {
Expand Down

0 comments on commit ffa6aa4

Please sign in to comment.