Package: libruby1.8
Version: 1.8.2-9
Severity: important

Ruby has a Matrix class in it's standard library that you can use with
"require 'matrix'" -- handy! Except, it is totally broken; not only do a
lot of things not work, but the things that "work" give incorrect
results!

Some examples:

1) It miscalculates the determinant:

>> require 'matrix'
=> true
>> x = Matrix[[3,-1,4],[2,5,1],[2,0,6]]
=> Matrix[[3, -1, 4], [2, 5, 1], [2, 0, 6]]
>> x.det
=> 90
>> x.t.det
=> 126

Notice that not only is the determinant wrong (it should be 60), but the
determinant of the transpose is wrong differently (det(A) == det(A^T)).

2) It doesn't do inversion right:

>> x.inverse
=> Matrix[[0, 1, 0], [0, 0, 0], [0, 0, 0]]
>> x.inverse.inverse
ExceptionForMatrix::ErrNotRegular: Not Regular Matrix
        from /usr/lib/ruby/1.8/matrix.rb:595:in `inverse_from'
        from /usr/lib/ruby/1.8/matrix.rb:591:in `inverse_from'
        from /usr/lib/ruby/1.8/matrix.rb:580:in `inverse'
        from (irb):6

So, one, the inverse is totally wrong, but the inverse isn't invertable.

This isn't just a fluke; I haven't got it to give the correct answer for
ANY matrix I've tried. There are quite a few other things that are
horribly broken.

Anyway, it's nice to have a Matrix class, and having a Matrix class with
some broken functionality isn't that bad, but it's *much worse* to have a
horribly broken Matrix class that does the wrong thing and gives bad
results.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-amd64-k8-sk98lin
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages libruby1.8 depends on:
ii  libc6                         2.3.5-6    GNU C Library: Shared libraries an
ii  libncurses5                   5.4-9      Shared libraries for terminal hand
ii  zlib1g                        1:1.2.3-4  compression library - runtime

libruby1.8 recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to