Граф коммитов

121 Коммитов

Автор SHA1 Сообщение Дата
marcandre 969057c95a * lib.matrix.rb: Fix typo. Patch by Dimitrios Zorbas. [GH-772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 01:03:46 +00:00
marcandre 387e0dbe3f * lib/matrix.rb: Vector#independent? and associated class method
patch by gogo tanaka [#10451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 17:44:46 +00:00
marcandre 4da89e192a * lib/matrix.rb: Add Vector#angle_with
Patch by Egunov Dmitriy [#10442]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 17:32:58 +00:00
marcandre aa87ea9915 * lib/matrix.rb: Generalize Vector#cross_product to arbitrary dimensions
based on a patch by gogo tanaka [#10074]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:43:52 +00:00
marcandre 764524f65b * lib/matrix.rb: Add Matrix#adjucate
patch by gogo tanaka [#10056]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:43:28 +00:00
marcandre dc38c87779 * lib/matrix.rb: Add aliases for Vector#cross & dot
patch by gogo tanaka [#10352]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:42:56 +00:00
marcandre a2ae7bccf8 * lib/matrix.rb: Add @- and @+ for Matrix and Vector.
patch by gogo tanaka [#10068] [#10069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:18:35 +00:00
marcandre 56d5728589 * lib/matrix.rb: Add Matrix#laplace_expansion.
patch by gogo tanaka [#10073]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:30:48 +00:00
marcandre eb9c3e7120 * lib/matrix.rb: Add Vector.basis.
Based on patch by gogo tanaka [#10072]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:29:53 +00:00
marcandre 5b46b07bf3 * lib/matrix.rb: Add hstack & vstack methods.
Based on a patch by creasywuqiong. [Fix GH-344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 03:44:20 +00:00
marcandre f59098d118 * lib/matrix.rb: Fix Matrix.rows copy bug.
Patch by Arron Mabrey. [Fix GH-707]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 03:38:06 +00:00
ayumin 1ddf81134b * lib/matrix.rb: Fix docs. Patched by Ben Woodall. [GH-726]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-24 22:54:10 +00:00
marcandre b0eda56826 * lib/matrix.rb: Avoid using `and`.
Patch by gogo tanaka [#10058]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-18 10:04:15 +00:00
marcandre 72d0536606 * lib/matrix.rb: Fix sign for cross_product [#9499]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 05:19:33 +00:00
marcandre d11d87c362 * lib/matrix.rb: Add Matrix#cofactor [fix GH-568]
Patch by gogotanaka

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-06 17:46:16 +00:00
marcandre b8ba202301 * lib/matrix.rb: Add first_minor [fix GH-568]
Patch by gogotanaka

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-06 17:45:54 +00:00
marcandre bcf8dd1096 * lib/matrix: Handle empty diagonal matrix case [fix GH-576]
Patch by gogotanaka

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-06 17:45:07 +00:00
marcandre 2ea4ed6395 * lib/matrix.rb: Fix typo in rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-19 16:36:42 +00:00
marcandre 2106aa1990 * lib/matrix.rb: Add Vector#cross_product, patch by Luis Ezcurdia
[fix GH-276] [rubyspec:81eec89a124]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 03:08:28 +00:00
marcandre 9a912c66d4 * lib/matrix.rb: Fix error message, patch by pypypy [Bug #7777]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-05 05:43:36 +00:00
marcandre ddea0c8232 * lib/matrix.rb: Take conjugate for inner product
[rubyspec:5a01ad5719f2] [ruby-dev:46101]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-30 04:53:58 +00:00
zzak f2a997d858 * lib/matrix.rb (#dup): typo in example [ruby-core:50946][Bug #7582]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 17:36:56 +00:00
marcandre 8aac5f48fc * lib/matrix: alias {row|column}_size to {row|column}_count and use the latter.
[Bug #7369] [ruby-core:49409]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 16:53:57 +00:00
marcandre 23798cd67b * lib/matrix.rb: Fix determinant_e [ruby-dev:46305] [Bug #7228]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 18:21:17 +00:00
nobu e6c5b9f308 revert r37326 "remove string literal concatenation"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 14:06:31 +00:00
nobu db1f7079b6 remove string literal concatenation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 10:07:22 +00:00
nobu 7c2230bd8c matrix.rb: complex vector
* lib/matrix.rb (Vector#magnitude): accumulate squares of absolute
  values to fix for complex vector.  [ruby-dev:46100] [Bug #6966]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 05:49:06 +00:00
marcandre b62792e540 * lib/matrix.rb (hermitian?): Bug fix, patch by George Koehler
[Bug #6290] [rubyspec:4b9573d7613]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 03:17:45 +00:00
drbrain 68bf801c39 * lib/matrix.rb: Clean up extra whitespace in output documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-26 03:04:11 +00:00
marcandre b906a46edd * lib/matrix.rb (symmetric?): Trivial optimization
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-30 06:04:04 +00:00
marcandre 506b253856 * lib/matrix.rb: Deal with subclasses of Matrix [redmine #5307]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-10 20:23:36 +00:00
naruse 53e667a9eb Remove duplicated definition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-09 19:11:06 +00:00
marcandre 1e696acc7e * lib/matrix.rb: Add Vector#normalize [ruby-dev:43829]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-09 02:41:14 +00:00
marcandre c8e2388257 * lib/matrix: Add LUP decomposition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-01 06:23:12 +00:00
marcandre 59a3d59496 * lib/matrix.rb: Allow non integer exponents for Matrix#**
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-01 06:21:24 +00:00
marcandre 004c34f9de * lib/matrix: Add Eigenvalue Decomposition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-01 06:13:35 +00:00
marcandre 376b825127 * lib/matrix: Add Matrix#round
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-01 06:10:40 +00:00
marcandre 54bbc098fa * lib/matrix.rb: Matrix.zero can build rectangular matrices.
Vector#r should be called #magnitude

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-29 01:13:22 +00:00
marcandre de97e946f0 * lib/matrix.rb: Add Matrix#diagonal?, hermitian?, normal?, orthogonal?
permutation?, symmetric?, {lower|upper}triangular?, unitary?, zero?

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-29 01:11:19 +00:00
marcandre 22ffae4009 * lib/matrix.rb: Specialize Matrix#find_index to return [row, col]
and accept the same optional argument as #each

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-29 01:09:46 +00:00
marcandre dfc6bf9da8 * lib/matrix.rb: Matrix#each{_with_index} can iterate over a subset of the Matrix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-29 01:08:02 +00:00
naruse 0de2d84af8 Clean warnings: unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 05:32:46 +00:00
marcandre 159fd9ee6c * lib/matrix.rb (eql?, ==, minor): Fix bugs when comparing/returning
some empty matrices.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-05 04:18:08 +00:00
marcandre 87c1da091c * lib/matrix.rb: trivial optimizations
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-05 04:17:44 +00:00
marcandre ef83d7a928 * lib/matrix.rb (determinant): Trivial optimization (thanks to Benoit Daloze)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:09:31 +00:00
marcandre ec8b5d0625 * NEWS: List all changes to lib/matrix
* lib/matrix.rb: Improve doc and style. Trivial optimizations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-02 05:43:29 +00:00
marcandre 0a3c78face * lib/matrix.rb: Improve algorithm for Matrix#determinant and Matrix#rank
{determinant,det,rank}_e are now deprecated. [ruby-core:28273]
  Also fixes a bug in Determinant#rank (e.g. [[0,1][0,1][0,1]])

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 18:19:12 +00:00
marcandre a3a4542fb4 * lib/matrix.rb (Matrix#singular?, Matrix#regular?): raise on rectangular
matrices, and use determinant instead of rank.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 18:18:58 +00:00
marcandre 17fa2ce73a * lib/matrix.rb: New method Matrix.build [ruby-core:28272]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 20:10:43 +00:00
marcandre 521f4a4beb * lib/matrix.rb: Deprecate Vector#elements_to{i/f/r}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 18:50:51 +00:00