[Pkg-octave-devel] Bug#393495: [Potorti@isti.cnr.it: Bug#393495: octave-forge: help of leasqr need improvements]

Rafael Laboissiere rafael at debian.org
Sun Oct 22 12:00:53 CEST 2006


package octave-forge
tags 393495 upstream
thanks

I am forwarding below a bug report filed against the octave-forge Debian
package, regarding the documentation for the leasqr function.  Please, tell
me if you think this patch is okay.  Since I am a member of the octave
project at SF, I can apply the patch to CVS if you wish.

For your convenience, I am attaching below a file containing the patch.
[BTW, Francisco, the next time please attach a stand-alone file with the
patch.  It makes things easier.]

Rafael


----- Forwarded message from Francesco Potorti` <Potorti at isti.cnr.it> -----

From: Francesco Potorti` <Potorti at isti.cnr.it>
Subject: [Pkg-octave-devel] Bug#393495: octave-forge: help of leasqr need
	improvements
Date: Mon, 16 Oct 2006 17:49:45 +0200
To: Debian Bug Tracking System <maintonly at bugs.debian.org>
Reply-To: Francesco Potorti` <Potorti at isti.cnr.it>,
	393495-maintonly at bugs.debian.org
Organization: Debian GNU/Linux
Message-id: <E1GZUin-0003kU-1e at tucano.isti.cnr.it>

Package: octave-forge
Version: 2006.07.09+dfsg1-2
Severity: minor

I suggest these improvements to the leasqr help test, which make the
text more consistent and readable and add some information.

--- leasqr.m~	2006-10-16 17:28:25.000000000 +0200
+++ leasqr.m	2006-10-16 17:48:43.000000000 +0200
@@ -22,24 +22,30 @@ function [f,p,kvg,iter,corp,covp,covr,st
 % Levenberg-Marquardt nonlinear regression of f(x,p) to y(x).
 %
 % Version 3.beta
-%  {}= optional parameters
-% x=vec or mat of indep variables, 1 row/observation: x=[x0 x1....xm]
-% y=vec of obs values, same no. of rows as x.
-% wt=vec(dim=length(x)) of statistical weights.  These should be set
-%   to be proportional to (sqrt of var(y))^-1; (That is, the covariance
-%   matrix of the data is assumed to be proportional to diagonal with diagonal
-%   equal to (wt.^2)^-1.  The constant of proportionality will be estimated.),
-%   default=ones(length(y),1).
-% pin=vector of initial parameters to be adjusted by leasqr.
-% dp=fractional incr of p for numerical partials,default= .001*ones(size(pin))
-%   dp(j)>0 means central differences.
-%   dp(j)<0 means one-sided differences.
-% Note: dp(j)=0 holds p(j) fixed i.e. leasqr wont change initial guess: pin(j)
-% F=name of function in quotes,of the form y=f(x,p)
-% dFdp=name of partials M-file in quotes default is prt=dfdp(x,f,p,dp,F)
-% stol=scalar tolerances on fractional improvement in ss,default stol=.0001
-% niter=scalar max no. of iterations, default = 20
-% options=matrix of n rows (same number of rows as pin) containing
+% Optional parameters are in braces {}.
+% x = column vector or matrix of independent variables, 1 row per
+%   observation: x = [x0 x1....xm].
+% y = column vector of observed values, same number of rows as x.
+% wt = column vector (dim=length(x)) of statistical weights.  These
+%   should be set to be proportional to (sqrt of var(y))^-1; (That is,
+%   the covariance matrix of the data is assumed to be proportional to
+%   diagonal with diagonal equal to (wt.^2)^-1.  The constant of
+%   proportionality will be estimated.); default = ones(length(y),1).
+% pin = column vec of initial parameters to be adjusted by leasqr.
+% dp = fractional increment of p for numerical partial derivatives;
+%   default = .001*ones(size(pin))
+%   dp(j) > 0 means central differences on j-th parameter p(j).
+%   dp(j) < 0 means one-sided differences on j-th parameter p(j).
+%   dp(j) = 0 holds p(j) fixed i.e. leasqr wont change initial guess: pin(j)
+% F = name of function in quotes; the function shall be of the form y=f(x,p),
+%   with y, x, p of the form y, x, pin as described above.
+% dFdp = name of partial derivative function in quotes; default is "dfdp", a
+%   slow but general partial derivatives function; the function shall be
+%   of the form prt=dfdp(x,f,p,dp,F) (see dfdp.m).
+% stol = scalar tolerance on fractional improvement in scalar sum of
+%   squares = sum((wt.*(y-f))^2); default stol = .0001;
+% niter = scalar maximum number of iterations; default = 20;
+% options = matrix of n rows (same number of rows as pin) containing
 %   column 1: desired fractional precision in parameter estimates.
 %     Iterations are terminated if change in parameter vector (chg) on two
 %     consecutive iterations is less than their corresponding elements
@@ -52,16 +58,16 @@ function [f,p,kvg,iter,corp,covp,covr,st
 %     default = Inf*ones().
 %
 %          OUTPUT VARIABLES
-% f=vec function values computed in function func.
-% p=vec trial or final parameters. i.e, the solution.
-% kvg=scalar: =1 if convergence, =0 otherwise.
-% iter=scalar no. of interations used.
-% corp= correlation matrix for parameters
-% covp= covariance matrix of the parameters
-% covr = diag(covariance matrix of the residuals)
-% stdresid= standardized residuals
-% Z= matrix that defines confidence region
-% r2= coefficient of multiple determination
+% f = column vector of values computed: f = F(x,p).
+% p = column vector trial or final parameters. i.e, the solution.
+% kvg = scalar: = 1 if convergence, = 0 otherwise.
+% iter = scalar number of iterations used.
+% corp = correlation matrix for parameters.
+% covp = covariance matrix of the parameters.
+% covr = diag(covariance matrix of the residuals).
+% stdresid = standardized residuals.
+% Z = matrix that defines confidence region (see comments in the source).
+% r2 = coefficient of multiple determination.
 %
 % All Zero guesses not acceptable
 
@@ -113,7 +119,7 @@ function [f,p,kvg,iter,corp,covp,covr,st
 %       8) Change to more efficent algorithm of Bard for selecting epsL.
 %       9) Tighten up memory usage by making use of sparse matrices (if
 %          MATLAB version >= 4.0) in computation of covp, corp, stdresid.
-% Modified by Francesco Potorti
+% Modified by Francesco Potortì
 %       for use in Octave
 %
 % References:


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-proposed-updates')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-amd64-k8-smp
Locale: LANG=C, LC_CTYPE=it_IT at euro (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)

Versions of packages octave-forge depends on:
ii  octave2.1-forge       2006.03.17+dfsg1-1 Contributed functions from the GNU

octave-forge recommends no packages.

-- no debconf information



_______________________________________________
Pkg-octave-devel mailing list
Pkg-octave-devel at lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-octave-devel


----- End forwarded message -----

-- 
Rafael
-------------- next part --------------
--- leasqr.m-orig	2006-10-22 11:06:41.000000000 +0200
+++ leasqr.m	2006-10-22 11:29:12.000000000 +0200
@@ -22,24 +22,30 @@
 % Levenberg-Marquardt nonlinear regression of f(x,p) to y(x).
 %
 % Version 3.beta
-%  {}= optional parameters
-% x=vec or mat of indep variables, 1 row/observation: x=[x0 x1....xm]
-% y=vec of obs values, same no. of rows as x.
-% wt=vec(dim=length(x)) of statistical weights.  These should be set
-%   to be proportional to (sqrt of var(y))^-1; (That is, the covariance
-%   matrix of the data is assumed to be proportional to diagonal with diagonal
-%   equal to (wt.^2)^-1.  The constant of proportionality will be estimated.),
-%   default=ones(length(y),1).
-% pin=vector of initial parameters to be adjusted by leasqr.
-% dp=fractional incr of p for numerical partials,default= .001*ones(size(pin))
-%   dp(j)>0 means central differences.
-%   dp(j)<0 means one-sided differences.
-% Note: dp(j)=0 holds p(j) fixed i.e. leasqr wont change initial guess: pin(j)
-% F=name of function in quotes,of the form y=f(x,p)
-% dFdp=name of partials M-file in quotes default is prt=dfdp(x,f,p,dp,F)
-% stol=scalar tolerances on fractional improvement in ss,default stol=.0001
-% niter=scalar max no. of iterations, default = 20
-% options=matrix of n rows (same number of rows as pin) containing 
+% Optional parameters are in braces {}.
+% x = column vector or matrix of independent variables, 1 row per
+%   observation: x = [x0 x1....xm].
+% y = column vector of observed values, same number of rows as x.
+% wt = column vector (dim=length(x)) of statistical weights.  These
+%   should be set to be proportional to (sqrt of var(y))^-1; (That is,
+%   the covariance matrix of the data is assumed to be proportional to
+%   diagonal with diagonal equal to (wt.^2)^-1.  The constant of
+%   proportionality will be estimated.); default = ones(length(y),1).
+% pin = column vec of initial parameters to be adjusted by leasqr.
+% dp = fractional increment of p for numerical partial derivatives;
+%   default = .001*ones(size(pin))
+%   dp(j) > 0 means central differences on j-th parameter p(j).
+%   dp(j) < 0 means one-sided differences on j-th parameter p(j).
+%   dp(j) = 0 holds p(j) fixed i.e. leasqr wont change initial guess: pin(j)
+% F = name of function in quotes; the function shall be of the form y=f(x,p),
+%   with y, x, p of the form y, x, pin as described above.
+% dFdp = name of partial derivative function in quotes; default is "dfdp", a
+%   slow but general partial derivatives function; the function shall be
+%   of the form prt=dfdp(x,f,p,dp,F) (see dfdp.m).
+% stol = scalar tolerance on fractional improvement in scalar sum of
+%   squares = sum((wt.*(y-f))^2); default stol = .0001;
+% niter = scalar maximum number of iterations; default = 20;
+% options = matrix of n rows (same number of rows as pin) containing
 %   column 1: desired fractional precision in parameter estimates.
 %     Iterations are terminated if change in parameter vector (chg) on two
 %     consecutive iterations is less than their corresponding elements
@@ -52,16 +58,16 @@
 %     default = Inf*ones().
 %
 %          OUTPUT VARIABLES
-% f=vec function values computed in function func.
-% p=vec trial or final parameters. i.e, the solution.
-% kvg=scalar: =1 if convergence, =0 otherwise.
-% iter=scalar no. of interations used.
-% corp= correlation matrix for parameters
-% covp= covariance matrix of the parameters
-% covr = diag(covariance matrix of the residuals)
-% stdresid= standardized residuals
-% Z= matrix that defines confidence region
-% r2= coefficient of multiple determination
+% f = column vector of values computed: f = F(x,p).
+% p = column vector trial or final parameters. i.e, the solution.
+% kvg = scalar: = 1 if convergence, = 0 otherwise.
+% iter = scalar number of iterations used.
+% corp = correlation matrix for parameters.
+% covp = covariance matrix of the parameters.
+% covr = diag(covariance matrix of the residuals).
+% stdresid = standardized residuals.
+% Z = matrix that defines confidence region (see comments in the source).
+% r2 = coefficient of multiple determination.
 %
 % All Zero guesses not acceptable
 
@@ -113,7 +119,7 @@
 %       8) Change to more efficent algorithm of Bard for selecting epsL.
 %       9) Tighten up memory usage by making use of sparse matrices (if 
 %          MATLAB version >= 4.0) in computation of covp, corp, stdresid.
-% Modified by Francesco Potorti
+% Modified by Francesco Potortì
 %       for use in Octave
 %
 % References:


More information about the Pkg-octave-devel mailing list