Bug #2770

Matrix: determinant for rectangular matrices should raise an error [patch]

Added by marcandre (Marc-Andre Lafortune) over 2 years ago. Updated about 1 year ago.

[ruby-core:28271]
Status:Closed Start date:02/21/2010
Priority:Normal Due date:
Assignee:marcandre (Marc-Andre Lafortune) % Done:

100%

Category:lib
Target version:1.9.2
ruby -v:ruby 1.9.2dev (2010-01-13 trunk 26316) [x86_64-darwin10.2.0]

Description

Keiju,

$ rubydev -r matrix -e "puts Matrix[[1], [2], [3]].determinant"
0

This corresponds to the documentation, but is not mathematically valid, since the determinant for rectangular matrices is not defined (at least for now! http://bit.ly/bwW7Gs )

I believe an error should be thrown, similar to:
$ rubydev -r matrix -e "puts Matrix[[1], [2], [3]].trace"
/usr/local/rubydev/lib/ruby/1.9.1/matrix.rb:837:in `trace': Matrix dimension mismatch (ExceptionForMatrix::ErrDimensionMismatch)
	from -e:1:in `<main>'

Since this is an API change, I attached a patch and will wait for your approval before committing.

matrix_det.diff (1.5 kB) marcandre (Marc-Andre Lafortune), 02/21/2010 04:46 am

Associated revisions

Revision 27160
Added by marcandre (Marc-Andre Lafortune) about 2 years ago

* lib/matrix.rb: Matrix.determinant: raise on rectangular matrices [ruby-core:28271]

History

Updated by marcandre (Marc-Andre Lafortune) about 2 years ago

  • Category set to lib
  • Assignee changed from keiju (Keiju Ishitsuka) to marcandre (Marc-Andre Lafortune)
  • Target version set to 1.9.2

Updated by marcandre (Marc-Andre Lafortune) about 2 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r27160.
Marc-Andre, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF