Warning of complex arguments and Armijo failure?
Show older comments
Hello everyone, Can anyone tell me what does this error mean?
Armijo failure, too many reductions
1.0e+04 *
0 2.6314 0 0 0
0.0001 2.2707 0.0001 0.0001 0.0002
0.0002 1.4105 0.0001 0.0001 0
0.0003 0.3922 0.0002 0.0000 0
0.0004 0.1087 0.0003 0.0000 0
0.0005 0.0368 0.0012 0.0000 0
0.0006 0.0132 0.0010 0.0000 0
0.0007 0.0055 0.0014 0.0000 0
0.0008 0.0053 0.0022 0.0001 0.0003
0.0009 0.0053 0.0007 0.0001 0.0019
Warning: Imaginary parts of complex X and/or Y arguments ignored > In myoz at 203
Answers (1)
Not with any firm authority. You show no code, and the warning message you've shown is thrown by a function myoz() that isn't a stock MATLAB function.
However, it may help to know that the Armijo rule is used in some function minimization algorithms to search for a sufficiently large step downhill along some search direction. It involves trying successively smaller steps until a sufficient descent criterion is satisfied. The warning message seems to say that it has tried many more step reductions than it thinks should be required, and still not been able to satisfy the criterion.
The 2nd warning is letting you know that complex values are being generated somewhere. Since you are presumably minimizing a function, the function should be real-valued, so complex values are probably not what you want.
4 Comments
Uday padidela
on 22 Sep 2014
Edited: Matt J
on 22 Sep 2014
When I run your code, I get
Undefined function 'nsoli' for input arguments of type 'double'.
Error in test>myoz (line 38)
[sol, it_hist, ierr] = nsoli(x,'oz',tol);
Error in test (line 3)
[h,c]=myoz
Uday padidela
on 25 Sep 2014
Matt J
on 25 Sep 2014
Do we even know that it's an error? The messages you've shown are just warnings. In any case, you can use
>>dbstop if warning
to trap the cause.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!