# HG changeset patch
# User carandraug
# Date 1333120488 0
# Node ID d30cfca46e8a49d2e3dc25ea4fa6e748ce45abcb
# Parent df50d0ae107fc8a0e6c7da5d1d43f0bcfede0148
optim: upgrade license to GPLv3+ and mention on DESCRIPTION the other package licenses
diff -r df50d0ae107f -r d30cfca46e8a main/optim/COPYING
--- 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.
- 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.
-
-
- Copyright (C)
-
- 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 .
-
-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.
-
- , 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/DESCRIPTION
--- 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/LinearRegression.m
--- 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
+##
+## 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 .
-% 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
-##
-## 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 .
+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)');
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/__bracket_min.m
--- 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
+## Copyright (C) 2009 Levente Torok
+##
+## 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 .
+
## [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
-## Modified by: Levente Torok
-## 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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/__poly_2_extrema.m
--- 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
+## Copyright (C) 2009 Levente Torok
+##
+## 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 .
+
## 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/__semi_bracket.m
--- 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
+## Copyright (C) 2009 Levente Torok
+##
+## 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 .
+
## [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
-## Modified by: Levente Torok
-## 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/adsmax.m
--- 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
+%%
+%% 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 .
+
+%%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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/battery.m
--- 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
-#
-# 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 .
-# (c) Michael Creel
+## Copyright (C) 2004 Michael Creel
+##
+## 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 .
-# 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/bfgsmin.m
--- 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
+## Copyright (C) 2006 Michael Creel
##
-## 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 .
## bfgsmin: bfgs or limited memory bfgs minimization of function
##
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/bfgsmin_example.m
--- 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
-#
-# 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
+##
+## 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 .
# usage: bfgsmin_example (to run) or edit bfgsmin_example (to examine)
##
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/brent_line_min.m
--- 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
+##
+## 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 .
+
## -*- 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/cdiff.m
--- 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
+##
+## 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 .
## 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,
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/cg_min.m
--- 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
+## Copyright (C) 2009 Levente Torok
+##
+## 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 .
+
## -*- 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
-## Modified by: Levente Torok
-## This software is distributed under the terms of the GPL
-
function [x,v,nev] = cg_min (f, dfn, args, ctl)
verbose = 0;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/cpiv_bard.m
--- 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
+%%
+%% 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 .
+
+%% [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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/curvefit_stat.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/d2_min.m
--- 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
##
-## 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 .
## [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
-##
-
maxout = inf;
maxinner = 30 ;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/dcdp.m
--- 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
%%
-%% 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 .
+
+%% 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 .
+%% 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/de_min.m
--- 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
-## 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 .
-##
-## Changelog:
-##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## 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
## Keywords: global-optimisation optimisation minimisation
function [bestmem, bestval, nfeval, convergence] = de_min(fcn, varargin)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/deriv.m
--- 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
## Copyright (C) 2011 Carnë Draug
##
-## 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 .
## -*- texinfo -*-
## @deftypefn {Function File} {@var{dx} =} deriv (@var{f}, @var{x0})
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/dfdp.m
--- 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
%%
-%% 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 .
+
+%% 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 .
+%% 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.
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/dfpdp.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
%%
-%% 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 .
+
+%% 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 .
+%% 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/dfxpdp.m
--- 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
%%
-%% 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 .
+
+%% 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 .
+%% 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/expfit.m
--- 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
+## Copyright (C) 2002 Rolf Fabian
+##
+## 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 .
+
## 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 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/fmin.m
--- 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 .
+## 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 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 .
function ret=fmin(varargin)
## alias for fminbnd
-
- ret = fminbnd(varargin{:});
+ ret = fminbnd(varargin{:});
endfunction
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/fmins.m
--- 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 .
+## 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 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 .
## -*- texinfo -*-
## @deftypefn {Function File} {[@var{x}] =} fmins(@var{f},@var{X0},@var{options},@var{grad},@var{P1},@var{P2}, ...)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/fminsearch.m
--- 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
+## Copyright (C) 2006 Sylvain Pelissier
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/fminunc_compat.m
--- 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
+##
+## 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 .
## [x,v,flag,out,df,d2f] = fminunc_compat (f,x,opt,...) - M*tlab-like optimization
##
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/gjp.m
--- 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
%%
-%% 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 .
+
+%% 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/jacobs.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- texinfo -*-
## @deftypefn {Function File} {Df =} jacobs (@var{x}, @var{f})
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/leasqr.m
--- 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
+%% Copyright (C) 1992-1994 Ray Muzic
%% Copyright (C) 2010, 2011 Olaf Till
%%
-%% 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 .
+
+%%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 .
+%% 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/line_min.m
--- 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
+## Copyright (C) 2002 Etienne Grossmann
+## 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 .
## [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
+##
## 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
-## * 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.
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/linprog.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- texinfo -*-
## @deftypefn{Function File} {@var{x} =} linprog (@var{f}, @var{A}, @var{b})
@@ -44,9 +44,6 @@
## @seealso{glpk}
## @end deftypefn
-## Author: Luca Favatella
-## 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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/mdsmax.m
--- 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
+%%
+%% 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 .
-% 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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/minimize.m
--- 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
+##
+## 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 .
## [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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/nelder_mead_min.m
--- 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
##
-## 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 .
## [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
-
-
verbose = 0;
# Default control variables
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/nmsmax.m
--- 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
+%%
+%% 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 .
+
+%%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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/nonlin_curvefit.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/nonlin_residmin.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/nrm.m
--- 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
+## Copyright (C) 2002 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 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 .
## -*- 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
## 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/optim_problems.m
--- 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
%% Copyright (C) 2007 Paul Kienzle (sort-based lookup in ODE solver)
%% Copyright (C) 2009 Thomas Treichl
-%% (ode23 code)
+%% Copyright (C) 2010 Olaf Till
%%
-%% 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 .
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see .
+
+%% 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/optimset_compat.m
--- 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
+##
+## 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 .
## 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"}] :
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/polyconf.m
--- 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
+## 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/polyfitinf.m
--- 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
## 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 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 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)
%
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/powell.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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
-## Description: Multidimensional minimization (direction-set method)
-
## PKG_ADD: __all_opts__ ("powell");
function [p, obj_value, convergence, iters, nevs] = powell (f, p0, options);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/private/__dfdp__.m
--- 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
%%
-%% 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 .
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see .
function prt = __dfdp__ (p, func, hook)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/private/__lm_svd__.m
--- 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
%%
-%% 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 .
+%% You should have received a copy of the GNU General Public License along with
+%% this program; if not, see .
function [p, resid, cvg, outp] = __lm_svd__ (F, pin, hook)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/residmin_stat.m
--- 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
##
-## 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 .
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/rosenbrock.m
--- 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
-#
-# 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 .
+## Copyright (C) 2004 Michael Creel
+##
+## 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 .
-# 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);
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/samin_example.m
--- 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
-#
-# 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 .
+## Copyright (C) 2004 Michael Creel
+##
+## 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 .
# samin_example: example script that contains examples of how to call
# samin for minimization using simulated annealing.
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_d2_min_1.m
--- 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
+##
+## 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 .
## Test whether d2_min() functions correctly
##
@@ -18,8 +21,6 @@
##
## If a variables "verbose" is set, then some comments are output.
-## Author: Etienne Grossmann
-
1 ;
if ! exist ("verbose"), verbose = 0; end
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_d2_min_2.m
--- 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
+##
+## 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 .
## 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
-
1 ;
ok = 0;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_d2_min_3.m
--- 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
+##
+## 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 .
## Test whether d2_min() functions correctly
##
@@ -18,9 +21,6 @@
##
## If a variables "verbose" is set, then some comments are output.
-## Author: Etienne Grossmann
-
-
1 ;
ok = 0;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_fminunc_1.m
--- 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
+##
+## 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 .
## test_fminunc_compat_1 - Test that fminunc_compat and optimset_compat work
##
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_min_1.m
--- 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
+## Copyright (C) 2004 Michael Creel
##
-## 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 .
-##
## 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_min_2.m
--- 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
+## Copyright (C) 2004 Michael Creel
+##
+## 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 .
## 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_min_3.m
--- 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
+## Copyright (C) 2004 Michael Creel
+##
+## 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 .
## 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;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_min_4.m
--- 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
+##
+## 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 .
## test_bfgs - Test that bfgs works
##
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_minimize_1.m
--- 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
+##
+## 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 .
## ok = test_minimize - Test that minimize works
-##
ok = 1; # Remains set if all ok. Set to 0 otherwise
cnt = 0; # Test counter
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_nelder_mead_min_1.m
--- 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
##
-## 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 .
-
-##
## Checks wether the function 'nelder_mead_min' works, by making it minimize a
## quadratic function.
-##
-
-## Author: Etienne Grossmann
ok = 1;
cnt = 1;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_nelder_mead_min_2.m
--- 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
##
-## 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 .
+
## Checks wether the function 'nelder_mead_min' accepts options properly
-##
-
-## Author: Etienne Grossmann
ok = 1;
cnt = 1;
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/test_wpolyfit.m
--- 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
+## 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)
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/vfzero.m
--- 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
##
-## 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
-## .
-##
-## Author: Jaroslav Hajek
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, see .
## -*- 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
## PKG_ADD: __all_opts__ ("vfzero");
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/wpolyfit.m
--- 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
+## 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
-
function [p_out, s, mu] = wpolyfit (varargin)
## strip 'origin' of the end
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/wrap_f_dfdp.m
--- 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
%%
-%% 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 .
+
+%% [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 .
+%% 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/inst/wsolve.m
--- 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
+## 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
diff -r df50d0ae107f -r d30cfca46e8a main/optim/src/__bfgsmin.cc
--- 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
+// Copyright (C) 2004,2005,2006,2007,2010 Michael Creel
//
-// 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 .
// 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
#include
#include
#include
#include
#include "error.h"
-
int __bfgsmin_obj(double &obj, const std::string f, const octave_value_list f_args, const ColumnVector theta, const int minarg)
{
diff -r df50d0ae107f -r d30cfca46e8a main/optim/src/__disna_optim__.cc
--- 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
-.
-
-*/
+// Copyright (C) 2011 Olaf Till
+//
+// 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 .
// This function has also been submitted to Octave (bug #33503).
diff -r df50d0ae107f -r d30cfca46e8a main/optim/src/numgradient.cc
--- 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
+// Copyright (C) 2004, 2006 Michael Creel
//
-// 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 .
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see .
// numgradient: numeric central difference gradient
diff -r df50d0ae107f -r d30cfca46e8a main/optim/src/numhessian.cc
--- 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
+// Copyright (C) 2004, 2006 Michael Creel
//
-// 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 .
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, see .
// numhessian: numeric second derivative
diff -r df50d0ae107f -r d30cfca46e8a main/optim/src/samin.cc
--- 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
+// Copyright (C) 2004, 2006 Michael Creel
//
-// 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 .
+
// References:
//
// The code follows the article