$35
Problem 1: A “matrix norm” is a way of assigning a numerical measurement to a matrix. If A ∈ R
n×m is a matrix the four
commonly used norms are denoted by,
||A||1, ||A||∞, ||A||2, ||A||F
There are different types of matrix norms, each useful in their own
context.
Let A ∈ R
n×m. The “Frobenius norm” is defined as follows,
||A||F
(def)
=
vuut
X
n
i=1
X
m
j=1
(Ai,j )
2
(square root of the sum of squares, which is how you compute
the norm of a vector in multivariable calculus). Sometimes the
Frobenius norm is also called the Euclidean norm and can also be
denoted by ||A||E.
The “1-norm” is defined as,
||A||1
(def)
= max
1≤j≤m
X
n
i=1
|Ai,j |
!
(in other words, add up all the columns in absolute value, and out
of all those column sums, pick the largest number).
The “∞-norm” is defined as,
||A||∞
(def)
= max
1≤i≤n
X
m
j=1
|Ai,j |
!
(in other words, add up all the numbers in the rows with absolute
value, and out of all those row sums, pick the largest number).
1
Finally, the 2-norm is the most difficult to define,
||A||2 = max(σ1, σ2, ..., σm)
where the σk are the “singular values” of A, i.e.
σk =
p
λk(AtA)
Simply put, calculate the eigenvalues of AtA, the largest of the
radicals of the eigenvalues is the 2-norm of the matrix.
Create a code in R called:
mat.norm(A,type=c(‘‘one’’,‘‘inf’’,‘‘F’’,‘‘2’’))
which calculates the matrix norm depending on which type of norm
you want to use.
Problem 2: Another method for approximating roots is called
Newton’s method. Suppose f() is some function for which we wish
to find a root. Let g() denote the derivative of f(). Newton’s
method proceeds by first making an initial guess x0 (a “guess” is
just an arbitrary starting value). We then construct the sequence,
(x0, x1, x2, ..., xn)
defined by the rule that,
xi = xi−1 −
f(xi−1)
g(xi−1)
The last number in this sequence, xn, will be a good approximation for the root.
Write a code in R called newtons.method(f,g,x0,n) which calculates the last term in the sequence of approximations.
2