6.50.6 The operator norm of a matrix: matrix_norm l1norm l2norm norm specnorm linfnorm
Operator norms
In mathematics, particularly functional analysis, a linear function
between two normed spaces f:E → F is continuous exactly when there
is a number K such that ||f(x)||F ≤ K ||x|| for all x in E.
(See Section 6.42.1 for norms on ℝn.)
For this reason, they are also called
bounded linear functions. The infimum of all such K is defined to
be the operator norm of f, and it depends on the norms of E and
F. There are other characterizations of the operator norm of f,
such as the supremum of ||f(x)||F over all x in E with ||x||E
≤ 1.
If E and F are finite dimensional, then any linear function
f:E→ F will be bounded.
Any m× n matrix A = (ajk) corresponds to a linear
function f:ℝn → ℝm defined by f(x) = Ax. The
operator norm of A will be the operator norm of f.
-
If ℝn and ℝm both have the ℓ1 norm,
namely for x = (x1,x2,…) the norm is ||x|| =
∑j |xj|, the operator norm of A is
This is the column norm given by colnorm(A)
(see Section 6.50.5).
- If ℝn and ℝm both have the ℓ2 norm,
namely for x = (x1,x2,…) the norm is ||x|| =
√∑j xj2 (the usual Euclidean norm), the operator norm
of A is the largest eigenvalue of f*∘ f, where f* is the
transpose of f, and so the largest singular value of f. This is
given by l2norm (see Section 6.50.2) or
max(SVL(A)) (see Section 6.49.7).
- If ℝn and ℝm both have the ℓ∞ norm,
namely for x = (x1,x2,…) the norm is |x| =
maxj |xj|, the operator norm of A is
This is given by rownorm(A) (see Section 6.50.4).
Computing operator norms
The matrix_norm command is a command which can find any of the
above operator norms.
-
matrix_norm takes two arguments:
-
A, a matrix.
- arg, which can be 1, 2 or
inf.
- matrix_norm(A,arg) returns an
operator norm of the operator associated to the matrix, the norm is
determined by arg.
-
If arg is 1, it is based on the ℓ1
norm on ℝn.
matrix_norm(A,1) is the same as colnorm(A)
and l1norm(A).
- If arg is 2, it is based on the ℓ2
norm on ℝn.
matrix_norm(A,2) is the same as l2norm(A)
and norm(A).
- If arg is inf, it is based on the
ℓ∞ norm on ℝn.
matrix_norm(A,inf) is the same as
rownorm(A) and linfnorm(A).
Examples.
-
Input:
B:= [[1,2,3],[3,-9,6],[4,5,6]]
then:
matrix_norm(B,1)
or:
l1norm(B)
or:
colnorm(B)
Output:
since max(1+3+4, 2+9+5, 3+6+6)=16.
- Input:
matrix_norm(B,2)
or:
l2norm(B)
Output:
- Input:
matrix_norm(B,inf)
or:
linfnorm(B)
or:
rowNorm(B)
Output:
since max(1+2+3, 3+9+6, 4+5+6)=18.