From: Mike Pelton <mike@di...>  20140521 09:58:11

Hi all – could use a hand with an issue relating to vnl_sparse_lst_sqr_function. In short, its signature changed between 1.14 and 1.17, and I need to understand how to call the 1.17 version to get the same results as I was getting with 1.14. At 1.17 the call I was using grew two extra parameters “int num_params_c”, and “UseWeights w = no_weights”. I tried setting num_params_c to zero and going with the default for w, but I’m getting meaningless results. Can anyone tell me how to call into the 1.17 version to achieve the equivalent of the 1.14 call? The signatures from the code are below incidentally. Thanks Mike Pelton Digicave Ltd Signature at 1.17: //: Construct vnl_sparse_lst_sqr_function. // Assumes A consists of \p num_a parameters each of size \p num_params_per_a // Assumes B consists of \p num_b parameters each of size \p num_params_per_b // Assumes C consists of \p num_params_c parameters // \p xmask is a mask for residual availability. residual e_ij exists only if mask[i][j]==true // Assumes each available residual has size \p num_residuals_per_e // The optional argument should be no_gradient if the gradf function has not // been implemented. Default is use_gradient. vnl_sparse_lst_sqr_function(unsigned int num_a, unsigned int num_params_per_a, unsigned int num_b, unsigned int num_params_per_b, unsigned int num_params_c, const vcl_vector<vcl_vector<bool> >& xmask, unsigned int num_residuals_per_e, UseGradient g = use_gradient, UseWeights w = no_weights); ================================== Signature at 1.14 //: Construct vnl_sparse_lst_sqr_function. // Assumes A consists of \p num_a parameters each of size \p num_params_per_a // Assumes B consists of \p num_b parameters each of size \p num_params_per_b // \p xmask is a mask for residual availability. residual e_ij exists only if mask[i][j]==true // Assumes each available residual has size \p num_residuals_per_e // The optional argument should be no_gradient if the gradf function has not // been implemented. Default is use_gradient. vnl_sparse_lst_sqr_function(unsigned int num_a, unsigned int num_params_per_a, unsigned int num_b, unsigned int num_params_per_b, const vcl_vector<vcl_vector<bool> >& xmask, unsigned int num_residuals_per_e, UseGradient g = use_gradient); ========================== Mike Pelton <http://www.linkedin.com/profile/view?id=4601230&trk=nav_responsive_tab_profile>; Senior Software Engineer phone: +44 (0)1273 748 456 email: <mailto:mike@...> mike@... web: <http://www.digicave.com/>; http://www.digicave.com Digicave Ltd 3 Orange Row Brighton East Sussex BN1 1UQ                       This email is confidential and intended exclusively for the use of the intended recipient(s). Any views or opinions presented are solely those of the author and do not necessarily represent those of Digicave Ltd. If you are not the intended recipient(s) please note that any form of distribution, copying or use of this email or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error, please notify the sender and then delete the message and any attachments from your system. Digicave Ltd is registered in England under Company Number 6499179. Registered Office is 73 Church Road, Hove, BN3 2BB VAT No. 100 0391 90 