[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#510577: marked as done (octave3.0: polyfit breaks down over "large" x values)



Your message dated Tue, 06 Jan 2009 11:32:10 +0000
with message-id <E1LKAAM-0005xt-A4@ries.debian.org>
and subject line Bug#510577: fixed in octave3.0 1:3.0.3-2
has caused the Debian Bug report #510577,
regarding octave3.0: polyfit breaks down over "large" x values
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
510577: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510577
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: octave2.1
Version: 1:2.1.72-8
Severity: normal

There are reports [1-4] over the years on the octave mailing lists about
octave's polyfit function.  When the x-values are "large" (e.g. 1000s
instead of 1s) then the fit at higher orders (e.g. order 10) is completely
screwed up.

Some of the reports [1] suggest prescaling (e.g. divide x-values by 1000)
before fitting. This does work.

Others [2,3] provide a script to fix the problem. Unfortunately they do NOT
work successfully for me (same bad fitting is obtained).

Another [4] claims that the problem is fixed in wpolyfit from octave-forge.
Unfortunately this is in fact NOT the case. wpolyfit gives the same
incorrect result as polyfit.

So I'm filing this bug to document the problem, rather than letting
half-rumoured fixes float littered somewhere on mailing lists. I guess
you'll want to notify upstream if you agree the problem is really.

The misbehaviour can be seen from my attached sample data, scripting as
follows:

	inputData = load( "test.dat" );
    	x = inputData( : , 1 );
      	y = inputData( : , 2 );
      	P = polyfit(x,y,10);
	polyval(P,x);
	
The coefficients in P are strangely all close to zero (< 1E-25).

Rescaling x provides the desired non-zero coefficients and an "exact" fit of
the original data:

	inputData = load( "test.dat" );
    	x = inputData( : , 1 );
      	y = inputData( : , 2 );
	xscaled = x/1000;
      	P = polyfit(xscaled,y,10);
	for k=1:columns(P)
	      power = columns(P)-k;
	      P(k) = P(k) / (1000^power );
	endfor
	polyval(P,x);

It'd be nice if this were to be fixed in polyfit itself, or at least if
wpolyfit would fix it as it's claimed to in [4].


[1] http://www.octave.org/octave-lists/archive/help-octave.1999/msg01008.html
[2] http://www.octave.org/octave-lists/archive/help-octave.1999/msg01027.html
[3] http://www.octave.org/octave-lists/archive/help-octave.1999/msg01052.html
[4] http://www.octave.org/octave-lists/archive/bug-octave.2004/msg00807.html

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)

Versions of packages octave2.1 depends on:
ii  atlas3-base [liblapack.s 3.6.0-20        Automatically Tuned Linear Algebra
ii  fftw3                    3.0.1-14        library for computing Fast Fourier
ii  lapack3 [liblapack.so.3] 3.0.20000531a-6 library of linear algebra routines
ii  libc6                    2.3.5-11        GNU C Library: Shared libraries an
ii  libgcc1                  1:4.0.2-6       GCC support library
ii  libgfortran0             4.0.2-6         Runtime library for GNU Fortran ap
ii  libhdf5-serial-1.6.4-0c2 1.6.4-4         Hierarchical Data Format 5 (HDF5) 
ii  libncurses5              5.5-1           Shared libraries for terminal hand
ii  libreadline5             5.1-5           GNU readline and history libraries
ii  libstdc++6               4.0.2-6         The GNU Standard C++ Library v3
ii  refblas3 [libblas.so.3]  1.2-8           Basic Linear Algebra Subroutines 3
ii  texinfo                  4.8-4           Documentation system for on-line i
ii  zlib1g                   1:1.2.3-9       compression library - runtime

octave2.1 recommends no packages.

-- no debconf information


--- End Message ---
--- Begin Message ---
Source: octave3.0
Source-Version: 1:3.0.3-2

We believe that the bug you reported is fixed in the latest version of
octave3.0, which is due to be installed in the Debian FTP archive:

octave2.9-doc_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9-doc_3.0.3-2_all.deb
octave2.9-emacsen_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9-emacsen_3.0.3-2_all.deb
octave2.9-headers_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9-headers_3.0.3-2_all.deb
octave2.9-htmldoc_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9-htmldoc_3.0.3-2_all.deb
octave2.9-info_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9-info_3.0.3-2_all.deb
octave2.9_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave2.9_3.0.3-2_all.deb
octave3.0-common_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave3.0-common_3.0.3-2_all.deb
octave3.0-dbg_3.0.3-2_amd64.deb
  to pool/main/o/octave3.0/octave3.0-dbg_3.0.3-2_amd64.deb
octave3.0-doc_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave3.0-doc_3.0.3-2_all.deb
octave3.0-emacsen_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave3.0-emacsen_3.0.3-2_all.deb
octave3.0-headers_3.0.3-2_amd64.deb
  to pool/main/o/octave3.0/octave3.0-headers_3.0.3-2_amd64.deb
octave3.0-htmldoc_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave3.0-htmldoc_3.0.3-2_all.deb
octave3.0-info_3.0.3-2_all.deb
  to pool/main/o/octave3.0/octave3.0-info_3.0.3-2_all.deb
octave3.0_3.0.3-2.diff.gz
  to pool/main/o/octave3.0/octave3.0_3.0.3-2.diff.gz
octave3.0_3.0.3-2.dsc
  to pool/main/o/octave3.0/octave3.0_3.0.3-2.dsc
octave3.0_3.0.3-2_amd64.deb
  to pool/main/o/octave3.0/octave3.0_3.0.3-2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 510577@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Rafael Laboissiere <rafael@debian.org> (supplier of updated octave3.0 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 03 Jan 2009 12:28:47 +0100
Source: octave3.0
Binary: octave3.0 octave3.0-doc octave3.0-htmldoc octave3.0-headers octave3.0-emacsen octave3.0-info octave2.9 octave2.9-doc octave2.9-htmldoc octave2.9-headers octave2.9-emacsen octave2.9-info octave3.0-dbg octave3.0-common
Architecture: source amd64 all
Version: 1:3.0.3-2
Distribution: experimental
Urgency: low
Maintainer: Debian Octave Group <pkg-octave-devel@lists.alioth.debian.org>
Changed-By: Rafael Laboissiere <rafael@debian.org>
Description: 
 octave2.9  - GNU Octave language for numerical computations (dummy package)
 octave2.9-doc - PDF documentation on the GNU Octave language (dummy package)
 octave2.9-emacsen - Emacs support for the GNU Octave language (dummy package)
 octave2.9-headers - header files for the GNU Octave language (dummy package)
 octave2.9-htmldoc - HTML documentation on the GNU Octave language (dummy package)
 octave2.9-info - GNU Info documentation on the GNU Octave language (dummy package)
 octave3.0  - GNU Octave language for numerical computations (3.0 branch)
 octave3.0-common - architecture-independent files for octave3.0
 octave3.0-dbg - Debug symbols for octave3.0
 octave3.0-doc - PDF documentation on the GNU Octave language (3.0 branch)
 octave3.0-emacsen - Emacs support for the GNU Octave language (3.0 branch)
 octave3.0-headers - header files for the GNU Octave language (3.0 branch)
 octave3.0-htmldoc - HTML documentation on the GNU Octave language (3.0 branch)
 octave3.0-info - GNU Info documentation on the GNU Octave language (3.0 branch)
Closes: 510577
Changes: 
 octave3.0 (1:3.0.3-2) experimental; urgency=low
 .
   * debian/patches/polyfit-scaling.dpatch: Add patch for introducing a new
     polyfit.m taken from the Mercurial upstream repository.  This version
     has a new algorithm that improves the numerical stability of the
     results for ill-conditioned input values (closes: #510577).
   * debian/in/control:
     + Synch with the lenny branch
     + Build-depend on libsuitesparse-dev >= 3.2.0
Checksums-Sha1: 
 4b2289e861b264e6e615f7cb871a52105dad6423 1977 octave3.0_3.0.3-2.dsc
 6672f4523a0ea1df60f16651214cca712a781774 63951 octave3.0_3.0.3-2.diff.gz
 702da232d41b8c49a1fd7f376b7cdcd56c49caa6 7471102 octave3.0_3.0.3-2_amd64.deb
 d4fa0349521b03af87172ae2de1222c6cf53d6d4 451634 octave3.0-headers_3.0.3-2_amd64.deb
 c1b29260e8f6ef5907e0f645c42a2283c6e68fc4 40151788 octave3.0-dbg_3.0.3-2_amd64.deb
 5820f5e7ee924c67f6acf80ba93be9a2363fec95 4843032 octave3.0-doc_3.0.3-2_all.deb
 a0b4768df2d15a75faea41aa9dd1b90f4a89aff0 968636 octave3.0-htmldoc_3.0.3-2_all.deb
 887251d07fe560ee37308e1b8b1da30565f6e421 98250 octave3.0-emacsen_3.0.3-2_all.deb
 c2e126d9c809674581b294cf6e35c28a19b2b384 498894 octave3.0-info_3.0.3-2_all.deb
 a1e37551097818d90def28c68458366634999bb9 73736 octave2.9_3.0.3-2_all.deb
 963e40eba3a26de6e625ba15b7bfe5f4351359e7 73740 octave2.9-doc_3.0.3-2_all.deb
 7f3354f91c70cdd86e2a39068f060c2589bbf12a 73756 octave2.9-htmldoc_3.0.3-2_all.deb
 546db9c5fcf8e9f1fcecf9f619df68f0e117d2e7 73748 octave2.9-headers_3.0.3-2_all.deb
 2099025889232686ca62080a5bf33f4957d912de 73750 octave2.9-emacsen_3.0.3-2_all.deb
 e0ab5334603a0d18ce236ae80f22a9408ced1329 73748 octave2.9-info_3.0.3-2_all.deb
 c3857c5b107580871fda83aac8dc94cfccb4d5bc 678872 octave3.0-common_3.0.3-2_all.deb
Checksums-Sha256: 
 205b9926136bf57dd8d0d44d9377ecb4e7af68d16fda408f3f4a65cfb3b8e73b 1977 octave3.0_3.0.3-2.dsc
 f379ef2e89f82f003d5d351c51750fe4c9e0ff055a9e74ddb3d981cdfce00026 63951 octave3.0_3.0.3-2.diff.gz
 9ac5ad74adb695c11ebf2ab920f14bf9c8333ab9b2d334fc95e1c38049939afb 7471102 octave3.0_3.0.3-2_amd64.deb
 7bd9488b9aca4efedef6853e314a833eee98eac42be38889683b8266b6d08a63 451634 octave3.0-headers_3.0.3-2_amd64.deb
 855c64ce35722fa83383b5a46ddab4bb3df1794ffd33d0ac16517c3d1c395da4 40151788 octave3.0-dbg_3.0.3-2_amd64.deb
 785f407959e264a58d56077b4f85d89579624281bb7dad96b51c532120f1e206 4843032 octave3.0-doc_3.0.3-2_all.deb
 66e1ac27cb2e948c7da0b6fae92afb26f94d186f57d0b5349839bdaed8998599 968636 octave3.0-htmldoc_3.0.3-2_all.deb
 6b3bc72bfb146c229e393a95ce30e21c768b1b7c43d7b6c574c383ccfb2ff532 98250 octave3.0-emacsen_3.0.3-2_all.deb
 3faa70eb5b5b0e6f055e334b58af0c8e426c571665a9fdee6b8b66f85e39e164 498894 octave3.0-info_3.0.3-2_all.deb
 59053b0d966249884aa099f26a3c7d7c9bc9ff4080f3a9bd69a85ea6be1d9f46 73736 octave2.9_3.0.3-2_all.deb
 a7a753cffe358ec770dce2eae5582c0275551e3ddd7281e14c89c0c6ad96df7d 73740 octave2.9-doc_3.0.3-2_all.deb
 61b14f994d319b162c5d0fec93f1f3d616c58aa3314f8109faae476df6a93090 73756 octave2.9-htmldoc_3.0.3-2_all.deb
 db84c0ec4b6f24a694c38bc7fa02cf911016c3cd7eb52b45d317c75f668307ae 73748 octave2.9-headers_3.0.3-2_all.deb
 346f832d6e7af88c5625b10eaac11bd66c988122756e47be4156d5cd064ab03c 73750 octave2.9-emacsen_3.0.3-2_all.deb
 5c78f362cf8e5bc8f57b6923bd32060eaa5fe8a224f57faa7856ef95efba6645 73748 octave2.9-info_3.0.3-2_all.deb
 fc2ac29be435ab232d75f58805d6df7de8cfb88c42ba1e9fe777c65bfa8cc023 678872 octave3.0-common_3.0.3-2_all.deb
Files: 
 967928a08c699a8f4e8d6f34f2eb6198 1977 math optional octave3.0_3.0.3-2.dsc
 21d29de9d8df1dfcf1695cde9150f42c 63951 math optional octave3.0_3.0.3-2.diff.gz
 c42b2fa1aa40c4d8e754538e096e7caf 7471102 math optional octave3.0_3.0.3-2_amd64.deb
 4a8ddf819653db5fb246a802243cc0ce 451634 math optional octave3.0-headers_3.0.3-2_amd64.deb
 764446f6af1b8f892d65edcce1e10ef9 40151788 devel extra octave3.0-dbg_3.0.3-2_amd64.deb
 3e093a071fdf46d10de27dda072816c5 4843032 doc optional octave3.0-doc_3.0.3-2_all.deb
 b9470e2004813767b7286e6002b0828d 968636 doc optional octave3.0-htmldoc_3.0.3-2_all.deb
 ac55837a2e20de642d3548aeff879c03 98250 math optional octave3.0-emacsen_3.0.3-2_all.deb
 ecc566192f84c14f09c620493d69aee0 498894 math optional octave3.0-info_3.0.3-2_all.deb
 c7fc2708682cb502a2701bd6d6d82772 73736 math optional octave2.9_3.0.3-2_all.deb
 fa326627a6a6108546373647997fbe5b 73740 doc optional octave2.9-doc_3.0.3-2_all.deb
 8f547b44350a236b8a8f20b1d9551e3c 73756 doc optional octave2.9-htmldoc_3.0.3-2_all.deb
 d64241c36fb09f971ef8c6e7cfae50cd 73748 math optional octave2.9-headers_3.0.3-2_all.deb
 0e91f7551c7c9aaa78875c68e63c7ece 73750 math optional octave2.9-emacsen_3.0.3-2_all.deb
 d25276e7069db4f8a176504fee3333e7 73748 math optional octave2.9-info_3.0.3-2_all.deb
 84d09b1bbdf92a3fa65d661451e37334 678872 devel extra octave3.0-common_3.0.3-2_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFJYz3Pk3oga0pdcv4RAiA4AKCdjgBB7BiUY4iaRDJzmjZ42iY4YQCfVWXF
XAoqy85NviTbl0wscAWOcpQ=
=lIld
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: