Include dependency graph for ConstrainedOptPack_vector_change_stats.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
|void||vector_change_stats (const DVectorSlice &x, const DVectorSlice &d, value_type *max_term, size_type *max_k, value_type *min_term, size_type *min_k, value_type *av_term)|
|Compute statistics for change in a vector. |
Compute statistics for change in a vector.
Given two vectors x and d where we wish to generate statistics for the update x+d this function computes the following quantitines:
max( |d(i)|/(1+|x(i)|), i=1...n ) => #max_k# = k, #max_term# = |d(k)|/(1+|x(k)|) <= 1\ min( |d(i)|/(1+|x(i)|), i=1...n ) => #min_k# = k, #min_term# = |d(k)|/(1+|x(k)|)#\ #average( |d(i)|/(1+|x(i)|), i=1...10 )# => #av_term#\
The purpose of generating these satistics is to determine by how much x+d differs from x.
If |d(i)|/|x(i)| < mach_eps with x(i) > 0 then we know that d(i) will be lost when added to x(i) so x(i) + d(i) == x(i).