Your message dated Sat, 06 Nov 2021 00:20:42 +0000
with message-id <e1mj9rq-00013y...@fasolo.debian.org>
and subject line Bug#994241: fixed in ruby-lapack 1.8.2-1
has caused the Debian Bug report #994241,
regarding ruby-lapack autopkgtest needs to be adapted for LAPACK 3.10
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 ow...@bugs.debian.org
immediately.)


-- 
994241: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994241
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: ruby-lapack
Version: 1.8.1-1
Severity: serious
Tags: sid bookworm
X-Debbugs-CC: debian...@lists.debian.org
User: debian...@lists.debian.org
Usertags: needs-update

Dear Maintainer,

Since the upload of lapack 3.10.0-1, the autopkgtest of ruby-lapack
fails in unstable. See for example:
https://ci.debian.net/data/autopkgtest/unstable/amd64/r/ruby-lapack/15155031/log.gz

More precisely, the tests about generalized singular value
decomposition (GSVD) fail.

Mathematically, the GSVD does not have a unique solution. For some
reason, lapack 3.10 now returns a different (still valid) solution, but
the ruby-lapack testsuite hardcodes another, specific, solution.

Please find attached a Fortran 2008 source code through which I
verified that the decomposition given by both lapack 3.9 and 3.10 is
valid, though the Q matrix is different between the two versions. The
code needs to be compiled with gfortran, and linked against -llapack. I
verified only the double float decomposition (dggsvd), but the single
float decomposition test (sggsvd) most likely fails for the same
reason.

The testsuite of ruby-lapack thus needs to be adapted, by allowing
alternative solutions (either accept both the old and the new
solutions, or completely rethink the test by only verifying the the
decomposition is valid as I did in my program).

N.B. : when trying to reproduce the problem, please ensure that your
lapack alternative (as given by “update-alternatives --display
liblapack.so.3-x86_64-linux-gnu) points to /usr/lib/x86_64-linux-
gnu/lapack/liblapack.so.3, and not to the binary provided by either
openblas or atlas (because these two have not yet been recompiled
against lapack 3.10, and thus do not expose the problem).

Best regards,

-- 
⢀⣴⠾⠻⢶⣦⠀  Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  https://sebastien.villemot.name
⠈⠳⣄⠀⠀⠀⠀  https://www.debian.org



program ggsvd
  use iso_fortran_env
  implicit none

  interface
     subroutine dggsvd(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, &
          ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, &
          iwork, info)
       import :: real64
       real(real64), dimension(*), intent(inout) :: a, b
       real(real64), dimension(*), intent(out) :: alpha, beta, q, u, v, work
       character, intent(in) :: jobq, jobu, jobv
       integer, intent(in) :: lda, ldb, ldq, ldu, ldv, m, n, p
       integer, intent(out) :: info, k, l
       integer, dimension(*), intent(out) :: iwork
     end subroutine dggsvd
  end interface

  real(real64) :: a(4,3), b(2,3), alpha(3), beta(3), u(4,4), v(2,2), q(3,3), 
work(12), d1(4,3), d2(2,3), a_bak(4,3), b_bak(2,3)
  integer :: info, k, l, iwork(3)

  a = reshape(source = [ real(real64) :: 1., 3., 4., 7., 2., 2., 5., 8., 3., 
1., 6., 8. ], shape = [4,3])
  b = reshape(source = [ real(real64) :: -2., 4., -3., 6., 3., 5. ], shape = [ 
2, 3 ])

  print '("A=",/,4(3es12.4,:,/))', transpose(a)
  print '("B=",/,2(3es12.4,:,/))', transpose(b)

  a_bak = a
  b_bak = b

  call dggsvd("U", "V", "Q", 4, 3, 2, k, l, a, 4, b, 2, alpha, beta, u, 4, v, 
2, q, 3, work, iwork, info)

  print '("U=",/,4(4es12.4,:,/))', transpose(u)
  print '("V=",/,2(2es12.4,:,/))', transpose(v)
  print '("Q=",/,3(3es12.4,:,/))', transpose(q)
  print '("k=",i1)', k
  print '("l=",i1)', l

  if (k /= 1) stop "k is incorrect"
  if (l /= 2) stop "l is incorrect"

  ! We are in the case where M-K-L>0
  ! Also note that N-K-L=0

  d1 = 0._real64
  d1(1,1) = 1._real64
  d1(2,2) = alpha(2)
  d1(3,3) = alpha(3)

  d2 = 0._real64
  d2(1,2) = beta(2)
  d2(2,3) = beta(3)

  associate (r => a(1:3,1:3))
    associate (a2 => matmul(u, matmul(d1, matmul(r, transpose(q)))), &
         b2 => matmul(v, matmul(d2, matmul(r, transpose(q)))))
      print '("Error on reconstructed A: ", es12.4)', maxval(abs(a_bak-a2))
      print '("Error on reconstructed B: ", es12.4)', maxval(abs(b_bak-b2))
    end associate
  end associate
end program ggsvd

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---
--- Begin Message ---
Source: ruby-lapack
Source-Version: 1.8.2-1
Done: Youhei SASAKI <uwab...@gfd-dennou.org>

We believe that the bug you reported is fixed in the latest version of
ruby-lapack, which is due to be installed in the Debian FTP archive.

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 994...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Youhei SASAKI <uwab...@gfd-dennou.org> (supplier of updated ruby-lapack 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 ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 05 Nov 2021 21:05:06 +0900
Source: ruby-lapack
Architecture: source
Version: 1.8.2-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Ruby Team 
<pkg-ruby-extras-maintain...@lists.alioth.debian.org>
Changed-By: Youhei SASAKI <uwab...@gfd-dennou.org>
Closes: 994241 996311
Changes:
 ruby-lapack (1.8.2-1) unstable; urgency=medium
 .
   [ Utkarsh Gupta ]
   * Add salsa-ci.yml
 .
   [ Debian Janitor ]
   * debian/copyright: use spaces rather than tabs to start
     continuation lines.
   * Bump debhelper from old 11 to 12.
   * Set debhelper-compat version in Build-Depends.
   * Drop transition for old debug package migration.
 .
   [ Cédric Boutillier ]
   * [ci skip] Update team name
   * [ci skip] Add .gitattributes to keep unwanted files out
               of the source package
 .
   [ Youhei SASAKI ]
   * Update Depends: ruby-narray >= 0.6.1.2-4 (Closes: #996311)
   * Add Rules-Requires-Root: no
   * New upstream version 1.8.2 (Closes: #994241)
   * update d/watch: use https
   * Bump debhelper compatibility level to 13
   * Bump Standards-Version to 4.6.0 (no changes needed)
   * Add d/souce/lintian-overrides:
     ignore too long lines for auto-generated files
Checksums-Sha1:
 d7be0221fc8165a8110134f4b03df0577fbb1b87 2087 ruby-lapack_1.8.2-1.dsc
 6d5c290efdc0c7bbe2e75441e9c4970828efe238 4109042 ruby-lapack_1.8.2.orig.tar.gz
 bdfdc84b56837c2ba0fd71b6f0e10c8dc6a3431d 9260 ruby-lapack_1.8.2-1.debian.tar.xz
 2cbcad39c4085032beb9f4cb521ac35b94216ee4 9557 
ruby-lapack_1.8.2-1_amd64.buildinfo
Checksums-Sha256:
 aa57b4fa5fb7bc11df8fb4f2315e22d5d0e2e856a6758040c8c39408f6ee20af 2087 
ruby-lapack_1.8.2-1.dsc
 07d21871bfd547db9b8b0699ad29a218e2a95e725d07c75af37953dec2c0bff9 4109042 
ruby-lapack_1.8.2.orig.tar.gz
 62e477866de27ac1c0c7ba74901ea4a370fe36e0bf4d03991a4678742165fa71 9260 
ruby-lapack_1.8.2-1.debian.tar.xz
 016c3d92bc8fb8d7a96c0e6606229b27c78585872e9ed3984399523dee33a24a 9557 
ruby-lapack_1.8.2-1_amd64.buildinfo
Files:
 8e4e5dd98097d95f585a48b4af142459 2087 ruby optional ruby-lapack_1.8.2-1.dsc
 ff97e054ea52f8f23604a273dcaacd9b 4109042 ruby optional 
ruby-lapack_1.8.2.orig.tar.gz
 18e18de8c15e50e20132af3daf26154a 9260 ruby optional 
ruby-lapack_1.8.2-1.debian.tar.xz
 1aea881a132c360379c85bdf0bd1b7cb 9557 ruby optional 
ruby-lapack_1.8.2-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEZqTqcE/iQFWNasLmk5TzVIkdfgcFAmGFx44ACgkQk5TzVIkd
fgefmA/+PGa8f90uRGML7wBZ7SHURX74fvj+LeBjIR5HJ9FdbRmYlfSaJ3p3HXfh
1E8tUlG0okOdRvscG71pm1ZBBSHFogiT5IjXtg0Yobpn/OLFvxe2z8VaZItfgCKn
6mIeciHx/OWmscD5VmeVxx0R7pC7XBpNTW7MRqeyCKCMyQ6MsZLQx8CnCwl3UVs2
SAJdRHxih7xvyrDzdcJlDva3FnCzwuAaJ2KwSKWhkyaLBxvIcg0CzwdA9jN/k/9S
XLWbnXdoKtPXAC+ch1M9xOIulCe5w2+XIUx92RMaPYNelShZ/2dK/Jn0bONtzzHY
WCec0WAnFIYcKqaiJFO04eozf3fvhAIheWeIgSIIhiONi9mjJoyCoKRROIlL4r+G
skJMNemdfOSkWGRFFvT8vFfNMyTW0VWKMuAXlEqwHQjqc0GLrC0YvSkmxoNJu7qB
tG0xDY4JbGtpVwexZCRrIaNc2ghZU8/VBuZf9Npo03GbbroD93CtGZFH00b2b336
jeQRL4A6CzSYd4hk4lGDCFDHOp8nkiK+TtGXcwNNlNR8br77hCvNo++U6SQR9+FA
1FZfz5oCXczotf6pAeJWhh3QxjmmjFPSUZ/kmCMRmID6UC5DK6/PrNr+DGuXDRhq
JXnnWmtfEn7RzzQZy2uO/gzSDUz/4WY3UezV0a/rJC/V3gVV2Eg=
=rEuj
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to