Commit ee20dbfc authored by Sylvestre Ledru's avatar Sylvestre Ledru

adopt of minpack in debian science

parents
#!/usr/bin/make
# Execute this script to extract the examples from the MINPACK
# documentation
# (/usr/share/doc/minpack-dev/minpack-documentation.txt.gz) and
# compile and run them. It also extracts the numerical results from
# the documentation and writes them to the file "documented". You may
# compare those results with those printed by this script.
PGM= thybrd1 thybrd thybrj1 thybrj tlmder1 tlmder tlmstr1 tlmstr \
tlmdif1 tlmdif tchkder
CPGM=$(patsubst t%,tc%,$(PGM)) # tchybrd1 ...
SRC=$(addsuffix .f,$(PGM)) # thybrd1.f ...
CSRC=$(addsuffix .c,$(PGM)) # thybrd1.c ...
all: ctest ftest documented
ctest: ${CPGM}
echo "--- C driver programs ---"
for x in ${CPGM}; do echo $$x; ./$$x; done
ftest: ${PGM}
echo "--- FORTRAN driver programs ---"
for x in ${PGM}; do echo $$x; ./$$x; done
${SRC} documented: /usr/share/doc/minpack-dev/minpack-documentation.txt.gz
rm -f documented
zcat $< | awk ' \
/DRIVER FOR [A-Z1]+ EXAMPLE/{ \
pgm=tolower($$4); \
oname="t" pgm ".f"; \
$$0 = substr($$0,3); \
print >oname; \
do { \
getline; $$0 = substr($$0,3); \
if (!/^ +Page$$/) print >>oname; \
} \
while (!/LAST CARD OF SUBROUTINE FCN/); \
getline; $$0 = substr($$0,3); print >>oname; \
getline; $$0 = substr($$0,3); print >>oname; \
} \
/may be slightly different/||/machine dependent/{ \
print pgm >>"documented"; \
while (getline) { \
$$0 = substr($$0,3); \
if (/Documentation/) break; \
if (!/^ +Page$$/ && !/^ *$$/) print >>"documented"; \
} \
}'
tchkder: tchkder.f
gfortran -o $@ $< -lminpack
thybrd: thybrd.f
gfortran -o $@ $< -lminpack
thybrd1: thybrd1.f
gfortran -o $@ $< -lminpack
thybrj: thybrj.f
gfortran -o $@ $< -lminpack
thybrj1: thybrj1.f
gfortran -o $@ $< -lminpack
tlmder: tlmder.f
gfortran -o $@ $< -lminpack
tlmder1: tlmder1.f
gfortran -o $@ $< -lminpack
tlmdif: tlmdif.f
gfortran -o $@ $< -lminpack
tlmdif1: tlmdif1.f
gfortran -o $@ $< -lminpack
tlmstr: tlmstr.f
gfortran -o $@ $< -lminpack
tlmstr1: tlmstr1.f
gfortran -o $@ $< -lminpack
tcchkder: tchkder.c
gfortran -o $@ $< -lminpack -lm
tchybrd: thybrd.c
gfortran -o $@ $< -lminpack -lm
tchybrd1: thybrd1.c
gfortran -o $@ $< -lminpack -lm
tchybrj: thybrj.c
gfortran -o $@ $< -lminpack -lm
tchybrj1: thybrj1.c
gfortran -o $@ $< -lminpack -lm
tclmder: tlmder.c
gfortran -o $@ $< -lminpack -lm
tclmder1: tlmder1.c
gfortran -o $@ $< -lminpack -lm
tclmdif: tlmdif.c
gfortran -o $@ $< -lminpack -lm
tclmdif1: tlmdif1.c
gfortran -o $@ $< -lminpack -lm
tclmstr: tlmstr.c
gfortran -o $@ $< -lminpack -lm
tclmstr1: tlmstr1.c
gfortran -o $@ $< -lminpack -lm
minpack for Debian
------------------
These libraries are compiled from unchanged FORTRAN files downloaded
from netlib.
Since these are from FORTRAN files:
- Use g77 to compile programs to be linked against the library, even
if only C files are being compiled. (Otherwise the linker will not be
able to find the needed functions from the FORTRAN library).
- When calling from C, all parameters must be pointers.
- Two dimensional arrays are stored by column rather than by row.
For an explanation of how the programs work, see
/usr/share/doc/minpack-dev/minpack-documentation.txt
-- Jim Van Zandt <jrv@debian.org>, Fri, 22 Feb 2002 20:29:59 -0500
minpack (19961126+dfsg1-1) unstable; urgency=low
* Team upload.
* Correct repack of the archive
* Adopt package in the Debian Science team (Closes: #636413)
* Standards-Version updated to version 3.9.2
* Switch to dpkg-source 3.0 (quilt) format
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 03 Aug 2011 22:10:31 +0200
minpack (19961126-16) unstable; urgency=low
* minpack.h: add guards for C++ compilers (thanks to Rene Wagner
<rw@nelianur.org>, Closes:Bug#527627)
* debian/control: bump version to 3.8.1 (no changes needed)
-- James R. Van Zandt <jrv@debian.org> Sat, 23 May 2009 16:06:41 -0400
minpack (19961126-15) unstable; urgency=low
* revise man page (thanks to Jörgen Tegner, jorgen.tegner@telia.com,
Closes:#510510)
* debian/Makefile: update selftest script to extract numerical results
from documentation.
-- James R. Van Zandt <jrv@debian.org> Sat, 03 Jan 2009 09:58:26 -0500
minpack (19961126-14) unstable; urgency=low
* recompile with gfortran 4.3.2 (Closes:#509278). Update "missing"
script.
* debian/doc-base: move documentation to section Science/Mathematics, to
comply with new policy.
* debian/rules: parse DEB_BUILD_OPTIONS
* debian/control: bump policy version to 3.8.0
-- James R. Van Zandt <jrv@debian.org> Sat, 20 Dec 2008 12:49:38 -0500
minpack (19961126-13) unstable; urgency=low
* Replace copyright notice (thanks to Bernd Zeimetz <bzed@debian.org>,
closes:Bug#488299)
* bumped policy version to 3.7.3 (no changes needed).
-- James R. Van Zandt <jrv@debian.org> Mon, 07 Jul 2008 09:23:08 -0400
minpack (19961126-12) unstable; urgency=low
* switch to gfortran (thanks to Aurelien Jarno <aurel32@debian.org>,
closes:Bug#430181)
* debian/rules: set DH_COMPAT in debian/compat, not in debian/rules
* debian/rules: catch errors in "make distclean"
* debian/control: Source-Version -> binary:Version
-- James R. Van Zandt <jrv@debian.org> Mon, 16 Jul 2007 21:12:58 -0400
minpack (19961126-11) unstable; urgency=low
* configure.in: don't require automake or autoconf (thanks to Emanuele
Rocca <ema@debian.org>, closes:bug#394475,#395984)
-- James R. Van Zandt <jrv@debian.org> Mon, 30 Oct 2006 20:10:10 -0500
minpack (19961126-10) unstable; urgency=low
* debian/control: don't depend on automake or autoconf (not needed for
building, closes:bug#394475)
* debian/Makefile: Note that the minpack documentation includes sample
numerical results.
* config.guess, config.sub: update to version of 2006-07-02
-- James R. Van Zandt <jrv@debian.org> Sat, 28 Oct 2006 10:05:31 -0400
minpack (19961126-9) unstable; urgency=low
* minpack.h: fix spelling fjac->fjec to match the code.
* lmstr_.3: fix parameter list to match the code (thanks to Dennis Furey
<dennis@basis.uklinux.net>, closes:Bug#385632)
* debian/rules: bumped debhelper compat level to 5
* debian/control: bumped debhelper depends version 5, added
${misc:Depends}, bumped policy version to 3.7.2 (no changes needed).
-- James R. Van Zandt <jrv@debian.org> Mon, 4 Sep 2006 10:35:53 -0400
minpack (19961126-8) unstable; urgency=low
* rebuild with updated libtool (thanks to Aurelien Jarno
<aurel32@debian.org>, closes:Bug#331450)
-- James R. Van Zandt <jrv@debian.org> Sun, 16 Oct 2005 16:31:45 -0400
minpack (19961126-7) unstable; urgency=low
* Fix package renaming (thanks to Aurelien Jarno <aurel32@debian.org>,
closes:Bug#331449)
-- James R. Van Zandt <jrv@debian.org> Sun, 16 Oct 2005 16:20:26 -0400
minpack (19961126-6) unstable; urgency=low
* Move doc-base registration from math to Apps/Math (closes:Bug#329962)
* Makefile.am: Add to link flags: -D_REENTRANT,Wl,-z,defs per policy 10.2.
* debian/control: Policy version 3.6.2. Changed runtime library
package name from "minpack1" to "libminpack1".
-- James R. Van Zandt <jrv@debian.org> Sat, 24 Sep 2005 22:44:08 -0400
minpack (19961126-5) unstable; urgency=low
* debian/copyright: add upstream author email (with his permission).
* /usr/share/doc/minpack-dev/examples/Makefile: C test programs generate
binaries with names starting "tc".
-- James R. Van Zandt <jrv@debian.org> Wed, 17 Apr 2002 19:52:42 -0400
minpack (19961126-4) unstable; urgency=low
* debian/control: build-depend on autoconf and automake
time. (closes:Bug#140689)
-- James R. Van Zandt <jrv@debian.org> Fri, 12 Apr 2002 20:41:46 -0400
minpack (19961126-3) unstable; urgency=low
* debian/rules: upload the fixed version this time (closes:Bug#139552)
-- James R. Van Zandt <jrv@debian.org> Fri, 29 Mar 2002 22:05:44 -0500
minpack (19961126-2) unstable; urgency=low
* debian/rules: since configure is added by the patch, we have to
specifically give it execute permissions (closes:Bug#139552)
-- James R. Van Zandt <jrv@debian.org> Sat, 23 Mar 2002 12:19:52 -0500
minpack (19961126-1) unstable; urgency=low
* Initial Release.
* autoconfiscated, automakified, and libtoolized the sources.
* Added man pages for primary routines.
* Added C header files for primary routines.
* Reconstructed column 72 of ex/file06 from context.
-- James R. Van Zandt <jrv@debian.org> Fri, 22 Feb 2002 20:29:59 -0500
Source: minpack
Section: devel
Priority: optional
Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Build-Depends: debhelper (>> 5.0.0), gfortran, libtool
Standards-Version: 3.9.2
Homepage: http://www.netlib.org/minpack/
Vcs-Svn: svn://svn.debian.org/svn/debian-science/packages/minpack/trunk/
Vcs-Browser: http://svn.debian.org/viewsvn/debian-science/packages/minpack/trunk/
Package: minpack-dev
Architecture: any
Depends: libminpack1 (= ${binary:Version}), libc6-dev,${misc:Depends}
Description: nonlinear equations and nonlinear least squares static library
Minpack includes software for solving nonlinear equations and
nonlinear least squares problems. Five algorithmic paths each include
a core subroutine and an easy-to-use driver. The algorithms proceed
either from an analytic specification of the Jacobian matrix or
directly from the problem functions. The paths include facilities for
systems of equations with a banded Jacobian matrix, for least squares
problems with a large amount of data, and for checking the consistency
of the Jacobian matrix with the functions.
.
This package provides the headers, man pages, examples, and static library.
Package: libminpack1
Architecture: any
Depends: ${shlibs:Depends},${misc:Depends}
Replaces: minpack1
Conflicts: minpack1
Description: nonlinear equations and nonlinear least squares shared library
Minpack includes software for solving nonlinear equations and
nonlinear least squares problems. Five algorithmic paths each include
a core subroutine and an easy-to-use driver. The algorithms proceed
either from an analytic specification of the Jacobian matrix or
directly from the problem functions. The paths include facilities for
systems of equations with a banded Jacobian matrix, for least squares
problems with a large amount of data, and for checking the consistency
of the Jacobian matrix with the functions.
.
This package provides the shared library.
This package was debianized by Jim Van Zandt <jrv@debian.org> on
Fri, 22 Feb 2002.
The source code was downloaded from http://ftp.netlib.org/minpack
The copyright notice was downloaded from
http://ftp.netlib.org/minpack/disclaimer
Upstream Authors:
Jorge More' <more@mcs.anl.gov>, Burt Garbow, and Ken Hillstrom at
Argonne National Laboratory.
Copyright:
Minpack Copyright Notice (1999) University of Chicago. All rights reserved
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the following
disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.
3. The end-user documentation included with the
redistribution, if any, must include the following
acknowledgment:
"This product includes software developed by the
University of Chicago, as Operator of Argonne National
Laboratory.
Alternately, this acknowledgment may appear in the software
itself, if and wherever such third-party acknowledgments
normally appear.
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
BE CORRECTED.
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.
usr/bin
usr/sbin
Document: minpack
Title: Documentation for MINPACK
Author: Burton S. Garbow, Kenneth E. Hillstrom, Jorge J. More
Abstract: This file documents MINPACK. For each routine, it supplies
the calling sequence, a simple example and its expected output, and an
explanation of the numerical methods used.
Section: Science/Mathematics
Format: text
Files: /usr/share/doc/minpack-dev/minpack-documentation.txt.gz
#!/usr/bin/awk -f
# extract - extract example drivers from minpack documentation file
/DRIVER FOR [A-Z1]+ EXAMPLE/{
pgm=tolower($4);
oname="t" pgm ".f";
$0 = substr($0,3);
print >oname;
do {
getline; $0 = substr($0,3);
if (!/^ +Page$/) print >>oname;
}
while (!/LAST CARD OF SUBROUTINE FCN/);
getline; $0 = substr($0,3); print >>oname;
getline; $0 = substr($0,3); print >>oname;
}
.so man3/hybrd_.3
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH HYBRD_ 3 "March 8, 2002" Minpack
.\" Please adjust this date whenever revising the manpage.
.SH NAME
hybrd_, hybrd1_ \- find a zero of a system of nonlinear function
.SH SYNOPSIS
.B #include <minpack.h>
.sp
.nh
.ad l
.HP 28
.BI "void hybrd1_ ( "
.BI "void (*" fcn ")("
.BI "int *" n ,
.BI "double *" x ,
.br
.BI "double *" fvec ,
.BI "int *" iflag ),
.RS 15
.BI "int *" n ,
.BI "double *" x ,
.BI "double *" fvec ,
.br
.BI "double *" tol ,
.BI "int *" info ,
.BI "double *" wa ,
.br
.BI "int *" lwa );
.RE
.HP 27
.BI "void hybrd_"
.BI "( void (*" fcn ")("
.BI "int * " n ,
.BI "double *" x ,
.br
.BI "double *" fvec ,
.BI "int *" iflag ),
.RS 14
.BI "int *" n ,
.BI "double *" x ,
.BI "double *" fvec ,
.br
.BI "double *" xtol ,
.BI "int *" maxfev ,
.BI "int *" ml ,
.BI "int *" mu ,
.br
.BI "double *" epsfcn ,
.BI "double *" diag ,
.BI "int *" mode ,
.BI "double *" factor ,
.BI "int *" nprint ,
.BI "int *" info ,
.br
.BI "int *" nfev ,
.BI "double *" fjac ,
.BI "int *" ldfjac ,
.br
.BI "double *" r ,
.BI "int *" lr ,
.BI "double *" qtf ,
.br
.BI "double *" wa1 ,
.BI "double *" wa2 ,
.BI "double *" wa3 ,
.BI "double *" wa4 );
.RE
.hy
.ad b
.br
.SH DESCRIPTION
The purpose of \fBhybrd_\fP is to find a zero of a system of
\fIn\fP nonlinear functions in \fIn\fP variables by a modification
of the Powell hybrid method. The user must provide a
subroutine which calculates the functions. The Jacobian is
then calculated by a forward-difference approximation.
.PP
\fBhybrd1_\fP serves the same function but has a simplified calling
sequence.
.br
.SS Language notes
\fBhybrd_\fP and \fBhybrd1_\fP are written in FORTRAN. If calling from
C, keep these points in mind:
.TP
Name mangling.
With \fBg77\fP version 2.95 or 3.0, all the function names end in an
underscore. This may change with future versions of \fBg77\fP.
.TP
Compile with \fBg77\fP.
Even if your program is all C code, you should link with \fBg77\fP
so it will pull in the FORTRAN libraries automatically. It's easiest
just to use \fBg77\fP to do all the compiling. (It handles C just fine.)
.TP
Call by reference.
All function parameters must be pointers.
.TP
Column-major arrays.
Suppose a function returns an array with 5 rows and 3 columns in an
array \fIz\fP and in the call you have declared a leading dimension of
7. The FORTRAN and equivalent C references are:
.sp
.nf
z(1,1) z[0]
z(2,1) z[1]
z(5,1) z[4]
z(1,2) z[7]
z(1,3) z[14]
z(i,j) z[(i-1) + (j-1)*7]
.fi
.SS Parameters for both functions
\fIfcn\fP is the name of the user-supplied subroutine which calculates
the functions. In FORTRAN, \fIfcn\fP must be declared in an external
statement in the user calling program, and should be written as
follows:
.sp
.nf
subroutine fcn(n,x,fvec,iflag)
integer n,iflag
double precision x(n),fvec(n)
----------
calculate the functions at x and
return this vector in fvec.
---------
return
end
.fi
.sp
.sp
In C, \fIfcn\fP should be written as follows:
.sp
.nf
void fcn(int n, double *x, double *fvec, int *iflag)
{
/* calculate the functions at x and
return this vector in fvec. */
}
.fi
.sp
The value of \fIiflag\fP should not be changed by \fIfcn\fP unless
the user wants to terminate execution of \fBhybrd_\fP.
In this case set \fIiflag\fP to a negative integer.
\fIn\fP is a positive integer input variable set to the number
of functions and variables.
\fIx\fP is an array of length \fIn\fP. On input \fIx\fP must contain
an initial estimate of the solution vector. On output \fIx\fP
contains the final estimate of the solution vector.
\fIfvec\fP is an output array of length \fIn\fP which contains
the functions evaluated at the output \fIx\fP.
.br
.SS Parameters for \fBhybrd1_\fP
\fItol\fP is a nonnegative input variable. Termination occurs
when the algorithm estimates that the relative error
between \fIx\fP and the solution is at most \fItol\fP.
\fIinfo\fP is an integer output variable. If the user has
terminated execution, \fIinfo\fP is set to the (negative)
value of \fIiflag\fP. See description of \fIfcn\fP. Otherwise,
\fIinfo\fP is set as follows.
\fIinfo\fP = 0 improper input parameters.
\fIinfo\fP = 1 algorithm estimates that the relative error
between \fIx\fP and the solution is at most \fItol\fP.
\fIinfo\fP = 2 number of calls to fcn has reached or exceeded
200*(\fIn\fP+1).
\fIinfo\fP = 3 \fItol\fP is too small. No further improvement in
the approximate solution \fIx\fP is possible.
\fIinfo\fP = 4 iteration is not making good progress.
\fIwa\fP is a work array of length \fIlwa\fP.
\fIlwa\fP is a positive integer input variable not less than
(\fIn\fP*(3*\fIn\fP+13))/2.
.br
.SS Parameters for \fBhybrd_\fP
\fIxtol\fP is a nonnegative input variable. Termination
occurs when the relative error between two consecutive
iterates is at most \fIxtol\fP.
\fImaxfev\fP is a positive integer input variable. Termination
occurs when the number of calls to \fIfcn\fP is at least \fImaxfev\fP
by the end of an iteration.
\fIml\fP is a nonnegative integer input variable which specifies
the number of subdiagonals within the band of the
jacobian matrix. If the Jacobian is not banded, set
\fIml\fP to at least \fIn\fP - 1.
\fImu\fP is a nonnegative integer input variable which specifies
the number of superdiagonals within the band of the
jacobian matrix. If the jacobian is not banded, set
mu to at least \fIn\fP - 1.
\fIepsfcn\fP is an input variable used in determining a suitable
step length for the forward-difference approximation. This
approximation assumes that the relative errors in the
functions are of the order of \fIepsfcn\fP. If \fIepsfcn\fP is less
than the machine precision, it is assumed that the relative
errors in the functions are of the order of the machine
precision.
\fIdiag\fP is an array of length \fIn\fP. If \fImode\fP = 1 (see
below), \fIdiag\fP is internally set. If \fImode\fP = 2, \fIdiag\fP
must contain positive entries that serve as
multiplicative scale factors for the variables.
\fImode\fP is an integer input variable. If \fImode\fP = 1, the
variables will be scaled internally. If \fImode\fP = 2,
the scaling is specified by the input \fIdiag\fP. Other
values of mode are equivalent to \fImode\fP = 1.
\fIfactor\fP is a positive input variable used in determining the
initial step bound. This bound is set to the product of
\fIfactor\fP and the euclidean norm of diag*x if nonzero, or else
to \fIfactor\fP itself. In most cases factor should lie in the
interval (.1,100.). 100. Is a generally recommended value.
\fInprint\fP is an integer input variable that enables controlled
printing of iterates if it is positive. In this case,
\fIfcn\fP is called with \fIiflag\fP = 0 at the beginning of the first
iteration and every nprint iterations thereafter and
immediately prior to return, with \fIx\fP and \fIfvec\fP available
for printing. If \fInprint\fP is not positive, no special calls
of \fIfcn\fP with \fIiflag\fP = 0 are made.
\fIinfo\fP is an integer output variable. If the user has
terminated execution, \fIinfo\fP is set to the (negative)
value of \fIiflag\fP. See description of \fIfcn\fP. Otherwise,
\fIinfo\fP is set as follows.
\fIinfo\fP = 0 improper input parameters.
\fIinfo\fP = 1 relative error between two consecutive iterates
is at most \fIxtol\fP.
\fIinfo\fP = 2 number of calls to \fIfcn\fP has reached or exceeded
\fImaxfev\fP.
\fIinfo\fP = 3 \fIxtol\fP is too small. No further improvement in
the approximate solution \fIx\fP is possible.
\fIinfo\fP = 4 iteration is not making good progress, as
measured by the improvement from the last
five jacobian evaluations.
\fIinfo\fP = 5 iteration is not making good progress, as
measured by the improvement from the last
ten iterations.
\fInfev\fP is an integer output variable set to the number of
calls to \fIfcn\fP.
\fIfjac\fP is an output \fIn\fP by \fIn\fP array which contains the
orthogonal matrix \fIq\fP produced by the \fIqr\fP factorization
of the final approximate jacobian.
\fIldfjac\fP is a positive integer input variable not less than \fIn\fP
which specifies the leading dimension of the array \fIfjac\fP.
\fIr\fP is an output array of length \fIlr\fP which contains the
upper triangular matrix produced by the \fIqr\fP factorization
of the final approximate Jacobian, stored rowwise.
\fIlr\fP is a positive integer input variable not less than
(\fIn\fP*(\fIn\fP+1))/2.
\fIqtf\fP is an output array of length \fIn\fP which contains
the vector (q transpose)*\fIfvec\fP.
\fIwa1\fP, \fIwa2\fP, \fIwa3\fP, and \fIwa4\fP are work arrays of length \fIn\fP.
.SH SEE ALSO
.BR hybrj (3),
.BR hybrj1 (3).
.br
.SH AUTHORS
Burton S. Garbow, Kenneth E. Hillstrom, Jorge J. More.
.br
This manual page was written by Jim Van Zandt <jrv@debian.org>,
for the Debian GNU/Linux system (but may be used by others).
.so man3/hybrj_.3
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH HYBRJ_ 3 "March 8, 2002" Minpack
.\" Please adjust this date whenever revising the manpage.
.SH NAME
hybrj_, hybrj1_ \- find a zero of a system of nonlinear function
.SH SYNOPSIS
.B #include <minpack.h>
.nh
.ad l
.HP 14
.BI "void hybrj1_ (void (*" fcn ")(int *" n ,
.BI "double *" x ,
.BI "double *" fvec ,
.BI "double *" fjac ,
.BI "int *" ldfjac ,
.BI "int *" iflag ),
.RS 4
.BI "int *" n ,
.BI "double *" x ,
.BI "double *" fvec ,
.BI "double *" fjac ,
.br
.BI "int *" ldfjac ,
.br
.BI "double *" tol ,
.BI "int *" info ,
.BI "double *" wa ,
.BI "int *" lwa );
.RE
.HP 13