Issue #6967 has been reported by 5.5 (5 5). ---------------------------------------- Bug #6967: Vector#inner_product は複素数ベクトルのとき不適切 https://bugs.ruby-lang.org/issues/6967 Author: 5.5 (5 5) Status: Open Priority: Low Assignee: Category: lib Target version: 1.9.3 ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] #6966 に関連して,Vector#inner_product は成分の単なる積和ですが,複素数ベクトル v については v.inner_product(v) が非負性を破るので,内積の定義に当てはまりません。 複素数ベクトルでは内積といえばエルミート内積(<u,v> = Σ u_i v_i*)なので(* は複素共役),inner_product の定義を p = 0 each2(v) {|v1, v2| p += v1 * v2.conj } p のようにするか,あるいは self や引数が実でないときは例外を出すことにし,inner_product とは別に hermitian_inner_product を導入しては如何でしょうか。
on 2012-09-03 10:29
on 2012-09-05 05:31
Issue #6967 has been updated by marcandre (Marc-Andre Lafortune). Assignee set to marcandre (Marc-Andre Lafortune) ---------------------------------------- Bug #6967: Vector#inner_product は複素数ベクトルのとき不適切 https://bugs.ruby-lang.org/issues/6967#change-29183 Author: 5.5 (5 5) Status: Open Priority: Low Assignee: marcandre (Marc-Andre Lafortune) Category: lib Target version: 1.9.3 ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] #6966 に関連して,Vector#inner_product は成分の単なる積和ですが,複素数ベクトル v については v.inner_product(v) が非負性を破るので,内積の定義に当てはまりません。 複素数ベクトルでは内積といえばエルミート内積(<u,v> = Σ u_i v_i*)なので(* は複素共役),inner_product の定義を p = 0 each2(v) {|v1, v2| p += v1 * v2.conj } p のようにするか,あるいは self や引数が実でないときは例外を出すことにし,inner_product とは別に hermitian_inner_product を導入しては如何でしょうか。
on 2012-12-21 14:20
Issue #6967 has been updated by usa (Usaku NAKAMURA). Status changed from Open to Assigned ---------------------------------------- Bug #6967: Vector#inner_product は複素数ベクトルのとき不適切 https://bugs.ruby-lang.org/issues/6967#change-34945 Author: 5.5 (5 5) Status: Assigned Priority: Low Assignee: marcandre (Marc-Andre Lafortune) Category: lib Target version: 1.9.3 ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] #6966 に関連して,Vector#inner_product は成分の単なる積和ですが,複素数ベクトル v については v.inner_product(v) が非負性を破るので,内積の定義に当てはまりません。 複素数ベクトルでは内積といえばエルミート内積(<u,v> = Σ u_i v_i*)なので(* は複素共役),inner_product の定義を p = 0 each2(v) {|v1, v2| p += v1 * v2.conj } p のようにするか,あるいは self や引数が実でないときは例外を出すことにし,inner_product とは別に hermitian_inner_product を導入しては如何でしょうか。
on 2013-02-04 04:18
Issue #6967 has been updated by marcandre (Marc-Andre Lafortune). Status changed from Assigned to Closed % Done changed from 0 to 100 Fixed with r38983 (not sure why redmine didn't link the commit & close the issue). ありがとうございます。 ---------------------------------------- Bug #6967: Vector#inner_product は複素数ベクトルのとき不適切 https://bugs.ruby-lang.org/issues/6967#change-35817 Author: 5.5 (5 5) Status: Closed Priority: Low Assignee: marcandre (Marc-Andre Lafortune) Category: lib Target version: 1.9.3 ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] #6966 に関連して,Vector#inner_product は成分の単なる積和ですが,複素数ベクトル v については v.inner_product(v) が非負性を破るので,内積の定義に当てはまりません。 複素数ベクトルでは内積といえばエルミート内積(<u,v> = Σ u_i v_i*)なので(* は複素共役),inner_product の定義を p = 0 each2(v) {|v1, v2| p += v1 * v2.conj } p のようにするか,あるいは self や引数が実でないときは例外を出すことにし,inner_product とは別に hermitian_inner_product を導入しては如何でしょうか。
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.