changeset 9930:d30cfca46e8a octave-forge

optim: upgrade license to GPLv3+ and mention on DESCRIPTION the other package licenses
author carandraug
date Fri, 30 Mar 2012 15:14:48 +0000
parents df50d0ae107f
children 58d36e8880db
files main/optim/COPYING main/optim/DESCRIPTION main/optim/inst/LinearRegression.m main/optim/inst/__bracket_min.m main/optim/inst/__poly_2_extrema.m main/optim/inst/__semi_bracket.m main/optim/inst/adsmax.m main/optim/inst/battery.m main/optim/inst/bfgsmin.m main/optim/inst/bfgsmin_example.m main/optim/inst/brent_line_min.m main/optim/inst/cdiff.m main/optim/inst/cg_min.m main/optim/inst/cpiv_bard.m main/optim/inst/curvefit_stat.m main/optim/inst/d2_min.m main/optim/inst/dcdp.m main/optim/inst/de_min.m main/optim/inst/deriv.m main/optim/inst/dfdp.m main/optim/inst/dfpdp.m main/optim/inst/dfxpdp.m main/optim/inst/expfit.m main/optim/inst/fmin.m main/optim/inst/fmins.m main/optim/inst/fminsearch.m main/optim/inst/fminunc_compat.m main/optim/inst/gjp.m main/optim/inst/jacobs.m main/optim/inst/leasqr.m main/optim/inst/line_min.m main/optim/inst/linprog.m main/optim/inst/mdsmax.m main/optim/inst/minimize.m main/optim/inst/nelder_mead_min.m main/optim/inst/nmsmax.m main/optim/inst/nonlin_curvefit.m main/optim/inst/nonlin_residmin.m main/optim/inst/nrm.m main/optim/inst/optim_problems.m main/optim/inst/optimset_compat.m main/optim/inst/polyconf.m main/optim/inst/polyfitinf.m main/optim/inst/powell.m main/optim/inst/private/__dfdp__.m main/optim/inst/private/__lm_svd__.m main/optim/inst/residmin_stat.m main/optim/inst/rosenbrock.m main/optim/inst/samin_example.m main/optim/inst/test_d2_min_1.m main/optim/inst/test_d2_min_2.m main/optim/inst/test_d2_min_3.m main/optim/inst/test_fminunc_1.m main/optim/inst/test_min_1.m main/optim/inst/test_min_2.m main/optim/inst/test_min_3.m main/optim/inst/test_min_4.m main/optim/inst/test_minimize_1.m main/optim/inst/test_nelder_mead_min_1.m main/optim/inst/test_nelder_mead_min_2.m main/optim/inst/test_wpolyfit.m main/optim/inst/vfzero.m main/optim/inst/wpolyfit.m main/optim/inst/wrap_f_dfdp.m main/optim/inst/wsolve.m main/optim/src/__bfgsmin.cc main/optim/src/__disna_optim__.cc main/optim/src/numgradient.cc main/optim/src/numhessian.cc main/optim/src/samin.cc
diffstat 70 files changed, 1236 insertions(+), 1511 deletions(-) [+]
line wrap: on
line diff
--- a/main/optim/COPYING	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/COPYING	Fri Mar 30 15:14:48 2012 +0000
@@ -1,337 +1,1 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+See individual files for licenses
--- a/main/optim/DESCRIPTION	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/DESCRIPTION	Fri Mar 30 15:14:48 2012 +0000
@@ -7,5 +7,5 @@
 Description: Non-linear optimization toolkit.
 Depends: octave (>= 2.9.7), miscellaneous (>= 1.0.10), struct (>= 1.0.9)
 Autoload: no
-License: GPL version 2 or later and GFDL
+License: GFDL, GPLv3+, modified BSD, public domain
 Url: http://octave.sf.net
--- a/main/optim/inst/LinearRegression.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/LinearRegression.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,41 +1,40 @@
-function [p,y_var,r,p_var]=LinearRegression(F,y,weight)
+## Copyright (C) 2007 Andreas Stahel <Andreas.Stahel@bfh.ch>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
-% general linear regression
-%
-% [p,y_var,r,p_var]=LinearRegression(F,y)
-% [p,y_var,r,p_var]=LinearRegression(F,y,weight)
-% 
-% determine the parameters p_j  (j=1,2,...,m) such that the function
-% f(x) = sum_(i=1,...,m) p_j*f_j(x) fits as good as possible to the 
-% given values y_i = f(x_i)
-% 
-% parameters
-% F  n*m matrix with the values of the basis functions at the support points 
-%    in column j give the values of f_j at the points x_i  (i=1,2,...,n)
-% y  n column vector of given values
-% weight  n column vector of given weights
-% 
-% return values
-% p     m vector with the estimated values of the parameters
-% y_var estimated variance of the error
-% r     weighted norm of residual
-% p_var estimated variance of the parameters p_j
+## general linear regression
+##
+## [p,y_var,r,p_var]=LinearRegression(F,y)
+## [p,y_var,r,p_var]=LinearRegression(F,y,weight)
+##
+## determine the parameters p_j  (j=1,2,...,m) such that the function
+## f(x) = sum_(i=1,...,m) p_j*f_j(x) fits as good as possible to the 
+## given values y_i = f(x_i)
+##
+## parameters
+## F  n*m matrix with the values of the basis functions at the support points 
+##    in column j give the values of f_j at the points x_i  (i=1,2,...,n)
+## y  n column vector of given values
+## weight  n column vector of given weights
+##
+## return values
+## p     m vector with the estimated values of the parameters
+## y_var estimated variance of the error
+## r     weighted norm of residual
+## p_var estimated variance of the parameters p_j
 
-
-## Copyright (C) 2007  Andreas Stahel   <Andreas.Stahel@bfh.ch>
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+function [p,y_var,r,p_var]=LinearRegression(F,y,weight)
 
 if (nargin < 2 || nargin >= 4)
  usage('wrong number of arguments in [p,y_var,r,p_var]=LinearRegression(F,y)');
--- a/main/optim/inst/__bracket_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/__bracket_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,19 @@
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+## Copyright (C) 2009 Levente Torok <TorokLev@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## [a, b, ga, gb, nev] = semi_bracket (f, dx, a, narg, args)
 ##
 ## Find an interval containing a local minimum of the function 
@@ -6,10 +22,6 @@
 ## a < b.
 ## nev is the number of function evaluations
 
-## Author : Etienne Grossmann <etienne@isr.ist.utl.pt>
-## Modified by: Levente Torok <TorokLev@gmail.com>
-## This software is distributed under the terms of the GPL
-
 function [a, b, ga, gb, n] = __bracket_min (f, dx, narg, args)
 
     [a,b, ga,gb, n] = __semi_bracket (f, dx, 0, narg, args);
--- a/main/optim/inst/__poly_2_extrema.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/__poly_2_extrema.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,19 @@
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+## Copyright (C) 2009 Levente Torok <TorokLev@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ##  ex = poly_2_ex (l, f)       - Extremum of a 1-var deg-2 polynomial
 ##
 ## l  : 3 : variable values
@@ -7,10 +23,9 @@
 ## 
 ## Assuming that f(i) = a*l(i)^2 + b* l(i) + c = P(l(i)) for some a, b, c,
 ## ex is the extremum of the polynome P.
-##
+
 function ex = __poly_2_extrema (l, f)
 
-
 ### This somewhat helps if solution is very close to one of the points.
 [f,i] = sort (f);
 l = l(i); 
@@ -36,4 +51,4 @@
 #    ex -  ex0
 #  end
   ex = l(1) + ex;
-end
\ No newline at end of file
+end
--- a/main/optim/inst/__semi_bracket.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/__semi_bracket.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,19 @@
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+## Copyright (C) 2009 Levente Torok <TorokLev@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## [a, b, ga, gb, nev] = semi_bracket (f, dx, a, narg, args)
 ##
 ## Find an interval containing a local minimum of the function 
@@ -7,10 +23,6 @@
 ## a < b.
 ## nev is the number of function evaluations.
 
-## Author : Etienne Grossmann <etienne@isr.ist.utl.pt>
-## Modified by: Levente Torok <TorokLev@gmail.com>
-## This software is distributed under the terms of the GPL
-
 function [a,b,ga,gb,n] = __semi_bracket (f, dx, a, narg, args)
 
 step = 1;
--- a/main/optim/inst/adsmax.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/adsmax.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,44 +1,57 @@
-function [x, fmax, nf] = adsmax(f, x, stopit, savit, P, varargin)
-%ADSMAX  Alternating directions method for direct search optimization.
-%        [x, fmax, nf] = ADSMAX(FUN, x0, STOPIT, SAVIT, P) attempts to
-%        maximize the function FUN, using the starting vector x0.
-%        The alternating directions direct search method is used.
-%        Output arguments:
-%               x    = vector yielding largest function value found,
-%               fmax = function value at x,
-%               nf   = number of function evaluations.
-%        The iteration is terminated when either
-%               - the relative increase in function value between successive
-%                 iterations is <= STOPIT(1) (default 1e-3),
-%               - STOPIT(2) function evaluations have been performed
-%                 (default inf, i.e., no limit), or
-%               - a function value equals or exceeds STOPIT(3)
-%                 (default inf, i.e., no test on function values).
-%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
-%        If a non-empty fourth parameter string SAVIT is present, then
-%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
-%        By default, the search directions are the co-ordinate directions.
-%        The columns of a fifth parameter matrix P specify alternative search
-%        directions (P = EYE is the default).
-%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
-%            and in function calls, x has the same shape as x0.
-%        ADSMAX(fun, x0, STOPIT, SAVIT, P, P1, P2,...) allows additional
-%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%% Copyright (C) 2002 N.J.Higham
+%% Copyright (C) 2003 Andy Adler <adler@ncf.ca>
+%%
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%%ADSMAX  Alternating directions method for direct search optimization.
+%%        [x, fmax, nf] = ADSMAX(FUN, x0, STOPIT, SAVIT, P) attempts to
+%%        maximize the function FUN, using the starting vector x0.
+%%        The alternating directions direct search method is used.
+%%        Output arguments:
+%%               x    = vector yielding largest function value found,
+%%               fmax = function value at x,
+%%               nf   = number of function evaluations.
+%%        The iteration is terminated when either
+%%               - the relative increase in function value between successive
+%%                 iterations is <= STOPIT(1) (default 1e-3),
+%%               - STOPIT(2) function evaluations have been performed
+%%                 (default inf, i.e., no limit), or
+%%               - a function value equals or exceeds STOPIT(3)
+%%                 (default inf, i.e., no test on function values).
+%%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
+%%        If a non-empty fourth parameter string SAVIT is present, then
+%%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
+%%        By default, the search directions are the co-ordinate directions.
+%%        The columns of a fifth parameter matrix P specify alternative search
+%%        directions (P = EYE is the default).
+%%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
+%%            and in function calls, x has the same shape as x0.
+%%        ADSMAX(fun, x0, STOPIT, SAVIT, P, P1, P2,...) allows additional
+%%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%%     Reference:
+%%     N. J. Higham, Optimization by direct search in matrix computations,
+%%        SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
+%%     N. J. Higham, Accuracy and Stability of Numerical Algorithms,
+%%        Second edition, Society for Industrial and Applied Mathematics,
+%%        Philadelphia, PA, 2002; sec. 20.5.
 
 % From Matrix Toolbox 
 % Copyright (C) 2002 N.J.Higham
 % www.maths.man.ac.uk/~higham/mctoolbox
-% distributed under the terms of the GNU General Public License
-%
 % Modifications for octave by A.Adler 2003
-% $Id$
 
-%     Reference:
-%     N. J. Higham, Optimization by direct search in matrix computations,
-%        SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
-%     N. J. Higham, Accuracy and Stability of Numerical Algorithms,
-%        Second edition, Society for Industrial and Applied Mathematics,
-%        Philadelphia, PA, 2002; sec. 20.5.
+function [x, fmax, nf] = adsmax(f, x, stopit, savit, P, varargin)
 
 x0 = x(:);  % Work with column vector internally.
 n = length(x0);
--- a/main/optim/inst/battery.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/battery.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,33 +1,32 @@
-# Copyright (C) 2004   Michael Creel   <michael.creel@uab.es>
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; If not, see <http://www.gnu.org/licenses/>. 
-# (c) Michael Creel <michael.creel@uab.es>
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
-# battery.m: repeatedly call bfgs using a battery of 
-# start values, to attempt to find global min
-# of a nonconvex function
+## battery.m: repeatedly call bfgs using a battery of 
+## start values, to attempt to find global min
+## of a nonconvex function
+##
+## INPUTS:
+## func: function to mimimize
+## args: args of function
+## minarg: argument to minimize w.r.t. (usually = 1)
+## startvals: kxp matrix of values to try for sure (don't include all zeros, that's automatic)
+## max iters per start value
+## number of additional random start values to try
+##
+# OUTPUT: theta - the best value found - NOT iterated to convergence
 
-# INPUTS:
-# func: function to mimimize
-# args: args of function
-# minarg: argument to minimize w.r.t. (usually = 1)
-# startvals: kxp matrix of values to try for sure (don't include all zeros, that's automatic)
-# max iters per start value
-# number of additional random start values to try
-
-# OUTPUT: theta - the best value found - NOT iterated to convergence
-		 
 function theta = battery(func, args, minarg, startvals, maxiters)
 
 # setup
--- a/main/optim/inst/bfgsmin.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/bfgsmin.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,18 +1,17 @@
-## Copyright (C) 2006  Michael Creel   <michael.creel@uab.es>
+## Copyright (C) 2006 Michael Creel <michael.creel@uab.es>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## bfgsmin: bfgs or limited memory bfgs minimization of function
 ##
--- a/main/optim/inst/bfgsmin_example.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/bfgsmin_example.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,18 +1,17 @@
-# Copyright (C) 2004,2005,2006   Michael Creel   <michael.creel@uab.es>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+## Copyright (C) 2004,2005,2006 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 # usage: bfgsmin_example (to run) or edit bfgsmin_example (to examine)
 ##
--- a/main/optim/inst/brent_line_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/brent_line_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,18 @@
+## Copyright (C) 2009 Levente Torok <TorokLev@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{s},@var{v},@var{n}]} brent_line_min ( @var{f},@var{df},@var{args},@var{ctl} )
 ## Line minimization of f along df
@@ -32,7 +47,6 @@
 ## given.
 ## @end deftypefn
 
-
 function [s,gs,nev] = brent_line_min( f,dx,args,ctl )
 
 verbose = 0;
--- a/main/optim/inst/cdiff.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/cdiff.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## c = cdiff (func,wrt,N,dfunc,stack,dx) - Code for num. differentiation
 ##   = "function df = dfunc (var1,..,dvar,..,varN) .. endfunction
@@ -42,7 +45,7 @@
 ##                                                  Default:10*sqrt(eps)
 ##
 ## See also : ndiff, eval, todisk
-##
+
 function c = cdiff (func,wrt,nargs,dfunc,stack,dx)
 
 if nargin<2,
--- a/main/optim/inst/cg_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/cg_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,19 @@
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+## Copyright (C) 2009 Levente Torok <TorokLev@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{x0},@var{v},@var{nev}]} cg_min ( @var{f},@var{df},@var{args},@var{ctl} )
 ## NonLinear Conjugate Gradient method to minimize function @var{f}.
@@ -54,10 +70,6 @@
 ## @seealso{ bfgsmin, http://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient }
 ## @end deftypefn
 
-## Author : Etienne Grossmann <etienne@isr.ist.utl.pt>
-## Modified by: Levente Torok <TorokLev@gmail.com>
-## This software is distributed under the terms of the GPL
-
 function [x,v,nev] = cg_min (f, dfn, args, ctl)
 
 verbose = 0;
--- a/main/optim/inst/cpiv_bard.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/cpiv_bard.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,42 +1,41 @@
-%% Copyright (C) 2010, 2011 Olaf Till
+%% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
+%%
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or (at
-%% your option) any later version.
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% [lb, idx, ridx, mv] = cpiv_bard (v, m[, incl])
 %%
-%% This program is distributed in the hope that it will be useful, but
-%% WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-%% General Public License for more details.
-%%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; if not, write to the Free Software
-%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301USA
+%% v: column vector; m: matrix; incl (optional): index. length (v)
+%% must equal rows (m). Finds column vectors w and l with w == v + m *
+%% l, w >= 0, l >= 0, l.' * w == 0. Chooses idx, w, and l so that
+%% l(~idx) == 0, l(idx) == -inv (m(idx, idx)) * v(idx), w(idx) roughly
+%% == 0, and w(~idx) == v(~idx) + m(idx, ~idx).' * l(idx). idx indexes
+%% at least everything indexed by incl, but l(incl) may be < 0. lb:
+%% l(idx) (column vector); idx: logical index, defined above; ridx:
+%% ~idx & w roughly == 0; mv: [m, v] after performing a Gauss-Jordan
+%% 'sweep' (with gjp.m) on each diagonal element indexed by idx.
+%% Except the handling of incl (which enables handling of equality
+%% constraints in the calling code), this is called solving the
+%% 'complementary pivot problem' (Cottle, R. W. and Dantzig, G. B.,
+%% 'Complementary pivot theory of mathematical programming', Linear
+%% Algebra and Appl. 1, 102--125. References for the current
+%% algorithm: Bard, Y.: Nonlinear Parameter Estimation, p. 147--149,
+%% Academic Press, New York and London 1974; Bard, Y., 'An eclectic
+%% approach to nonlinear programming', Proc. ANU Sem. Optimization,
+%% Canberra, Austral. Nat. Univ.).
 
 function [lb, idx, ridx, m] = cpiv_bard (v, m, incl)
 
-  %% [lb, idx, ridx, mv] = cpiv_bard (v, m[, incl])
-  %%
-  %% v: column vector; m: matrix; incl (optional): index. length (v)
-  %% must equal rows (m). Finds column vectors w and l with w == v + m *
-  %% l, w >= 0, l >= 0, l.' * w == 0. Chooses idx, w, and l so that
-  %% l(~idx) == 0, l(idx) == -inv (m(idx, idx)) * v(idx), w(idx) roughly
-  %% == 0, and w(~idx) == v(~idx) + m(idx, ~idx).' * l(idx). idx indexes
-  %% at least everything indexed by incl, but l(incl) may be < 0. lb:
-  %% l(idx) (column vector); idx: logical index, defined above; ridx:
-  %% ~idx & w roughly == 0; mv: [m, v] after performing a Gauss-Jordan
-  %% 'sweep' (with gjp.m) on each diagonal element indexed by idx.
-  %% Except the handling of incl (which enables handling of equality
-  %% constraints in the calling code), this is called solving the
-  %% 'complementary pivot problem' (Cottle, R. W. and Dantzig, G. B.,
-  %% 'Complementary pivot theory of mathematical programming', Linear
-  %% Algebra and Appl. 1, 102--125. References for the current
-  %% algorithm: Bard, Y.: Nonlinear Parameter Estimation, p. 147--149,
-  %% Academic Press, New York and London 1974; Bard, Y., 'An eclectic
-  %% approach to nonlinear programming', Proc. ANU Sem. Optimization,
-  %% Canberra, Austral. Nat. Univ.).
-
   n = length (v);
   if (n > size (v, 1))
     error ('first argument is no column vector'); % the most typical mistake
--- a/main/optim/inst/curvefit_stat.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/curvefit_stat.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,20 +1,19 @@
 ## Copyright (C) 2011 Olaf Till <olaf.till@uni-jena.de>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-##
 ## @deftypefn {Function File} {@var{info} =} residmin_stat (@var{f}, @var{p}, @var{x}, @var{y}, @var{settings})
 ##
 ## Frontend for computation of statistics for fitting of values,
@@ -30,7 +29,6 @@
 ## also a second obligatory argument which will be set to @var{x}.
 ##
 ## @seealso {residmin_stat}
-##
 ## @end deftypefn
 
 function ret = curvefit_stat (f, pfin, x, y, settings)
--- a/main/optim/inst/d2_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/d2_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,18 +1,17 @@
-
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## Changelog: 
-## 2002 / 05 / 09 : Heuristic for negative hessian
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## [x,v,nev,h,args] = d2_min(f,d2f,args,ctl,code) - Newton-like minimization
 ##
@@ -82,9 +81,6 @@
 
 function [xbest,vbest,nev,hbest,args] = d2_min (f,d2f,args,ctl,code)
 
-## Author : Etienne Grossmann <etienne@cs.uky.edu>
-##
-
 maxout = inf;
 maxinner = 30 ;
 
--- a/main/optim/inst/dcdp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/dcdp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,29 +1,29 @@
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% function prt = dcdp (f, p, dp, func[, bounds])
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% This is an interface to __dfdp__.m, similar to dfdp.m, but for
+%% functions only of parameters 'p', not of independents 'x'. See
+%% dfdp.m.
+%%
+%% dfpdp is more general and is meant to be used instead of dcdp in
+%% optimization.
 
 function prt = dcdp (f, p, dp, func, bounds)
 
-  %% function prt = dcdp (f, p, dp, func[, bounds])
-  %%
-  %% This is an interface to __dfdp__.m, similar to dfdp.m, but for
-  %% functions only of parameters 'p', not of independents 'x'. See
-  %% dfdp.m.
-  %%
-  %% dfpdp is more general and is meant to be used instead of dcdp in
-  %% optimization.
-
   if (ischar (func))
     func = str2func (func);
   end
@@ -40,3 +40,4 @@
   hook.diff_onesided = dp < 0;
 
   prt = __dfdp__ (p, func, hook);
+end
--- a/main/optim/inst/de_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/de_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,22 +1,18 @@
+## Copyright (C) 1996, 1997 R. Storn
 ## Copyright (C) 2009-2010 Christian Fischer <cfischer@itm.uni-stuttgart.de>
-## Copyright (C) 1996, 1997 R. Storn
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public
-## License along with Octave; see the file COPYING. If not,
-## see <http://www.gnu.org/licenses/>.
-##
-## Changelog: 
-##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## de_min: global optimisation using differential evolution
 ##
@@ -121,7 +117,6 @@
 ## 	ctl.XVmax = [ 2  2];
 ## 	[x, obj_value, nfeval, convergence] = de_min (@f, ctl);
 ##
-## Author : Christian Fischer <cfischer@itm.uni-stuttgart.de>
 ## Keywords: global-optimisation optimisation minimisation
 
 function [bestmem, bestval, nfeval, convergence] = de_min(fcn, varargin)
--- a/main/optim/inst/deriv.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/deriv.m	Fri Mar 30 15:14:48 2012 +0000
@@ -2,15 +2,18 @@
 ## Copyright (C) 2011 Joaquín Ignacio Aramendía <samsagax@gmail.com>
 ## Copyright (C) 2011 Carnë Draug <carandraug+dev@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 3, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{dx} =} deriv (@var{f}, @var{x0})
--- a/main/optim/inst/dfdp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/dfdp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -3,43 +3,43 @@
 %% Copyright (C) 1992-1994 Ray Muzic
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% function prt = dfdp (x, f, p, dp, func[, bounds])
+%% numerical partial derivatives (Jacobian) df/dp for use with leasqr
+%% --------INPUT VARIABLES---------
+%% x=vec or matrix of indep var(used as arg to func) x=[x0 x1 ....]
+%% f=func(x,p) vector initialsed by user before each call to dfdp
+%% p= vec of current parameter values
+%% dp= fractional increment of p for numerical derivatives
+%%      dp(j)>0 central differences calculated
+%%      dp(j)<0 one sided differences calculated
+%%      dp(j)=0 sets corresponding partials to zero; i.e. holds p(j) fixed
+%% func=function (string or handle) to calculate the Jacobian for,
+%%      e.g. to calc Jacobian for function expsum prt=dfdp(x,f,p,dp,'expsum')
+%% bounds=two-column-matrix of lower and upper bounds for parameters
+%%      If no 'bounds' options is specified to leasqr, it will call
+%%      dfdp without the 'bounds' argument.
+%%----------OUTPUT VARIABLES-------
+%% prt= Jacobian Matrix prt(i,j)=df(i)/dp(j)
+%%================================
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% dfxpdp is more general and is meant to be used instead of dfdp in
+%% optimization.
 
 function prt = dfdp (x, f, p, dp, func, bounds)
 
-  %% function prt = dfdp (x, f, p, dp, func[, bounds])
-  %% numerical partial derivatives (Jacobian) df/dp for use with leasqr
-  %% --------INPUT VARIABLES---------
-  %% x=vec or matrix of indep var(used as arg to func) x=[x0 x1 ....]
-  %% f=func(x,p) vector initialsed by user before each call to dfdp
-  %% p= vec of current parameter values
-  %% dp= fractional increment of p for numerical derivatives
-  %%      dp(j)>0 central differences calculated
-  %%      dp(j)<0 one sided differences calculated
-  %%      dp(j)=0 sets corresponding partials to zero; i.e. holds p(j) fixed
-  %% func=function (string or handle) to calculate the Jacobian for,
-  %%      e.g. to calc Jacobian for function expsum prt=dfdp(x,f,p,dp,'expsum')
-  %% bounds=two-column-matrix of lower and upper bounds for parameters
-  %%      If no 'bounds' options is specified to leasqr, it will call
-  %%      dfdp without the 'bounds' argument.
-  %%----------OUTPUT VARIABLES-------
-  %% prt= Jacobian Matrix prt(i,j)=df(i)/dp(j)
-  %%================================
-  %%
-  %% dfxpdp is more general and is meant to be used instead of dfdp in
-  %% optimization.
-
   %% This is just an interface. The original code has been moved to
   %% __dfdp__.m, which is used with two different interfaces by
   %% leasqr.m.
--- a/main/optim/inst/dfpdp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/dfpdp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,47 +1,46 @@
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% function jac = dfpdp (p, func[, hook])
+%%
+%% Returns Jacobian of func (p) with respect to p with finite
+%% differencing. The optional argument hook is a structure which can
+%% contain the following fields at the moment:
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% hook.f: value of func(p) for p as given in the arguments
+%%
+%% hook.diffp: positive vector of fractional steps from given p in
+%% finite differencing (actual steps may be smaller if bounds are
+%% given). The default is .001 * ones (size (p)).
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% hook.diff_onesided: logical vector, indexing elements of p for
+%% which only one-sided differences should be computed (faster); even
+%% if not one-sided, differences might not be exactly central if
+%% bounds are given. The default is false (size (p)).
+%%
+%% hook.fixed: logical vector, indexing elements of p for which zero
+%% should be returned instead of the guessed partial derivatives
+%% (useful in optimization if some parameters are not optimized, but
+%% are 'fixed').
+%%
+%% hook.lbound, hook.ubound: vectors of lower and upper parameter
+%% bounds (or -Inf or +Inf, respectively) to be respected in finite
+%% differencing. The consistency of bounds is not checked.
 
 function ret = dfpdp (varargin)
 
-  %% function jac = dfpdp (p, func[, hook])
-  %%
-  %% Returns Jacobian of func (p) with respect to p with finite
-  %% differencing. The optional argument hook is a structure which can
-  %% contain the following fields at the moment:
-  %%
-  %% hook.f: value of func(p) for p as given in the arguments
-  %%
-  %% hook.diffp: positive vector of fractional steps from given p in
-  %% finite differencing (actual steps may be smaller if bounds are
-  %% given). The default is .001 * ones (size (p)).
-  %%
-  %% hook.diff_onesided: logical vector, indexing elements of p for
-  %% which only one-sided differences should be computed (faster); even
-  %% if not one-sided, differences might not be exactly central if
-  %% bounds are given. The default is false (size (p)).
-  %%
-  %% hook.fixed: logical vector, indexing elements of p for which zero
-  %% should be returned instead of the guessed partial derivatives
-  %% (useful in optimization if some parameters are not optimized, but
-  %% are 'fixed').
-  %%
-  %% hook.lbound, hook.ubound: vectors of lower and upper parameter
-  %% bounds (or -Inf or +Inf, respectively) to be respected in finite
-  %% differencing. The consistency of bounds is not checked.
-
-
   %% This is an interface to __dfdp__.m.
 
   if (ischar (varargin{2}))
@@ -49,3 +48,5 @@
   end
 
   ret = __dfdp__ (varargin{:});
+
+end
--- a/main/optim/inst/dfxpdp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/dfxpdp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,47 +1,46 @@
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% function jac = dfxpdp (x, p, func[, hook])
+%%
+%% Returns Jacobian of func (p, x) with respect to p with finite
+%% differencing. The optional argument hook is a structure which can
+%% contain the following fields at the moment:
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% hook.f: value of func(p, x) for p and x as given in the arguments
+%%
+%% hook.diffp: positive vector of fractional steps from given p in
+%% finite differencing (actual steps may be smaller if bounds are
+%% given). The default is .001 * ones (size (p));
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% hook.diff_onesided: logical vector, indexing elements of p for
+%% which only one-sided differences should be computed (faster); even
+%% if not one-sided, differences might not be exactly central if
+%% bounds are given. The default is false (size (p)).
+%%
+%% hook.fixed: logical vector, indexing elements of p for which zero
+%% should be returned instead of the guessed partial derivatives
+%% (useful in optimization if some parameters are not optimized, but
+%% are 'fixed').
+%%
+%% hook.lbound, hook.ubound: vectors of lower and upper parameter
+%% bounds (or -Inf or +Inf, respectively) to be respected in finite
+%% differencing. The consistency of bounds is not checked.
 
 function ret = dfxpdp (varargin)
 
-  %% function jac = dfxpdp (x, p, func[, hook])
-  %%
-  %% Returns Jacobian of func (p, x) with respect to p with finite
-  %% differencing. The optional argument hook is a structure which can
-  %% contain the following fields at the moment:
-  %%
-  %% hook.f: value of func(p, x) for p and x as given in the arguments
-  %%
-  %% hook.diffp: positive vector of fractional steps from given p in
-  %% finite differencing (actual steps may be smaller if bounds are
-  %% given). The default is .001 * ones (size (p));
-  %%
-  %% hook.diff_onesided: logical vector, indexing elements of p for
-  %% which only one-sided differences should be computed (faster); even
-  %% if not one-sided, differences might not be exactly central if
-  %% bounds are given. The default is false (size (p)).
-  %%
-  %% hook.fixed: logical vector, indexing elements of p for which zero
-  %% should be returned instead of the guessed partial derivatives
-  %% (useful in optimization if some parameters are not optimized, but
-  %% are 'fixed').
-  %%
-  %% hook.lbound, hook.ubound: vectors of lower and upper parameter
-  %% bounds (or -Inf or +Inf, respectively) to be respected in finite
-  %% differencing. The consistency of bounds is not checked.
-
-
   %% This is an interface to __dfdp__.m.
 
   if (ischar (varargin{3}))
@@ -52,3 +51,5 @@
   end
 
   ret = __dfdp__ (varargin{2:end});
+
+end
--- a/main/optim/inst/expfit.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/expfit.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,19 @@
+## Copyright (C) 2000 Gert Van den Eynde <na.gvandeneynde@na-net.ornl.gov>
+## Copyright (C) 2002 Rolf Fabian <fabian@tu-cottbus.de>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## USAGE  [alpha,c,rms] = expfit( deg, x1, h, y )
 ##
 ## Prony's method for non-linear exponential fitting
@@ -41,31 +57,12 @@
 ## roots of a polynomial. I used 'roots.m', if there is
 ## something better please use that code.
 ##
-## Copyright (C) 2000 Gert Van den Eynde
-## SCK-CEN (Nuclear Energy Research Centre)
-## Boeretang 200
-## 2400 Mol
-## Belgium
-## na.gvandeneynde@na-net.ornl.gov
-##
-## This code is under the GNU Public License (GPL) version 2 or later.
-## I hope that it is useful, but it is WITHOUT ANY WARRANTY, without
-## even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-## PARTICULAR PURPOSE.
-## __________________________________________________________________
-## Modified for full compatibility with complex fit-functions by
-## Rolf Fabian <fabian@tu-cottbus.de>                2002-Sep-23
-## Brandenburg University of Technology Cottbus
-## Dep. of Air Chemistry and Pollution Control
-##
 ## Demo for a complex fit-function:
 ## deg= 2; N= 20; x1= -(1+i), x= linspace(x1,1+i/2,N).';
 ## h = x(2) - x(1)
 ## y= (2+i)*exp( (-1-2i)*x ) + (-1+3i)*exp( (2+3i)*x );
 ## A= 5e-2; y+= A*(randn(N,1)+randn(N,1)*i); % add complex noise
 ## [alpha,c,rms]= expfit( deg, x1, h, y )
-## __________________________________________________________________
-
 
 function [a,c,rms] = expfit(deg,x1,h,y)
 
--- a/main/optim/inst/fmin.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/fmin.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,22 +1,21 @@
-## Copyright (C) 2001 Paul Kienzle
-## 
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-## 
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-## 
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## Copyright (C) 2001 Paul Kienzle <pkienzle@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 function ret=fmin(varargin)
 
   ## alias for fminbnd
-
-	ret = fminbnd(varargin{:});
+  ret = fminbnd(varargin{:});
 
 endfunction
--- a/main/optim/inst/fmins.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/fmins.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
-## Copyright (C) 2003 Andy Adler
-## 
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-## 
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-## 
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## Copyright (C) 2003 Andy Adler <adler@ncf.ca>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{x}] =} fmins(@var{f},@var{X0},@var{options},@var{grad},@var{P1},@var{P2}, ...)
--- a/main/optim/inst/fminsearch.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/fminsearch.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,20 +1,20 @@
-## Copyright (C) 2006   Sylvain Pelissier   <sylvain.pelissier@gmail.com>
+## Copyright (C) 2006 Sylvain Pelissier <sylvain.pelissier@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {[@var{x}] =} fminsearch(@var{f},@var{X0},@var{options},@var{grad},@var{P1},@var{P2}, ...)
+## @deftypefn {Function File} {[@var{x}] =} fminsearch(@var{f},@var{X0},@var{options},@var{grad},@var{P1},@var{P2}, @dots{})
 ##
 ## Find the minimum of a funtion of several variables.
 ## By default the method used is the Nelder&Mead Simplex algorithm
--- a/main/optim/inst/fminunc_compat.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/fminunc_compat.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## [x,v,flag,out,df,d2f] = fminunc_compat (f,x,opt,...) - M*tlab-like optimization
 ##
--- a/main/optim/inst/gjp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/gjp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,38 +1,37 @@
-%% Copyright (C) 2010, 2011 Olaf Till
+%% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or (at
-%% your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% This program is distributed in the hope that it will be useful, but
-%% WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-%% General Public License for more details.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% m = gjp (m, k[, l])
+%%
+%% m: matrix; k, l: row- and column-index of pivot, l defaults to k.
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; if not, write to the Free Software
-%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301USA
+%% Gauss-Jordon pivot as defined in Bard, Y.: Nonlinear Parameter
+%% Estimation, p. 296, Academic Press, New York and London 1974. In
+%% the pivot column, this seems not quite the same as the usual
+%% Gauss-Jordan(-Clasen) pivot. Bard gives Beaton, A. E., 'The use of
+%% special matrix operators in statistical calculus' Research Bulletin
+%% RB-64-51 (1964), Educational Testing Service, Princeton, New Jersey
+%% as a reference, but this article is not easily accessible. Another
+%% reference, whose definition of gjp differs from Bards by some
+%% signs, is Clarke, R. B., 'Algorithm AS 178: The Gauss-Jordan sweep
+%% operator with detection of collinearity', Journal of the Royal
+%% Statistical Society, Series C (Applied Statistics) (1982), 31(2),
+%% 166--168.
 
 function m = gjp (m, k, l)
 
-  %% m = gjp (m, k[, l])
-  %%
-  %% m: matrix; k, l: row- and column-index of pivot, l defaults to k.
-  %%
-  %% Gauss-Jordon pivot as defined in Bard, Y.: Nonlinear Parameter
-  %% Estimation, p. 296, Academic Press, New York and London 1974. In
-  %% the pivot column, this seems not quite the same as the usual
-  %% Gauss-Jordan(-Clasen) pivot. Bard gives Beaton, A. E., 'The use of
-  %% special matrix operators in statistical calculus' Research Bulletin
-  %% RB-64-51 (1964), Educational Testing Service, Princeton, New Jersey
-  %% as a reference, but this article is not easily accessible. Another
-  %% reference, whose definition of gjp differs from Bards by some
-  %% signs, is Clarke, R. B., 'Algorithm AS 178: The Gauss-Jordan sweep
-  %% operator with detection of collinearity', Journal of the Royal
-  %% Statistical Society, Series C (Applied Statistics) (1982), 31(2),
-  %% 166--168.
-
   if (nargin < 3)
     l = k;
   end
@@ -51,3 +50,4 @@
       m([1:k-1, k+1:end], l) * m(k, [1:l-1, l+1:end]);
   m([1:k-1, k+1:end], l) = - m([1:k-1, k+1:end], l) / p; % pivot column
   m(k, l) = 1 / p;
+end
--- a/main/optim/inst/jacobs.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/jacobs.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
 ## Copyright (C) 2011 Fotios Kasolis <fotios.kasolis@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {Df =} jacobs (@var{x}, @var{f})
--- a/main/optim/inst/leasqr.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/leasqr.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,152 +1,156 @@
 %% Copyright (C) 1992-1994 Richard Shrager
-%% Copyright (C) 1992-1994 Arthur Jutan
-%% Copyright (C) 1992-1994 Ray Muzic
+%% Copyright (C) 1992-1994 Arthur Jutan <jutan@charon.engga.uwo.ca>
+%% Copyright (C) 1992-1994 Ray Muzic <rfm2@ds2.uh.cwru.edu>
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%%function [f,p,cvg,iter,corp,covp,covr,stdresid,Z,r2]=
+%%                   leasqr(x,y,pin,F,{stol,niter,wt,dp,dFdp,options})
+%%
+%% Levenberg-Marquardt nonlinear regression of f(x,p) to y(x).
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% Version 3.beta
+%% Optional parameters are in braces {}.
+%% x = vector or matrix of independent variables.
+%% y = vector or matrix of observed values.
+%% wt = statistical weights (same dimensions as y).  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( size (y)).
+%% pin = 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 or function handle; 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 or function
+%% handle; default is 'dfdp', a slow but general partial derivatives
+%% function; the function shall be of the form
+%% prt=dfdp(x,f,p,dp,F[,bounds]). For backwards compatibility, the
+%% function will only be called with an extra 'bounds' argument if the
+%% 'bounds' option is explicitely specified to leasqr (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 = structure, currently recognized fields are 'fract_prec',
+%% 'max_fract_change', 'inequc', 'bounds', and 'equc'. For backwards
+%% compatibility, 'options' can also be a matrix whose first and
+%% second column contains the values of 'fract_prec' and
+%% 'max_fract_change', respectively.
+%%   Field 'options.fract_prec': column vector (same length as 'pin')
+%%   of desired fractional precisions in parameter estimates.
+%%   Iterations are terminated if change in parameter vector (chg)
+%%   relative to current parameter estimate is less than their
+%%   corresponding elements in 'options.fract_prec' [ie. all (abs
+%%   (chg) < abs (options.fract_prec .* current_parm_est))] on two
+%%   consecutive iterations, default = zeros().
+%%   Field 'options.max_fract_change': column vector (same length as
+%%   'pin) of maximum fractional step changes in parameter vector.
+%%   Fractional change in elements of parameter vector is constrained to
+%%   be at most 'options.max_fract_change' between sucessive iterations.
+%%   [ie. abs(chg(i))=abs(min([chg(i)
+%%   options.max_fract_change(i)*current param estimate])).], default =
+%%   Inf*ones().
+%%   Field 'options.inequc': cell-array containing up to four entries,
+%%   two entries for linear inequality constraints and/or one or two
+%%   entries for general inequality constraints. Initial parameters
+%%   must satisfy these constraints. Either linear or general
+%%   constraints may be the first entries, but the two entries for
+%%   linear constraints must be adjacent and, if two entries are given
+%%   for general constraints, they also must be adjacent. The two
+%%   entries for linear constraints are a matrix (say m) and a vector
+%%   (say v), specifying linear inequality constraints of the form
+%%   `m.' * parameters + v >= 0'. If the constraints are just bounds,
+%%   it is suggested to specify them in 'options.bounds' instead,
+%%   since then some sanity tests are performed, and since the
+%%   function 'dfdp.m' is guarantied not to violate constraints during
+%%   determination of the numeric gradient only for those constraints
+%%   specified as 'bounds' (possibly with violations due to a certain
+%%   inaccuracy, however, except if no constraints except bounds are
+%%   specified). The first entry for general constraints must be a
+%%   differentiable vector valued function (say h), specifying general
+%%   inequality constraints of the form `h (p[, idx]) >= 0'; p is the
+%%   column vector of optimized paraters and the optional argument idx
+%%   is a logical index. h has to return the values of all constraints
+%%   if idx is not given, and has to return only the indexed
+%%   constraints if idx is given (so computation of the other
+%%   constraints can be spared). If a second entry for general
+%%   constraints is given, it must be a function (say dh) which
+%%   returnes a matrix whos rows contain the gradients of the
+%%   constraint function h with respect to the optimized parameters.
+%%   It has the form jac_h = dh (vh, p, dp, h, idx[, bounds]); p is
+%%   the column vector of optimized parameters, and idx is a logical
+%%   index --- only the rows indexed by idx must be returned (so
+%%   computation of the others can be spared). The other arguments of
+%%   dh are for the case that dh computes numerical gradients: vh is
+%%   the column vector of the current values of the constraint
+%%   function h, with idx already applied. h is a function h (p) to
+%%   compute the values of the constraints for parameters p, it will
+%%   return only the values indexed by idx. dp is a suggestion for
+%%   relative step width, having the same value as the argument 'dp'
+%%   of leasqr above. If bounds were specified to leasqr, they are
+%%   provided in the argument bounds of dh, to enable their
+%%   consideration in determination of numerical gradients. If dh is
+%%   not specified to leasqr, numerical gradients are computed in the
+%%   same way as with 'dfdp.m' (see above). If some constraints are
+%%   linear, they should be specified as linear constraints (or
+%%   bounds, if applicable) for reasons of performance, even if
+%%   general constraints are also specified.
+%%   Field 'options.bounds': two-column-matrix, one row for each
+%%   parameter in 'pin'. Each row contains a minimal and maximal value
+%%   for each parameter. Default: [-Inf, Inf] in each row. If this
+%%   field is used with an existing user-side function for 'dFdp'
+%%   (see above) the functions interface might have to be changed.
+%%   Field 'options.equc': equality constraints, specified the same
+%%   way as inequality constraints (see field 'options.inequc').
+%%   Initial parameters must satisfy these constraints.
+%%   Note that there is possibly a certain inaccuracy in honoring
+%%   constraints, except if only bounds are specified. 
+%%   _Warning_: If constraints (or bounds) are set, returned guesses
+%%   of corp, covp, and Z are generally invalid, even if no constraints
+%%   are active for the final parameters. If equality constraints are
+%%   specified, corp, covp, and Z are not guessed at all.
+%%   Field 'options.cpiv': Function for complementary pivot algorithm
+%%   for inequality constraints, default: cpiv_bard. No different
+%%   function is supplied.
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%%          OUTPUT VARIABLES
+%% f = column vector of values computed: f = F(x,p).
+%% p = column vector trial or final parameters. i.e, the solution.
+%% cvg = 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, intercept form.
+%%
+%% Not suitable for non-real residuals.
+%%
+%% References:
+%% Bard, Nonlinear Parameter Estimation, Academic Press, 1974.
+%% Draper and Smith, Applied Regression Analysis, John Wiley and Sons, 1981.
 
 function [f,p,cvg,iter,corp,covp,covr,stdresid,Z,r2]= ...
       leasqr(x,y,pin,F,stol,niter,wt,dp,dFdp,options)
 
-  %%function [f,p,cvg,iter,corp,covp,covr,stdresid,Z,r2]=
-  %%                   leasqr(x,y,pin,F,{stol,niter,wt,dp,dFdp,options})
-  %%
-  %% Levenberg-Marquardt nonlinear regression of f(x,p) to y(x).
-  %%
-  %% Version 3.beta
-  %% Optional parameters are in braces {}.
-  %% x = vector or matrix of independent variables.
-  %% y = vector or matrix of observed values.
-  %% wt = statistical weights (same dimensions as y).  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( size (y)).
-  %% pin = 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 or function handle; 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 or function
-  %% handle; default is 'dfdp', a slow but general partial derivatives
-  %% function; the function shall be of the form
-  %% prt=dfdp(x,f,p,dp,F[,bounds]). For backwards compatibility, the
-  %% function will only be called with an extra 'bounds' argument if the
-  %% 'bounds' option is explicitely specified to leasqr (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 = structure, currently recognized fields are 'fract_prec',
-  %% 'max_fract_change', 'inequc', 'bounds', and 'equc'. For backwards
-  %% compatibility, 'options' can also be a matrix whose first and
-  %% second column contains the values of 'fract_prec' and
-  %% 'max_fract_change', respectively.
-  %%   Field 'options.fract_prec': column vector (same length as 'pin')
-  %%   of desired fractional precisions in parameter estimates.
-  %%   Iterations are terminated if change in parameter vector (chg)
-  %%   relative to current parameter estimate is less than their
-  %%   corresponding elements in 'options.fract_prec' [ie. all (abs
-  %%   (chg) < abs (options.fract_prec .* current_parm_est))] on two
-  %%   consecutive iterations, default = zeros().
-  %%   Field 'options.max_fract_change': column vector (same length as
-  %%   'pin) of maximum fractional step changes in parameter vector.
-  %%   Fractional change in elements of parameter vector is constrained to
-  %%   be at most 'options.max_fract_change' between sucessive iterations.
-  %%   [ie. abs(chg(i))=abs(min([chg(i)
-  %%   options.max_fract_change(i)*current param estimate])).], default =
-  %%   Inf*ones().
-  %%   Field 'options.inequc': cell-array containing up to four entries,
-  %%   two entries for linear inequality constraints and/or one or two
-  %%   entries for general inequality constraints. Initial parameters
-  %%   must satisfy these constraints. Either linear or general
-  %%   constraints may be the first entries, but the two entries for
-  %%   linear constraints must be adjacent and, if two entries are given
-  %%   for general constraints, they also must be adjacent. The two
-  %%   entries for linear constraints are a matrix (say m) and a vector
-  %%   (say v), specifying linear inequality constraints of the form
-  %%   `m.' * parameters + v >= 0'. If the constraints are just bounds,
-  %%   it is suggested to specify them in 'options.bounds' instead,
-  %%   since then some sanity tests are performed, and since the
-  %%   function 'dfdp.m' is guarantied not to violate constraints during
-  %%   determination of the numeric gradient only for those constraints
-  %%   specified as 'bounds' (possibly with violations due to a certain
-  %%   inaccuracy, however, except if no constraints except bounds are
-  %%   specified). The first entry for general constraints must be a
-  %%   differentiable vector valued function (say h), specifying general
-  %%   inequality constraints of the form `h (p[, idx]) >= 0'; p is the
-  %%   column vector of optimized paraters and the optional argument idx
-  %%   is a logical index. h has to return the values of all constraints
-  %%   if idx is not given, and has to return only the indexed
-  %%   constraints if idx is given (so computation of the other
-  %%   constraints can be spared). If a second entry for general
-  %%   constraints is given, it must be a function (say dh) which
-  %%   returnes a matrix whos rows contain the gradients of the
-  %%   constraint function h with respect to the optimized parameters.
-  %%   It has the form jac_h = dh (vh, p, dp, h, idx[, bounds]); p is
-  %%   the column vector of optimized parameters, and idx is a logical
-  %%   index --- only the rows indexed by idx must be returned (so
-  %%   computation of the others can be spared). The other arguments of
-  %%   dh are for the case that dh computes numerical gradients: vh is
-  %%   the column vector of the current values of the constraint
-  %%   function h, with idx already applied. h is a function h (p) to
-  %%   compute the values of the constraints for parameters p, it will
-  %%   return only the values indexed by idx. dp is a suggestion for
-  %%   relative step width, having the same value as the argument 'dp'
-  %%   of leasqr above. If bounds were specified to leasqr, they are
-  %%   provided in the argument bounds of dh, to enable their
-  %%   consideration in determination of numerical gradients. If dh is
-  %%   not specified to leasqr, numerical gradients are computed in the
-  %%   same way as with 'dfdp.m' (see above). If some constraints are
-  %%   linear, they should be specified as linear constraints (or
-  %%   bounds, if applicable) for reasons of performance, even if
-  %%   general constraints are also specified.
-  %%   Field 'options.bounds': two-column-matrix, one row for each
-  %%   parameter in 'pin'. Each row contains a minimal and maximal value
-  %%   for each parameter. Default: [-Inf, Inf] in each row. If this
-  %%   field is used with an existing user-side function for 'dFdp'
-  %%   (see above) the functions interface might have to be changed.
-  %%   Field 'options.equc': equality constraints, specified the same
-  %%   way as inequality constraints (see field 'options.inequc').
-  %%   Initial parameters must satisfy these constraints.
-  %%   Note that there is possibly a certain inaccuracy in honoring
-  %%   constraints, except if only bounds are specified. 
-  %%   _Warning_: If constraints (or bounds) are set, returned guesses
-  %%   of corp, covp, and Z are generally invalid, even if no constraints
-  %%   are active for the final parameters. If equality constraints are
-  %%   specified, corp, covp, and Z are not guessed at all.
-  %%   Field 'options.cpiv': Function for complementary pivot algorithm
-  %%   for inequality constraints, default: cpiv_bard. No different
-  %%   function is supplied.
-  %%
-  %%          OUTPUT VARIABLES
-  %% f = column vector of values computed: f = F(x,p).
-  %% p = column vector trial or final parameters. i.e, the solution.
-  %% cvg = 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, intercept form.
-  %%
-  %% Not suitable for non-real residuals.
-
   %% The following two blocks of comments are chiefly from the original
   %% version for Matlab. For later changes the logs of the Octave Forge
   %% svn repository should also be consulted.
@@ -217,11 +221,6 @@
   %% constraints also implemented. Olaf Till
   %% Now split into files leasqr.m and __lm_svd__.m.
 
-  %%
-  %% References:
-  %% Bard, Nonlinear Parameter Estimation, Academic Press, 1974.
-  %% Draper and Smith, Applied Regression Analysis, John Wiley and Sons, 1981.
-
   %% needed for some anonymous functions
   if (exist ('ifelse') ~= 5)
     ifelse = @ scalar_ifelse;
--- a/main/optim/inst/line_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/line_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,19 @@
-## Copyright (C) 2000 Ben Sapp.  All rights reserved.
+## Copyright (C) 2000 Ben Sapp <bsapp@lanl.gov>
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+## Copyright (C) 2011 Nir Krakauer nkrakauer@ccny.cuny.edu
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## [a,fx,nev] = line_min (f, dx, args, narg, h, nev_max) - Minimize f() along dx
 ##
@@ -27,25 +32,8 @@
 ## nev  : integer : Number of function evaluations
 ##
 ## (*) The notation f(x+a*dx) assumes that args == {x}.
-
-## Author: Ben Sapp <bsapp@lanl.gov>
+##
 ## Reference: David G Luenberger's Linear and Nonlinear Programming
-##
-## Changelog : -----------
-## 2002-01-28 Paul Kienzle
-## * save two function evaluations by inlining the derivatives
-## * pass through varargin{:} to the function
-## 2002-03-13 Paul Kienzle
-## * simplify update expression
-## 2002-04-17 Etienne Grossmann <etienne@isr.ist.utl.pt>
-## * Rename nrm.m to line_min.m (in order not to break dfp, which uses nrm)
-## * Use list of args, suppress call to __pseudo_func__
-## * Add nargs argument, assume args is a list
-## * Change help text
-## 2011-11-27 Nir Krakauer
-## * made step size h configurable
-## * modified to limit the number of function evaluations
-## * added a check to ensure that the function value returned was never more than the initial value
 
 function [a,fx,nev] = line_min (f, dx, args, narg, h, nev_max)
   velocity = 1;
@@ -92,4 +80,4 @@
 endfunction
 
 ## Rem : Although not clear from the code, the returned a always seems to
-## correspond to (nearly) optimal fx.
\ No newline at end of file
+## correspond to (nearly) optimal fx.
--- a/main/optim/inst/linprog.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/linprog.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
 ## Copyright (C) 2009 Luca Favatella <slackydeb@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn{Function File} {@var{x} =} linprog (@var{f}, @var{A}, @var{b})
@@ -44,9 +44,6 @@
 ## @seealso{glpk}
 ## @end deftypefn
 
-## Author: Luca Favatella <slackydeb@gmail.com>
-## Version: 0.5
-
 function [x fval] = linprog (f, A, b,
                              Aeq = [], beq = [],
                              lb = [], ub = [])
@@ -117,7 +114,6 @@
 
 endfunction
 
-
 %!test
 %! f = [1; -1];
 %! A = [];
@@ -129,7 +125,6 @@
 %! x_exp = [2; 0];
 %! assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp);
 
-
 %!shared f, A, b, lb, ub, x_exp, fval_exp
 %! f  = [21 25 31 34  23 19 32  36 27 25 19]';
 %!
@@ -161,4 +156,4 @@
 %!test
 %! Aeq = zeros (1, rows (f));
 %! beq = 0;
-%! assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp);
\ No newline at end of file
+%! assert (linprog (f, A, b, Aeq, beq, lb, ub), x_exp);
--- a/main/optim/inst/mdsmax.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/mdsmax.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,52 +1,66 @@
-function [x, fmax, nf] = mdsmax(fun, x, stopit, savit, varargin)
-%MDSMAX  Multidirectional search method for direct search optimization.
-%        [x, fmax, nf] = MDSMAX(FUN, x0, STOPIT, SAVIT) attempts to
-%        maximize the function FUN, using the starting vector x0.
-%        The method of multidirectional search is used.
-%        Output arguments:
-%               x    = vector yielding largest function value found,
-%               fmax = function value at x,
-%               nf   = number of function evaluations.
-%        The iteration is terminated when either
-%               - the relative size of the simplex is <= STOPIT(1)
-%                 (default 1e-3),
-%               - STOPIT(2) function evaluations have been performed
-%                 (default inf, i.e., no limit), or
-%               - a function value equals or exceeds STOPIT(3)
-%                 (default inf, i.e., no test on function values).
-%        The form of the initial simplex is determined by STOPIT(4):
-%          STOPIT(4) = 0: regular simplex (sides of equal length, the default),
-%          STOPIT(4) = 1: right-angled simplex.
-%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
-%        If a non-empty fourth parameter string SAVIT is present, then
-%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
-%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
-%            and in function calls, x has the same shape as x0.
-%        MDSMAX(fun, x0, STOPIT, SAVIT, P1, P2,...) allows additional
-%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%% Copyright (C) 2002 N.J.Higham
+%% Copyright (C) 2003 Andy Adler <adler@ncf.ca>
+%%
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
 
-% This implementation uses 2n^2 elements of storage (two simplices), where x0
-% is an n-vector.  It is based on the algorithm statement in [2, sec.3],
-% modified so as to halve the storage (with a slight loss in readability).
+%%MDSMAX  Multidirectional search method for direct search optimization.
+%%        [x, fmax, nf] = MDSMAX(FUN, x0, STOPIT, SAVIT) attempts to
+%%        maximize the function FUN, using the starting vector x0.
+%%        The method of multidirectional search is used.
+%%        Output arguments:
+%%               x    = vector yielding largest function value found,
+%%               fmax = function value at x,
+%%               nf   = number of function evaluations.
+%%        The iteration is terminated when either
+%%               - the relative size of the simplex is <= STOPIT(1)
+%%                 (default 1e-3),
+%%               - STOPIT(2) function evaluations have been performed
+%%                 (default inf, i.e., no limit), or
+%%               - a function value equals or exceeds STOPIT(3)
+%%                 (default inf, i.e., no test on function values).
+%%        The form of the initial simplex is determined by STOPIT(4):
+%%          STOPIT(4) = 0: regular simplex (sides of equal length, the default),
+%%          STOPIT(4) = 1: right-angled simplex.
+%%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
+%%        If a non-empty fourth parameter string SAVIT is present, then
+%%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
+%%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
+%%            and in function calls, x has the same shape as x0.
+%%        MDSMAX(fun, x0, STOPIT, SAVIT, P1, P2,...) allows additional
+%%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%%
+%% This implementation uses 2n^2 elements of storage (two simplices), where x0
+%% is an n-vector.  It is based on the algorithm statement in [2, sec.3],
+%% modified so as to halve the storage (with a slight loss in readability).
+%%
+%% References:
+%% [1] V. J. Torczon, Multi-directional search: A direct search algorithm for
+%%     parallel machines, Ph.D. Thesis, Rice University, Houston, Texas, 1989.
+% [2] V. J. Torczon, On the convergence of the multidirectional search
+%%     algorithm, SIAM J. Optimization, 1 (1991), pp. 123-145.
+%% [3] N. J. Higham, Optimization by direct search in matrix computations,
+%%     SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
+%% [4] N. J. Higham, Accuracy and Stability of Numerical Algorithms,
+%%        Second edition, Society for Industrial and Applied Mathematics,
+%%        Philadelphia, PA, 2002; sec. 20.5.
 
 % From Matrix Toolbox 
 % Copyright (C) 2002 N.J.Higham
 % www.maths.man.ac.uk/~higham/mctoolbox
-% distributed under the terms of the GNU General Public License
-%
 % Modifications for octave by A.Adler 2003
-% $Id$
 
-% References:
-% [1] V. J. Torczon, Multi-directional search: A direct search algorithm for
-%     parallel machines, Ph.D. Thesis, Rice University, Houston, Texas, 1989.
-% [2] V. J. Torczon, On the convergence of the multidirectional search
-%     algorithm, SIAM J. Optimization, 1 (1991), pp. 123-145.
-% [3] N. J. Higham, Optimization by direct search in matrix computations,
-%     SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
-% [4] N. J. Higham, Accuracy and Stability of Numerical Algorithms,
-%        Second edition, Society for Industrial and Applied Mathematics,
-%        Philadelphia, PA, 2002; sec. 20.5.
+function [x, fmax, nf] = mdsmax(fun, x, stopit, savit, varargin)
 
 x0 = x(:);  % Work with column vector internally.
 n = length(x0);
--- a/main/optim/inst/minimize.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/minimize.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## [x,v,nev,...] = minimize (f,args,...) - Minimize f
 ##
@@ -104,7 +107,7 @@
 ##                  or, if a 2nd order method is used :
 ##
 ##              [x,v,nev] = feval (backend, control.d2f, args, control)
-##
+
 function [x,v,nev,varargout] = minimize (f,args,varargin)
 
 ## Oldies
--- a/main/optim/inst/nelder_mead_min.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/nelder_mead_min.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
-## Copyright (C) 2002-2008 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002-2008 Etienne Grossmann <etienne@cs.uky.edu>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## Changelog: 
-## 2002 / 05 / 09 : Default is no restart next to solution
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## [x0,v,nev] = nelder_mead_min (f,args,ctl) - Nelder-Mead minimization
 ##
@@ -80,11 +80,9 @@
 ##                  mind not getting a true minimum.                     <0>
 ##
 ## verbose, v     Be more or less verbose (quiet=0)                      <0>
+
 function [x,v,nev] = nelder_mead_min (f, args, varargin)
 
-## Author : Etienne Grossmann <etienne@cs.uky.edu>
-
-
 verbose = 0;
 
 				# Default control variables
--- a/main/optim/inst/nmsmax.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/nmsmax.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,46 +1,59 @@
-function [x, fmax, nf] = nmsmax(fun, x, stopit, savit, varargin)
-%NMSMAX  Nelder-Mead simplex method for direct search optimization.
-%        [x, fmax, nf] = NMSMAX(FUN, x0, STOPIT, SAVIT) attempts to
-%        maximize the function FUN, using the starting vector x0.
-%        The Nelder-Mead direct search method is used.
-%        Output arguments:
-%               x    = vector yielding largest function value found,
-%               fmax = function value at x,
-%               nf   = number of function evaluations.
-%        The iteration is terminated when either
-%               - the relative size of the simplex is <= STOPIT(1)
-%                 (default 1e-3),
-%               - STOPIT(2) function evaluations have been performed
-%                 (default inf, i.e., no limit), or
-%               - a function value equals or exceeds STOPIT(3)
-%                 (default inf, i.e., no test on function values).
-%        The form of the initial simplex is determined by STOPIT(4):
-%           STOPIT(4) = 0: regular simplex (sides of equal length, the default)
-%           STOPIT(4) = 1: right-angled simplex.
-%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
-%           STOPIT(6) indicates the direction (ie. minimization or 
-%                   maximization.) Default is 1, maximization.
-%                   set STOPIT(6)=-1 for minimization
-%        If a non-empty fourth parameter string SAVIT is present, then
-%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
-%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
-%            and in function calls, x has the same shape as x0.
-%        NMSMAX(fun, x0, STOPIT, SAVIT, P1, P2,...) allows additional
-%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%% Copyright (C) 2002 N.J.Higham
+%% Copyright (C) 2003 Andy Adler <adler@ncf.ca>
+%%
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
+%%
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%%NMSMAX  Nelder-Mead simplex method for direct search optimization.
+%%        [x, fmax, nf] = NMSMAX(FUN, x0, STOPIT, SAVIT) attempts to
+%%        maximize the function FUN, using the starting vector x0.
+%%        The Nelder-Mead direct search method is used.
+%%        Output arguments:
+%%               x    = vector yielding largest function value found,
+%%               fmax = function value at x,
+%%               nf   = number of function evaluations.
+%%        The iteration is terminated when either
+%%               - the relative size of the simplex is <= STOPIT(1)
+%%                 (default 1e-3),
+%%               - STOPIT(2) function evaluations have been performed
+%%                 (default inf, i.e., no limit), or
+%%               - a function value equals or exceeds STOPIT(3)
+%%                 (default inf, i.e., no test on function values).
+%%        The form of the initial simplex is determined by STOPIT(4):
+%%           STOPIT(4) = 0: regular simplex (sides of equal length, the default)
+%%           STOPIT(4) = 1: right-angled simplex.
+%%        Progress of the iteration is not shown if STOPIT(5) = 0 (default 1).
+%%           STOPIT(6) indicates the direction (ie. minimization or 
+%%                   maximization.) Default is 1, maximization.
+%%                   set STOPIT(6)=-1 for minimization
+%%        If a non-empty fourth parameter string SAVIT is present, then
+%%        `SAVE SAVIT x fmax nf' is executed after each inner iteration.
+%%        NB: x0 can be a matrix.  In the output argument, in SAVIT saves,
+%%            and in function calls, x has the same shape as x0.
+%%        NMSMAX(fun, x0, STOPIT, SAVIT, P1, P2,...) allows additional
+%%        arguments to be passed to fun, via feval(fun,x,P1,P2,...).
+%% References:
+%% N. J. Higham, Optimization by direct search in matrix computations,
+%%    SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
+%% C. T. Kelley, Iterative Methods for Optimization, Society for Industrial
+%%    and Applied Mathematics, Philadelphia, PA, 1999.
 
 % From Matrix Toolbox 
 % Copyright (C) 2002 N.J.Higham
 % www.maths.man.ac.uk/~higham/mctoolbox
-% distributed under the terms of the GNU General Public License
-%
 % Modifications for octave by A.Adler 2003
-% $Id$
 
-% References:
-% N. J. Higham, Optimization by direct search in matrix computations,
-%    SIAM J. Matrix Anal. Appl, 14(2): 317-333, 1993.
-% C. T. Kelley, Iterative Methods for Optimization, Society for Industrial
-%    and Applied Mathematics, Philadelphia, PA, 1999.
+function [x, fmax, nf] = nmsmax(fun, x, stopit, savit, varargin)
 
 x0 = x(:);  % Work with column vector internally.
 n = length(x0);
--- a/main/optim/inst/nonlin_curvefit.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/nonlin_curvefit.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,24 +1,21 @@
 ## Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-##
 ## @deftypefn {Function File} {[@var{p}, @var{fy}, @var{cvg}, @var{outp}] =} nonlin_curvefit (@var{f}, @var{pin}, @var{x}, @var{y})
-##
 ## @deftypefnx {Function File} {[@var{p}, @var{fy}, @var{cvg}, @var{outp}] =} nonlin_curvefit (@var{f}, @var{pin}, @var{x}, @var{y}, @var{settings})
-##
 ## Frontend for nonlinear fitting of values, computed by a model
 ## function, to observed values.
 ##
@@ -35,7 +32,6 @@
 ## which will be set to @var{x}.
 ##
 ## @seealso {nonlin_residmin}
-##
 ## @end deftypefn
 
 function [p, fy, cvg, outp] = nonlin_curvefit (f, pin, x, y, settings)
--- a/main/optim/inst/nonlin_residmin.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/nonlin_residmin.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,26 +1,25 @@
 ## Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-##
 ## @deftypefn {Function File} {[@var{p}, @var{resid}, @var{cvg}, @var{outp}] =} nonlin_residmin (@var{f}, @var{pin})
-##
 ## @deftypefnx {Function File} {[@var{p}, @var{resid}, @var{cvg}, @var{outp}] =} nonlin_residmin (@var{f}, @var{pin}, @var{settings})
+## Frontend for nonlinear minimization of residuals returned by a model
+## function.
 ##
-## Frontend for nonlinear minimization of residuals returned by a model
-## function. The functions supplied by the user have a minimal
+## The functions supplied by the user have a minimal
 ## interface; any additionally needed constants (e.g. observed values)
 ## can be supplied by wrapping the user functions into anonymous
 ## functions.
@@ -259,7 +258,6 @@
 ## method, with descent in each gradient component; for testing only.
 ##
 ## @seealso {nonlin_curvefit}
-##
 ## @end deftypefn
 
 function [p, resid, cvg, outp] = nonlin_residmin (varargin)
--- a/main/optim/inst/nrm.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/nrm.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,30 +1,27 @@
-## Copyright (C) 2000 Ben Sapp.  All rights reserved.
+## Copyright (C) 2000 Ben Sapp <bsapp@lanl.gov>
+## Copyright (C) 2002 Paul Kienzle <pkienzle@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {@var{xmin} =} nrm(@var{f},@var{x0})
 ## Using @var{x0} as a starting point find a minimum of the scalar
-## function @var{f}.  The Newton-Raphson method is used.  
+## function @var{f}.  The Newton-Raphson method is used.
 ## @end deftypefn
 
-## Author: Ben Sapp <bsapp@lanl.gov>
 ## Reference: David G Luenberger's Linear and Nonlinear Programming
 
-## 2002-01-28 Paul Kienzle
-## * save two function evaluations by inlining the derivatives
-## * pass through varargin{:} to the function
-## 2002-03-13 Paul Kienzle
-## * simplify update expression
-
 function x = nrm(f,x,varargin)
   velocity = 1;
   acceleration = 1;
--- a/main/optim/inst/optim_problems.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/optim_problems.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,25 +1,24 @@
-%% Copyright (C) 2010 Olaf Till <olaf.till@uni-jena.de>
 %% Copyright (C) 2007 Paul Kienzle (sort-based lookup in ODE solver)
 %% Copyright (C) 2009 Thomas Treichl <thomas.treichl@gmx.net>
-%%               (ode23 code)
+%% Copyright (C) 2010 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 3 of the License, or (at
-%% your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
 %%
-%% This program is distributed in the hope that it will be useful, but
-%% WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-%% General Public License for more details.
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% Problems for testing optimizers. Documentation is in the code.
 
 function ret = optim_problems ()
 
-  %% Problems for testing optimizers. Documentation is in the code.
-
   %% As little external code as possible is called. This leads to some
   %% duplication of external code. The advantages are that thus these
   %% problems do not change with evolving external code, and that
@@ -1256,4 +1255,4 @@
 %! verbose = false;
 %! [cy, cp, cvg, iter] = leasqr (p_t.data.x, p_t.data.y, p_t.init_p, p_t.f)
 %! disp (p_t.result.p)
-%! sumsq (cy - p_t.data.y)
\ No newline at end of file
+%! sumsq (cy - p_t.data.y)
--- a/main/optim/inst/optimset_compat.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/optimset_compat.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@isr.ist.utl.pt>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## opt = optimset_compat (...)         - manipulate m*tlab-style options structure
 ## 
@@ -32,7 +35,7 @@
 ##                       backend optimization function that is used and the
 ##                       optional arguments that will be passed to it. See
 ##                       the 'backend' option of minimize().
-## 
+
 function opt = optimset_compat (varargin)
 
 ## Diagnostics  , ["on"|{"off"}] : 
--- a/main/optim/inst/polyconf.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/polyconf.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,6 @@
+## Author: Paul Kienzle <pkienzle@gmail.com>
+## This program is granted to the public domain.
+
 ## [y,dy] = polyconf(p,x,s)
 ##
 ##   Produce prediction intervals for the fitted y. The vector p 
@@ -31,8 +34,6 @@
 ##  plot(xf,yf,'g-;fit;',xf,yf+dyf,'g.;;',xf,yf-dyf,'g.;;',x,y,'xr;data;');
 ##  plot(x,y-polyval(p,x),';residuals;',xf,dyf,'g-;;',xf,-dyf,'g-;;');
 
-## Author: Paul Kienzle
-## This program is granted to the public domain.
 function [y,dy] = polyconf(p,x,varargin)
   alpha = s = [];
   typestr = 'pi';
@@ -45,7 +46,7 @@
     end
   end
   if (nargout>1 && (isempty(s)||nargin<3)) || nargin < 2
-    usage("[y,dy] = polyconf(p,x,s,alpha,['ci'|'pi'])");
+    print_usage;
   end
 
   if isempty(s)
--- a/main/optim/inst/polyfitinf.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/polyfitinf.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,27 +1,28 @@
 ## Copyright (c) 1998-2011 Andrew V. Knyazev <andrew.knyazev@ucdenver.edu>
 ## All rights reserved.
 ##
-## Redistribution and use in source and binary forms, with or without
+## Redistribution and use in source and binary forms, with or without",
 ## modification, are permitted provided that the following conditions are met:
-##     * Redistributions of source code must retain the above copyright
-##       notice, this list of conditions and the following disclaimer.
-##     * Redistributions in binary form must reproduce the above copyright
+##
+##     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.
-##     * Neither the name of the <organization> nor the
-##       names of its contributors may be used to endorse or promote products
-##       derived from this software without specific prior written permission.
+##     3 Neither the name of the author nor the names of its contributors may be
+##       used to endorse or promote products derived from this software without
+##       specific prior written permission.
 ##
-## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-## DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-## DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-## (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS''
+## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+## ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+## SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+## CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 % function [A,REF,HMAX,H,R,EQUAL] = polyfitinf(M,N,K,X,Y,EPSH,MAXIT,REF0)
 %
--- a/main/optim/inst/powell.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/powell.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,21 +1,21 @@
-## Copyright (C) 2011  Nir Krakauer
+## Copyright (C) 2011 Nir Krakauer <nkrakauer@ccny.cuny.edu>
 ##
-## This program is free software: you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} [@var{p}, @var{obj_value}, @var{convergence}, @var{iters}, @var{nevs}] = powell (@var{f}, @var{p0}, @var{control})
-##powell: implements a direction-set (Powell's) method for multidimensional minimization of a function without calculation of the gradient [1, 2]
+## Multidimensional minimization (direction-set method). Implements a direction-set (Powell's) method for multidimensional minimization of a function without calculation of the gradient [1, 2]
 ##
 ## @subheading Arguments
 ##
@@ -79,9 +79,6 @@
 ## @end enumerate
 ## @end deftypefn
 
-## Author: Nir Krakauer <nkrakauer@ccny.cuny.edu>
-## Description: Multidimensional minimization (direction-set method)
-
 ## PKG_ADD: __all_opts__ ("powell");
 
 function [p, obj_value, convergence, iters, nevs] = powell (f, p0, options);
--- a/main/optim/inst/private/__dfdp__.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/private/__dfdp__.m	Fri Mar 30 15:14:48 2012 +0000
@@ -3,18 +3,18 @@
 %% Copyright (C) 1992-1994 Ray Muzic
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
 
 function prt = __dfdp__ (p, func, hook)
 
--- a/main/optim/inst/private/__lm_svd__.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/private/__lm_svd__.m	Fri Mar 30 15:14:48 2012 +0000
@@ -3,18 +3,18 @@
 %% Copyright (C) 1992-1994 Ray Muzic
 %% Copyright (C) 2010, 2011 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
 %%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-%% GNU General Public License for more details.
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
 
 function [p, resid, cvg, outp] = __lm_svd__ (F, pin, hook)
 
--- a/main/optim/inst/residmin_stat.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/residmin_stat.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,22 +1,20 @@
 ## Copyright (C) 2011 Olaf Till <olaf.till@uni-jena.de>
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with this program; If not, see <http://www.gnu.org/licenses/>.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-##
 ## @deftypefn {Function File} {@var{info} =} residmin_stat (@var{f}, @var{p}, @var{settings})
-##
 ## Frontend for computation of statistics for a residual-based
 ## minimization.
 ##
@@ -81,10 +79,8 @@
 ## elements (being @code{1} or @code{-1}), if any, in @code{corp}.
 ##
 ## @seealso {curvefit_stat}
-##
 ## @end deftypefn
 
-
 function ret = residmin_stat (varargin)
 
   if (nargin == 1)
@@ -100,4 +96,4 @@
 
   ret = __residmin_stat__ (varargin{:});
 
-endfunction
\ No newline at end of file
+endfunction
--- a/main/optim/inst/rosenbrock.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/rosenbrock.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,24 +1,24 @@
-# Copyright (C) 2004   Michael Creel   <michael.creel@uab.es>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; If not, see <http://www.gnu.org/licenses/>.
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
-# Rosenbrock function - used to create example obj. fns.
-#
-# Function value and gradient vector of the rosenbrock function
-# The minimizer is at the vector (1,1,..,1),
-# and the minimized value is 0.
-#
+## Rosenbrock function - used to create example obj. fns.
+##
+## Function value and gradient vector of the rosenbrock function
+## The minimizer is at the vector (1,1,..,1),
+## and the minimized value is 0.
+
 function [obj_value, gradient] = rosenbrock(x);
 	dimension = length(x);
 	obj_value = sum(100*(x(2:dimension)-x(1:dimension-1).^2).^2 + (1-x(1:dimension-1)).^2);
--- a/main/optim/inst/samin_example.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/samin_example.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
-# Copyright (C) 2004   Michael Creel   <michael.creel@uab.es>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; If not, see <http://www.gnu.org/licenses/>.
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
+##
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 # samin_example: example script that contains examples of how to call
 # samin for minimization using simulated annealing.
--- a/main/optim/inst/test_d2_min_1.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_d2_min_1.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## Test whether d2_min() functions correctly
 ##
@@ -18,8 +21,6 @@
 ##
 ## If a variables "verbose" is set, then some comments are output.
 
-## Author:  Etienne Grossmann <etienne@cs.uky.edu>
-
 1 ;
 
 if ! exist ("verbose"), verbose = 0; end
--- a/main/optim/inst/test_d2_min_2.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_d2_min_2.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## Test whether d2_min() functions correctly, with two args
 ##
@@ -18,8 +21,6 @@
 ##
 ## If a variables "verbose" is set, then some comments are output.
 
-## Author:        Etienne Grossmann <etienne@cs.uky.edu>
-
 1 ;
 
 ok = 0;
--- a/main/optim/inst/test_d2_min_3.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_d2_min_3.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## Test whether d2_min() functions correctly
 ##
@@ -18,9 +21,6 @@
 ##
 ## If a variables "verbose" is set, then some comments are output.
 
-## Author:        Etienne Grossmann <etienne@cs.uky.edu>
-
-
 1 ;
 
 ok = 0;
--- a/main/optim/inst/test_fminunc_1.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_fminunc_1.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## test_fminunc_compat_1              - Test that fminunc_compat and optimset_compat work
 ##
--- a/main/optim/inst/test_min_1.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_min_1.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,20 +1,20 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
-##
 ## Test an optimization function with the same synopsis as bfgs.m 
-##
-## modified 2004-05-20 by Michael Creel to adapt to bfgsmin
 
 if ! exist ("optim_func"), optim_func = "bfgsmin"; end
 
--- a/main/optim/inst/test_min_2.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_min_2.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,18 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## test_min_2                   - Test that bfgs works
 ##
@@ -18,8 +22,6 @@
 ##
 ## Sets 'ok' to 1 if success, 0 otherwise
 
-## The name of the optimizing function
-## modified 2004-05-20 by Michael Creel to adapt to bfgsmin
 if ! exist ("optim_func"), optim_func = "bfgsmin"; end
 
 ok = 1;
--- a/main/optim/inst/test_min_3.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_min_3.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,15 +1,18 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+## Copyright (C) 2004 Michael Creel <michael.creel@uab.es>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## ok                     - Test that bfgs works with extra
 ##                          arguments 
@@ -19,8 +22,6 @@
 ##
 ## Sets 'ok' to 1 if success, 0 otherwise
 
-## The name of the optimizing function
-## modified 2004-05-20 by Michael Creel to adapt to bfgsmin
 if ! exist ("optim_func"), optim_func = "bfgsmin"; end
 
 ok = 1;
--- a/main/optim/inst/test_min_4.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_min_4.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,14 +1,17 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## test_bfgs              - Test that bfgs works
 ##
--- a/main/optim/inst/test_minimize_1.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_minimize_1.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,19 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
+##
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## ok = test_minimize           - Test that minimize works
-##
 
 ok = 1;				# Remains set if all ok. Set to 0 otherwise
 cnt = 0;			# Test counter
--- a/main/optim/inst/test_nelder_mead_min_1.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_nelder_mead_min_1.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,23 +1,20 @@
-
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
-
-##
 ## Checks wether the function 'nelder_mead_min' works, by making it minimize a
 ## quadratic function.
-##
-
-## Author:  Etienne Grossmann <etienne@cs.uky.edu>
 
 ok = 1;
 cnt = 1;
--- a/main/optim/inst/test_nelder_mead_min_2.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_nelder_mead_min_2.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,21 +1,19 @@
-## Copyright (C) 2002 Etienne Grossmann.  All rights reserved.
+## Copyright (C) 2002 Etienne Grossmann <etienne@cs.uky.edu>
 ##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option) any
-## later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## This is distributed in the hope that it will be useful, but WITHOUT
+## This program is distributed in the hope that it will be useful, but WITHOUT
 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-
-
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
+
 ## Checks wether the function 'nelder_mead_min' accepts options properly
-##
-
-## Author: Etienne Grossmann <etienne@cs.uky.edu>
 
 ok = 1;
 cnt = 1;
--- a/main/optim/inst/test_wpolyfit.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/test_wpolyfit.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,11 +1,11 @@
+## Author: Paul Kienzle <pkienzle@gmail.com>
+## This program is granted to the public domain.
+
 ## Tests for wpolyfit.
 ##
 ## Test cases are taken from the NIST Statistical Reference Datasets
 ##    http://www.itl.nist.gov/div898/strd/
 
-## Author: Paul Kienzle
-## This program is public domain
-
 1;
 
 function do_test(n,x,y,p,dp,varargin)
--- a/main/optim/inst/vfzero.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/vfzero.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,22 +1,18 @@
 ## Copyright (C) 2008, 2009 VZLU Prague, a.s.
-##
-## This file is part of Octave.
+## Copyright (C) 2010 Olaf Till <olaf.till@uni-jena.de>
 ##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
+## This program is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 3 of the License, or (at your option) any later
+## version.
 ##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
+## This program is distributed in the hope that it will be useful, but WITHOUT
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+## details.
 ##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-##
-## Author: Jaroslav Hajek <highegg@gmail.com>
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {} vfzero (@var{fun}, @var{x0})
@@ -83,7 +79,7 @@
 ## the need for external functions and error handling. The algorithm has
 ## also been slightly modified.
 
-## Vectorized by Olaf Till.
+## Author: Jaroslav Hajek <highegg@gmail.com>
 
 ## PKG_ADD: __all_opts__ ("vfzero");
 
--- a/main/optim/inst/wpolyfit.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/wpolyfit.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,5 @@
+## Author: Paul Kienzle <pkienzle@gmail.com>
+## This program is granted to the public domain.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{p}, @var{s}] =} wpolyfit (@var{x}, @var{y}, @var{dy}, @var{n})
@@ -90,12 +92,8 @@
 ## New Jersey: John Wiley and Sons, Inc.
 ##
 ## @end deftypefn
-##
 ## @seealso{polyfit,polyconf}
 
-## This program is in the public domain.
-## Author: Paul Kienzle <pkienzle@users.sf.net>
-
 function [p_out, s, mu] = wpolyfit (varargin)
 
   ## strip 'origin' of the end
--- a/main/optim/inst/wrap_f_dfdp.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/wrap_f_dfdp.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,29 +1,29 @@
 %% Copyright (C) 2010 Olaf Till <olaf.till@uni-jena.de>
 %%
-%% This program is free software; you can redistribute it and/or modify
-%% it under the terms of the GNU General Public License as published by
-%% the Free Software Foundation; either version 3 of the License, or (at
-%% your option) any later version.
+%% This program is free software; you can redistribute it and/or modify it under
+%% the terms of the GNU General Public License as published by the Free Software
+%% Foundation; either version 3 of the License, or (at your option) any later
+%% version.
+%%
+%% This program is distributed in the hope that it will be useful, but WITHOUT
+%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+%% details.
 %%
-%% This program is distributed in the hope that it will be useful, but
-%% WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-%% General Public License for more details.
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see <http://www.gnu.org/licenses/>.
+
+%% [ret1, ret2] = wrap_f_dfdp (f, dfdp, varargin)
 %%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; If not, see <http://www.gnu.org/licenses/>.
+%% f and dftp should be the objective function (or "model function" in
+%% curve fitting) and its jacobian, respectively, of an optimization
+%% problem. ret1: f (varagin{:}), ret2: dfdp (varargin{:}). ret2 is
+%% only computed if more than one output argument is given. This
+%% manner of calling f and dfdp is needed by some optimization
+%% functions.
 
 function [ret1, ret2] = wrap_f_dfdp (f, dfdp, varargin)
 
-  %% [ret1, ret2] = wrap_f_dfdp (f, dfdp, varargin)
-  %%
-  %% f and dftp should be the objective function (or "model function" in
-  %% curve fitting) and its jacobian, respectively, of an optimization
-  %% problem. ret1: f (varagin{:}), ret2: dfdp (varargin{:}). ret2 is
-  %% only computed if more than one output argument is given. This
-  %% manner of calling f and dfdp is needed by some optimization
-  %% functions.
-
   if (nargin < 3)
     print_usage ();
   end
@@ -41,3 +41,5 @@
   if (nargout > 1)
     ret2 = dfdp (varargin{:});
   end
+
+end
--- a/main/optim/inst/wsolve.m	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/inst/wsolve.m	Fri Mar 30 15:14:48 2012 +0000
@@ -1,3 +1,6 @@
+## Author: Paul Kienzle <pkienzle@gmail.com>
+## This program is granted to the public domain.
+
 ## [x,s] = wsolve(A,y,dy)
 ##
 ## Solve a potentially over-determined system with uncertainty in
@@ -49,8 +52,6 @@
 ## you should expect a corresponding increase in the scatter of 
 ## the data, which will increase the variance computed by the fit.
 
-## This program is public domain.
-
 function [x_out,s]=wsolve(A,y,dy)
   if nargin < 2, usage("[x dx] = wsolve(A,y[,dy])"); end
   if nargin < 3, dy = []; end
--- a/main/optim/src/__bfgsmin.cc	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/src/__bfgsmin.cc	Fri Mar 30 15:14:48 2012 +0000
@@ -1,18 +1,17 @@
-// Copyright (C) 2004,2005,2006,2007,2010  Michael Creel   <michael.creel@uab.es>
+// Copyright (C) 2004,2005,2006,2007,2010 Michael Creel <michael.creel@uab.es>
 //
-//  This program is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 2 of the License, or
-//  (at your option) any later version.
+// This program is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free Software
+// Foundation; either version 3 of the License, or (at your option) any later
+// version.
 //
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+// details.
 //
-//  You should have received a copy of the GNU General Public License
-//  along with this program; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see <http://www.gnu.org/licenses/>.
 
 // the functions defined in this file are:
 // __bfgsmin_obj: bulletproofed objective function that allows checking for availability of analytic gradient
@@ -21,15 +20,12 @@
 // __newtonstep: default stepsize algorithm
 // __bfgsmin: the DLD function that does the minimization, to be called from bfgsmin.m
 
-
-
 #include <oct.h>
 #include <octave/parse.h>
 #include <octave/Cell.h>
 #include <octave/lo-mappers.h>
 #include <float.h>
 #include "error.h"
- 
 
 int __bfgsmin_obj(double &obj, const std::string f, const octave_value_list f_args, const ColumnVector theta, const int minarg)
 {
--- a/main/optim/src/__disna_optim__.cc	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/src/__disna_optim__.cc	Fri Mar 30 15:14:48 2012 +0000
@@ -1,24 +1,17 @@
-/*
-
-Copyright (C) 2011 Olaf Till
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, see
-<http://www.gnu.org/licenses/>.
-
-*/
+// Copyright (C) 2011 Olaf Till <olaf.till@uni-jena.de>
+//
+// This program is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free Software
+// Foundation; either version 3 of the License, or (at your option) any later
+// version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+// details.
+//
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see <http://www.gnu.org/licenses/>.
 
 // This function has also been submitted to Octave (bug #33503).
 
--- a/main/optim/src/numgradient.cc	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/src/numgradient.cc	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
-// Copyright (C) 2004, 2006   Michael Creel   <michael.creel@uab.es>
+// Copyright (C) 2004, 2006 Michael Creel <michael.creel@uab.es>
 //
-//  This program is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 2 of the License, or
-//  (at your option) any later version.
+// This program is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free Software
+// Foundation; either version 3 of the License, or (at your option) any later
+// version.
 //
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+// details.
 //
-//  You should have received a copy of the GNU General Public License
-//  along with this program; If not, see <http://www.gnu.org/licenses/>.
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see <http://www.gnu.org/licenses/>.
 
 // numgradient: numeric central difference gradient
 
--- a/main/optim/src/numhessian.cc	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/src/numhessian.cc	Fri Mar 30 15:14:48 2012 +0000
@@ -1,17 +1,17 @@
-// Copyright (C) 2004, 2006   Michael Creel   <michael.creel@uab.es>
+// Copyright (C) 2004, 2006 Michael Creel <michael.creel@uab.es>
 //
-//  This program is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 2 of the License, or
-//  (at your option) any later version.
+// This program is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free Software
+// Foundation; either version 3 of the License, or (at your option) any later
+// version.
 //
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+// details.
 //
-//  You should have received a copy of the GNU General Public License
-//  along with this program; If not, see <http://www.gnu.org/licenses/>.
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see <http://www.gnu.org/licenses/>.
 
 // numhessian: numeric second derivative
 
--- a/main/optim/src/samin.cc	Fri Mar 30 15:02:12 2012 +0000
+++ b/main/optim/src/samin.cc	Fri Mar 30 15:14:48 2012 +0000
@@ -1,19 +1,18 @@
-// Copyright (C) 2004, 2006   Michael Creel   <michael.creel@uab.es>
+// Copyright (C) 2004, 2006 Michael Creel <michael.creel@uab.es>
 //
-//  This program is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 2 of the License, or
-//  (at your option) any later version.
+// This program is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free Software
+// Foundation; either version 3 of the License, or (at your option) any later
+// version.
 //
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+// details.
 //
-//  You should have received a copy of the GNU General Public License
-//  along with this program; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see <http://www.gnu.org/licenses/>.
+
 // References:
 //
 // The code follows the article