Issue #6966 has been reported by 5.5 (5 5).
Bug #6966: Vector#norm は複素数ベクトルの正しいノルムを返さない
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]
Vector#norm
は,単に成分の自乗和の正の平方根を取っていますが,これだと成分が複素数のときに正しい値を返しません。成分の絶対値自乗和の正の平方根を取るべきではないでしょうか。
Vector[Complex(0, 1), 1].norm
=> 0.0
Vector[Complex(0, 1), 0].norm
=> Math::DomainError: Numerical argument is out of domain - “sqrt”