norm
Rの関数に使用されるデフォルトのノルムが1ノルムである理由はありますか?
matlab
からへのコードを翻訳していたところR
、これに遭遇しました。これは、デフォルトで 2 ノルムが存在するためです。
デフォルトはユークリッド距離に変換される2ノルムであるべきだと私には直感的に思えます。
誰かがこれを明確にするか、この選択の歴史的な理由を教えてくれることを願っています. 私がこの質問をしている理由は、matlab
およびのノルム関数の実装の選択を理解するためR
です。以下は、Rでのノルムの実装です
function (x, type = c("O", "I", "F", "M", "2"))
{
if (identical("2", type)) {
svd(x, nu = 0L, nv = 0L)$d[1L]
}
else .Internal(La_dlange(x, type))
}
デフォルトの選択は です"O"
。matlab とpython numpy では、デフォルトは 2 ノルムです。R
それと一致しないのは私には奇妙に思えます。
私の直感では、デフォルト オプションの実装は、最もよく使用される基準に対応する必要があります。