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
marcandre
3f64c83eb1
* lib/matrix.rb: Deprecate elements_to_{f/i/r}
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 18:45:58 +00:00
marcandre
e0cfb13c32
* lib/matrix.rb: Handle coercion errors by raising TypeErrors [ruby-core:26736]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 18:30:58 +00:00
kazu
4900daa4a3
fix rdoc. see r27156
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-07 08:50:36 +00:00
marcandre
5ef335319e
* 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
2010-04-01 18:06:08 +00:00
marcandre
729941da39
* lib/matrix.rb: New Complex instance methods:
...
conjugate, conj, imaginary, imag, real, real?, rectangular, rect
[ruby-core:26285]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 18:05:11 +00:00
marcandre
277cb36b21
* lib/matrix.rb: New methods Matrix#each, #each_with_index, and
...
include Enumerable [ruby-core:28400]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 18:04:14 +00:00
marcandre
af6e31b344
* lib/matrix.rb (empty): Reject negative sizes
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 18:03:15 +00:00
marcandre
fac245828b
* lib/matrix.rb: New method #empty? [ruby-core:26284]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 18:02:27 +00:00
marcandre
39aad8fa83
* lib/matrix.rb: removed compare_by*, inspect_org, cf [ruby-core:26268]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 18:01:45 +00:00
keiju
cd492563f8
* lib/matrix.rb(Vector#each2, Vector#collect2): add type check for
...
Integer[Bug #2495 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-29 11:27:03 +00:00
marcandre
b81e045712
* lib/matrix.rb (Vector#each): Return self and optimization [ruby-core:28405]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-03 14:07:53 +00:00
matz
800dda6c28
* lib/matrix.rb (Vector#each2, collect2): small refactoring.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-03 07:21:21 +00:00
matz
2cfb894d2a
* lib/matrix.rb (Vector#each): make Vector enumerable.
...
[ruby-core:28405]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-03 07:19:21 +00:00
mame
9f714e35ec
* lib/matrix.rb (Vector#each2): returns a self. [ruby-dev:40241]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-01 12:27:46 +00:00
keiju
afc9fce01f
* lib/matrix.rb: add exception Matrix::ErrOperationNotImplemented
...
[ruby-dev:40149].
* lib/matrix.rb: change message of exception
Matrix::ErrOperationNotDefined [ruby-dev:40150], [ruby-dev:40176].
* lib/matrix.rb: add method Vector#/ [ruby-dev:40151].
* lib/matrix.rb(Matrix::Scalar#+,-,/): delete meaningless when
switch. [ruby-dev:40149]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-27 14:28:47 +00:00
mame
a817c0b089
* lib/matrix.rb (determinant): fix name error.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-27 13:49:58 +00:00
akr
a967f738c8
* lib/matrix.rb: suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25 22:08:29 +00:00
nobu
655cb34f17
* lib/matrix.rb (Matrix#inverse_from): use #quo. backported r9490.
...
* lib/matrix.rb (Matrix#determinant): ditto. [ruby-core:27507]
* lib/matrix.rb (Matrix#rank): ditto.
* lib/matrix.rb (Matrix::Scalar#initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-09 20:35:28 +00:00
marcandre
fad1e8c761
* lib/matrix.rb (each2,collect2,map2): Fix enumerator [ruby-core:27225]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-19 02:07:00 +00:00
marcandre
c038e9003c
* lib/matrix.rb (**): Optimization (up to 45% faster)
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-24 20:55:40 +00:00
marcandre
66ed25f633
* lib/matrix (transpose): bug fix for Matrix.empty(0,42).t
...
cf [ruby-core:23598]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-24 06:05:10 +00:00
marcandre
90d244aded
* lib/matrix (column): handle negative arguments. cf [ruby-core:23598]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-24 06:04:56 +00:00
marcandre
e5af8e940b
* lib/matrix (minor): Also handle negative arguments like Array#[]
...
cf [ruby-core:23598]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-24 06:04:41 +00:00
marcandre
86a81951b1
* lib/matrix.rb (transpose, inspect): Bug fix
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-20 19:01:44 +00:00