Actions
Bug #6967
closedVector#inner_product は複素数ベクトルのとき不適切
Description
#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 を導入しては如何でしょうか。
Actions
Like0
Like0Like0Like0