From 5ef335319e925422adad386b9a3395b38c705a7b Mon Sep 17 00:00:00 2001 From: marcandre Date: Thu, 1 Apr 2010 18:06:08 +0000 Subject: * lib/matrix.rb: Matrix.determinant: raise on rectangular matrices [ruby-core:28271] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/matrix.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/matrix.rb b/lib/matrix.rb index 18f53b7316..dbae755204 100644 --- a/lib/matrix.rb +++ b/lib/matrix.rb @@ -717,8 +717,8 @@ class Matrix #++ # - # Returns the determinant of the matrix. If the matrix is not square, the - # result is 0. This method's algorithm is Gaussian elimination method + # Returns the determinant of the matrix. + # This method's algorithm is Gaussian elimination method # and using Numeric#quo(). Beware that using Float values, with their # usual lack of precision, can affect the value returned by this method. Use # Rational values or Matrix#det_e instead if this is important to you. @@ -727,7 +727,7 @@ class Matrix # => 45.0 # def determinant - return 0 unless square? + Matrix.Raise ErrDimensionMismatch unless square? size = row_size a = to_a @@ -757,8 +757,8 @@ class Matrix alias det determinant # - # Returns the determinant of the matrix. If the matrix is not square, the - # result is 0. This method's algorithm is Gaussian elimination method. + # Returns the determinant of the matrix. + # This method's algorithm is Gaussian elimination method. # This method uses Euclidean algorithm. If all elements are integer, # really exact value. But, if an element is a float, can't return # exact value. @@ -767,7 +767,7 @@ class Matrix # => 63 # def determinant_e - return 0 unless square? + Matrix.Raise ErrDimensionMismatch unless square? size = row_size a = to_a -- cgit v1.2.3