Есть ли причина, по которой норма по умолчанию, используемая для функции norm
в R, является 1-нормой?Почему норма по умолчанию в норме R имеет 1-норму?
Я переводил код от matlab
в R
, и я столкнулся с этим, потому что по умолчанию есть 2-норма.
Мне кажется интуитивным, что по умолчанию должна быть 2-норма, которая переводится на евклидово расстояние.
Я надеюсь, что кто-то может это прояснить или дать историческую причину этого выбора.
EDIT: Я не понимаю, почему это сокращается. Причина, по которой я задаю этот вопрос, понять варианты реализации нормальных функций в 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
не согласуется с этим.
У меня возникает ощущение, что реализация опции по умолчанию должна соответствовать самой используемой норме.
Вы всегда должны обращаться к документации при использовании незнакомой вам функции, иногда даже если вы считаете, что знаете эту функцию. – Roland
Я знаю об этом @Roland, и это то, что я делаю. Мне просто интересно, почему этот выбор был сделан для реализации функции нормы в R. – Gumeo
, потому что это похоже на 1,2 и inf, вероятно? – percusse