ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:48425] [ruby-trunk - Feature #10056] [Open] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
@ 2014-07-18  1:21 ` qlli.illb
  2014-07-18  1:28 ` [ruby-dev:48426] [ruby-trunk - Feature #10056] " qlli.illb
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: qlli.illb @ 2014-07-18  1:21 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been reported by gogo tanaka.

----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056

* Author: gogo tanaka
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:48426] [ruby-trunk - Feature #10056] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
  2014-07-18  1:21 ` [ruby-dev:48425] [ruby-trunk - Feature #10056] [Open] [PATCH 0/1]Add #adjugate method to matrix class qlli.illb
@ 2014-07-18  1:28 ` qlli.illb
  2014-07-18  1:29 ` [ruby-dev:48427] [ruby-trunk - Feature #10056] [Assigned] " shibata.hiroshi
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: qlli.illb @ 2014-07-18  1:28 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been updated by gogo tanaka.

File add_matrix#adjugate_method.patch added

----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056#change-47845

* Author: gogo tanaka
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.


---Files--------------------------------
add_matrix#adjugate_method.patch (2.22 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:48427] [ruby-trunk - Feature #10056] [Assigned] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
  2014-07-18  1:21 ` [ruby-dev:48425] [ruby-trunk - Feature #10056] [Open] [PATCH 0/1]Add #adjugate method to matrix class qlli.illb
  2014-07-18  1:28 ` [ruby-dev:48426] [ruby-trunk - Feature #10056] " qlli.illb
@ 2014-07-18  1:29 ` shibata.hiroshi
  2014-08-21  3:15 ` [ruby-dev:48484] [ruby-trunk - Feature #10056] " nagachika00
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: shibata.hiroshi @ 2014-07-18  1:29 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been updated by Hiroshi SHIBATA.

Status changed from Open to Assigned
Assignee set to Marc-Andre Lafortune

----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056#change-47846

* Author: gogo tanaka
* Status: Assigned
* Priority: Normal
* Assignee: Marc-Andre Lafortune
* Category: 
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.


---Files--------------------------------
add_matrix#adjugate_method.patch (2.22 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:48484] [ruby-trunk - Feature #10056] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2014-07-18  1:29 ` [ruby-dev:48427] [ruby-trunk - Feature #10056] [Assigned] " shibata.hiroshi
@ 2014-08-21  3:15 ` nagachika00
  2014-10-12  7:06 ` [ruby-dev:48617] " mail
  2014-10-29  2:54 ` [ruby-dev:48719] [ruby-trunk - Feature #10056] [Closed] " ruby-core
  5 siblings, 0 replies; 6+ messages in thread
From: nagachika00 @ 2014-08-21  3:15 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been updated by Tomoyuki Chikanaga.


Hello,

The patch seems fine to me.
I'd like to add some assertions for the testcase.
These are deribed from "Properties of Adjugate matrix" in Wikipedia. tanaka san, how about it?

    ## adj(I) = I
    assert_equal(Matrix.identity(2), Matrix.identity(2).adjugate)
    assert_equal(Matrix.identity(3), Matrix.identity(3).adjugate)
    ## adj(A * B) = ajd(B) * adj(A)
    a = Matrix[[4, 1, -3], [0, 3, 7], [11, -4, 2]]
    b = Matrix[[-7, 7, -10], [9, -3, -2], [-1, 3, 9]]
    assert_equal((a * b).adjugate, b.adjugate * a.adjugate)
    ## adj(cA) = c^(n-1) * adj(A)
    assert_equal((3**2) * a.adjugate, (3 * a).adjugate)

Marc-Andre, how do you think?

----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056#change-48430

* Author: gogo tanaka
* Status: Assigned
* Priority: Normal
* Assignee: Marc-Andre Lafortune
* Category: 
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.


---Files--------------------------------
add_matrix#adjugate_method.patch (2.22 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:48617] [ruby-trunk - Feature #10056] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
                   ` (3 preceding siblings ...)
  2014-08-21  3:15 ` [ruby-dev:48484] [ruby-trunk - Feature #10056] " nagachika00
@ 2014-10-12  7:06 ` mail
  2014-10-29  2:54 ` [ruby-dev:48719] [ruby-trunk - Feature #10056] [Closed] " ruby-core
  5 siblings, 0 replies; 6+ messages in thread
From: mail @ 2014-10-12  7:06 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been updated by gogo tanaka.

File update_news.patch added
File implement.patch added
File add_test.patch added

@Tomoyuki Chikanaga san

Sorry for my delay. I was little bit puzzled about how to test well.

I suppose it's better to add not only `#adjugate`but all of such a testcase about properties by instance variable.

I'm gonna make another ticket :)

Right now, I added testcase for `Matrix#adjugate` and separated patches. It ready for merging.

Take your time.


----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056#change-49363

* Author: gogo tanaka
* Status: Assigned
* Priority: Normal
* Assignee: Marc-Andre Lafortune
* Category: 
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.


---Files--------------------------------
add_matrix#adjugate_method.patch (2.22 KB)
update_news.patch (867 Bytes)
implement.patch (1.07 KB)
add_test.patch (1.84 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:48719] [ruby-trunk - Feature #10056] [Closed] [PATCH 0/1]Add #adjugate method to matrix class
       [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
                   ` (4 preceding siblings ...)
  2014-10-12  7:06 ` [ruby-dev:48617] " mail
@ 2014-10-29  2:54 ` ruby-core
  5 siblings, 0 replies; 6+ messages in thread
From: ruby-core @ 2014-10-29  2:54 UTC (permalink / raw
  To: ruby-dev

Issue #10056 has been updated by Marc-Andre Lafortune.

Category set to lib
Status changed from Assigned to Closed

Committed, thanks for this request!

----------------------------------------
Feature #10056: [PATCH 0/1]Add #adjugate method to matrix class
https://bugs.ruby-lang.org/issues/10056#change-49706

* Author: gogo tanaka
* Status: Closed
* Priority: Normal
* Assignee: Marc-Andre Lafortune
* Category: lib
* Target version: 
----------------------------------------
Add Matrix#adjugate to make a matrix adjugate.

Adjugate is really important operator to handle matrix (especially Exploring Data with ruby)

```ruby:
# Property

* Any n-th matrix  `m`(object of Matrix class) Satisfy the following conditions

Matrix.identity(n) == (m.adjugate * m) / m.det

# Differential vector or matrix
Let A = (a(i, j)) is n-th matrix, A(i, j) is adjugate matrix excluding the j and column i row A.

def. ∂det(A)/∂a(i,j) = (-1) ** (i + j) * det(A(i, j))
```

Some people regards adjugate matrix as Hermitian adjoint.

I regard adjuate matrix as transpose of the cofactor matrix by  referencing http://en.wikipedia.org/wiki/Adjugate_matrix.


---Files--------------------------------
add_matrix#adjugate_method.patch (2.22 KB)
update_news.patch (867 Bytes)
implement.patch (1.07 KB)
add_test.patch (1.84 KB)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-10-29  3:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-10056.20140718012109@ruby-lang.org>
2014-07-18  1:21 ` [ruby-dev:48425] [ruby-trunk - Feature #10056] [Open] [PATCH 0/1]Add #adjugate method to matrix class qlli.illb
2014-07-18  1:28 ` [ruby-dev:48426] [ruby-trunk - Feature #10056] " qlli.illb
2014-07-18  1:29 ` [ruby-dev:48427] [ruby-trunk - Feature #10056] [Assigned] " shibata.hiroshi
2014-08-21  3:15 ` [ruby-dev:48484] [ruby-trunk - Feature #10056] " nagachika00
2014-10-12  7:06 ` [ruby-dev:48617] " mail
2014-10-29  2:54 ` [ruby-dev:48719] [ruby-trunk - Feature #10056] [Closed] " ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).