Предположим, что у меня есть матрица А. Я хочу рассчитать ее 2-норму/спектральную норму. Как я могу рассчитать это эффективно?Как эффективно вычислять 2-норму матрицы?
Я знаю, что 2-норма матрицы равна ее наибольшему сингулярному значению. Таким образом, результат следующего кода MATLAB будет нулевой
>> [u,s,v]=svd(A,'econ');
norm(A,2)-s(1,1)
Но знать 2-норму, я должен вычислить СВД полной матрицы А, есть ли эффективный способ расчета 2-норма? Ответ в виде кода MATLAB будет значительно опереться.
's (0,0)' недействителен Синтаксис MATLAB. Вы даже запустили этот код? – Adriaan
В чем проблема с 'norm (A, 2)'? В общем случае, если Matlab имеет встроенную функцию, это о самом быстром, что вы можете получить, особенно для матричной алгебры –
Я сделал, но для больших матриц это нехорошо – user3086871