Ok I've added the function gsl_multifit_linear_rank
which now returns the effective rank of the matrix. It is in the git repository Patrick On 09/29/2016 04:02 PM, Timothée Flutre wrote: > Thanks for your answers! > > Patrick, indeed, after looking at the code, the difference arose between > versions 1.16 and 2.0. However, I can't use gsl_multifit_linear because I > also need the rank to compute the unbiased estimate of the error variance, > as well as the p value. > The rank was returned before by gsl_multifit_linear_svd, but not anymore. > By looking at the current code, I see that the rank is computed inside > multifit_linear_solve which is not available via the API. > > Is there a way to solve this without changing the API again? > > Tim > > 2016-09-22 18:00 GMT+02:00 <[email protected]>: > >> Send Help-gsl mailing list submissions to >> [email protected] >> >> To subscribe or unsubscribe via the World Wide Web, visit >> https://lists.gnu.org/mailman/listinfo/help-gsl >> or, via email, send a message with subject or body 'help' to >> [email protected] >> >> You can reach the person managing the list at >> [email protected] >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of Help-gsl digest..." >> >> >> Today's Topics: >> >> 1. change in gsl_multifit_linear_svd (Timoth?e Flutre) >> 2. Re: change in gsl_multifit_linear_svd (Patrick Alken) >> 3. Re: change in gsl_multifit_linear_svd (Mohammad Akhlaghi) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Wed, 21 Sep 2016 21:10:57 +0200 >> From: Timoth?e Flutre <[email protected]> >> To: [email protected] >> Subject: [Help-gsl] change in gsl_multifit_linear_svd >> Message-ID: >> <CAGJVmuLYccg=YvFfRXi5Tsjfa45r2KVzS=t+1Q- >> [email protected]> >> Content-Type: text/plain; charset=UTF-8 >> >> Hello, >> >> did gsl_multifit_linear_svd change at some point after GSL 1.16? I couldn't >> see any mention of it in the NEWS file, but a user reported to me that my >> code doesn't compile anymore with GSL 2.1. >> Could someone add this somewhere in the NEWS file? >> >> Moreover, does someone know how I can use conditionals with the Autotools >> (via ./configure) so that, if the user has GSL <= 1.16, the compiled code >> uses gsl_multifit_linear_svd whereas if the user has GSL >= 2.0 the >> compiled code uses gsl_multifit_linear? >> >> Best, >> Tim >> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 22 Sep 2016 06:12:26 +0100 >> From: Patrick Alken <[email protected]> >> To: <[email protected]> >> Subject: Re: [Help-gsl] change in gsl_multifit_linear_svd >> Message-ID: <[email protected]> >> Content-Type: text/plain; charset="utf-8" >> >> The linear least squares code was rewritten (I think prior to 2.0) so >> its possible that the svd routine changed, but I don't remember exactly >> what the change was! If there was an API change it should have been done >> prior to 2.0 (which was the reason for jumping to 2.0 instead of 1.17). >> Sorry for the headache you're having now - the behavior of >> gsl_multifit_linear should be the same for both GSL versions - can you >> just use that instead? >> >> On 09/21/2016 08:10 PM, Timoth?e Flutre wrote: >>> Hello, >>> >>> did gsl_multifit_linear_svd change at some point after GSL 1.16? I >> couldn't >>> see any mention of it in the NEWS file, but a user reported to me that my >>> code doesn't compile anymore with GSL 2.1. >>> Could someone add this somewhere in the NEWS file? >>> >>> Moreover, does someone know how I can use conditionals with the Autotools >>> (via ./configure) so that, if the user has GSL <= 1.16, the compiled code >>> uses gsl_multifit_linear_svd whereas if the user has GSL >= 2.0 the >>> compiled code uses gsl_multifit_linear? >>> >>> Best, >>> Tim >> >> >> >> >> ------------------------------ >> >> Message: 3 >> Date: Thu, 22 Sep 2016 12:16:48 +0200 >> From: Mohammad Akhlaghi <[email protected]> >> To: [email protected] >> Subject: Re: [Help-gsl] change in gsl_multifit_linear_svd >> Message-ID: <[email protected]> >> Content-Type: text/plain; charset=utf-8; format=flowed >> >> On 09/21/2016 09:10 PM, Timoth?e Flutre wrote: >> >>> Moreover, does someone know how I can use conditionals with the Autotools >>> (via ./configure) so that, if the user has GSL <= 1.16, the compiled code >>> uses gsl_multifit_linear_svd whereas if the user has GSL >= 2.0 the >>> compiled code uses gsl_multifit_linear? >> Once installed, GSL also installs an executable script called >> "gsl-config". If you run it with the "--version" option, this script >> will print the installed version of GSL: >> >> $ gsl-config --version >> >> You can use the output of this command, along with "AX_COMPARE_VERSION" >> (from the GNU Autoconf Archives) to check for the version. The link >> bellow shows how we do it in GNU Astronomy Utilities when we need to >> check the version of Ghostscript: >> >> http://git.savannah.gnu.org/cgit/gnuastro.git/tree/configure.ac >> (See the part that starts with the "Check Ghostscript:" comment) >> >> You don't be needing the check on existance like our Ghostscript check, >> since I assume you will be using `AC_SEARCH_LIBS' for GSL's existance. >> You just need the indented part after `AC_MSG_CHECKING(Ghostscript >> version)'. >> >> You can then pass the check's result into `config.h' and use the >> information in your programming to decide which function to use. >> >> Cheers, >> Mohammad >> >> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> Help-gsl mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/help-gsl >> >> >> ------------------------------ >> >> End of Help-gsl Digest, Vol 154, Issue 8 >> **************************************** >>
