# Matrix Properties

Go to: Introduction, Notation, Index

The adjoint of A, ADJ(A) is the transpose of the matrix formed by taking the cofactor of each element of A.

• ADJ(A) A = det(A) I
• If det(A) != 0, then A-1 = ADJ(A) / det(A) but this is a numerically and computationally poor way of calculating the inverse.

### Characteristic Equation

The characteristic equation of a matrix A[n#n] is |tI-A| = 0. It is a polynomial equation in t.

The properties of the characteristic equation are described in the section on eigenvalues.

### Characteristic Matrix

The characteristic matrix of A[n#n] is (tI-A) and is a function of the scalar t.

The properties of the characteristic matrix are described in the section on eigenvalues.

### Characteristic Polynomial

The characteristic polynomial, p(t), of a matrix A[n#n] is p(t) = |tI - A|.

The properties of the characteristic polynomial are described in the section on eigenvalues.

### Cofactor

The cofactor of a minor of A:n#n is equal to the product of (i) the determinant of the submatrix consisting of all the rows and columns that are not in the minor and (ii) -1 raised to the power of the sum of all the row and column indices that are in the minor.

• The cofactor of the element a(i,j) equals -1i+j det(B) where B is the matrix formed by deleting row i and column j from A.

### Compound Matrix

The kth compound matrix of A[m#n] is the m!(k!(m-k)!)-1#n!(k!(n-k)!)-1 matrix formed from the determinants of all k#k submatrices of A arranged with the submatrix index sets in lexicographic order. Within this section, we denote this matrix by Ck(A).

• C1(A) = A
• Cn(A[n#n]) =  det(A)
• Ck(AB) = Ck(A)Ck(B)
• Ck(aX) = akCk(X)
• Ck(I) = I
• Ck(AH) = Ck(A)H
• Ck(AT) = Ck(A)T
• Ck(A-1) = Ck(A)-1

### Condition Number

The condition number of a matrix is its largest singular value divided by its smallest singular value.

• If Ax=y and A(x+p)=y+q then ||p||/||x|| <= k ||q||/||y|| where k is the condition number of A. Thus it provides a sensitivity bound for the solution of a linear equation.
• If A[2#2] is hermitian positive definite then its condition number, r, satisfies 4 <= tr(A)2/det(A) = (r+1)2/r. This expression is symmetric between r and r-1 and is monotonically increasing for r>1. It therefore provides an easy way to check on the range of r.

### Conjugate Transpose

X=YH is the Hermitian transpose or Conjugate transpose of Y iff xi,j=yj,iC.

### Constructibility

The pair of matrices {A[n#n], C[m#n]} are constructible iff {AH, CH} are controllable.

• If {A, C} are observable then they are constructible.
• If det(A)!=0 and {A, C} are constructible then they are observable.
• If {A, C} are constructible then they are detectable.

### Controllability

The pair of matrices {A[n#n], B[n#m]} are controllable iff any of the following equivalent conditions are true

1. There exists a G[mn#n] such that An = CG where C = [B AB A2B ... An-1B][n#mn] is the controllability matrix.
2. If xTArB = 0 for 0<=r<n then xTAn = 0.
3. If xTB = 0 and xTA = kxT then either k=0 or else x = 0.
• If {A, B} are reachable then they are controllable.
• If det(A)!=0 and {A, B} are controllable then they are reachable.
• If {A, B} are controllable then they are stabilizable.
• {DIAG(a), b} are controllable iff all non-zero elements of a are distinct and all the corresponding elements of b are non-zero.

### Definiteness

A Hermitian square matrix A is

This definition only applies to Hermitian and real-symmetric matrices; if A is non-real and non-Hermitian then xHAx is complex for some values of x and so the concept of definiteness does not make sense. Some authors also call a real non-symmetric matrix positive definite if xHAx > 0 for all non-zero real x; this is true iff its symmetric part is positive definite (see below). We abbreviate positive as +ve below.

• A (not necessarily symmetric) real matrix A satisfies xHAx > 0 for all non-zero real x iff its symmetric part B=(A+AT)/2 is +ve definite. Indeed xTAx= xTBx for all x.
• The following are equivalent
• A is Hermitian and +ve semidefinite
• A is Hermitian and all its eigenvalues are >=0
• A=BHB for some B (not necessarily square)
• A=C2 for some Hermitian C.
• DHAD is  Hermitian and +ve semidefinite for any D
• If A is +ve definite then A-1 exists and is +ve definite.
• If A is +ve semidefinite, then
• the eigenvalues of A are equal to its singular values
• for any integer k>0 there exists a unique +ve semidefinite B with A=Bk. This B also satisifes:
• AB=BA
• B=p(A) for some polynomial p()
• rank(B) = rank(A)
• if A is real then so is B.
• |ai,j| <= sqrt(ai,iaj,j[3.6]
• |aHAb|2 <= aHAa×bHAb for any a, b  [3.6]
• A is +ve definite iff all its eigenvalues are > 0.
• If A is +ve definite then det(A) > 0 and tr(A) > 0.
• A Hermitian matrix A[2#2] is +ve definite iff det(A) >0 and tr(A) > 0.
• The columns of B[m#n] are linearly independent iff BHB is +ve definite.
• If A and B are +ve semidefinite, then A+B is +ve semidefinite
• If B is +ve definite and A is +ve semidefinite then:
• B-1A is diagonalizable (i.e. similar to a diagonal matrix) and has non-negative eigenvalues [3.7]
• tr(B-1A) = 0 iff A=0
• A+B is positive definite

### Detectability

The pair of matrices {A[n#n], C[m#n]} are detectable iff {AH, CH} are stabilizable.

If {A, C} are observable or constructible then they are detectable..

### Determinant

For an n#n matrix A, det(A) is a scalar number defined by det(A)=sgn(PERM(n))'*prod(A(1:n,PERM(n)))

This is the sum of n! terms each involving the product of n matrix elements of which exactly one comes from each row and each column. Each term is multiplied by the signature (+1 or -1) of the column-order permutation . See the notation section for definitions of sgn(), prod() and PERM().

The determinant is important because INV(A) exists iff det(A) != 0.

#### Geometric Interpretation

The determinant of a matrix equals the +area of the +parallelogram that has the matrix columns as n of its sides. If a vector space is transformed by multiplying by a matrix A, then all +areas will be multiplied by det(A).

#### Properties of Determinants

• det(AT) = det(A)
• det(AH) = conj(det(A))
• det(cA) = cn det(A)
• det(Ak) = (det(A))k , k must be positive if det(A)=0.
• Interchanging any pair of columns of a matrix multiplies its determinant by -1(likewise rows).
• Multiplying any column of a matrix by c multiplies its determinant by c (likewise rows).
• Adding any multiple of one column onto another column leaves the determinant unaltered (likewise rows).
• det(A) != 0 iff INV(A) exists.
• [A,B:n#m ; m>=n]: If Q = CHOOSE(m,n). and d(k) = det(A(:,Q(k,:)) det(B(:,Q(k,:)) for k=1:rows(Q) then det(ABT) = sum(d). This is the Binet-Cauchy theorem.
• Suppose that for some r, P = CHOOSE(n,r) and Q = CHOOSE(n,n-r) with the rows of Q ordered so that P(k,:) and Q(k,:) have no elements in common. If we define D(m,k) = (-1)sum([P(m,:) P(k,:)]) det(A(P(m,:)T,P(k,:)) det(A(Q(m,:)T,Q(k,:)) for m,k=1:rows(P) then det(A) = sum(D(m,:)) = sum(D(:,k)) for any k or m. This is the Laplace expansion theorem.
• If we set k=r=1 then P(m,:)=[m] and we obtain the familiar expansion by the first column:
d(m)=(-1)m+1 A(m,1) det(A([1:m-1 m+1:n]T,2:n)) and det(A)=sum(d).
• det(A) = 0 iff the columns of A are linearly dependent (likewise rows).
• det(A) = 0 if two columns are identical (likewise rows).
• det(A) = 0 if any column consists entirely of zeros (likewise rows).
• If A = [a1 a2 ... an] then |det(A)| <= prod(||ai||) with equality iff the ai are mutually orthogonal where ||a|| is the Euclidean norm; this is the Hadamard inequality.
• If |ai,j|<=B for all i,j then |det(A)| <= n0.5nBn
• [A +ve semidefinite]: det(A) <= prod(diag(A))
• [A:3#3]: If A = [a b c] then det(A) =  det([a b c]) = aT SKEW(b) c = bT SKEW(c) a = cT SKEW(a) b

#### Determinants of simple matrices

• det([a b; c d]) = ad - bc
• det([a b c]) = a1b2c3 - a1b3c2 - a2b1c3 + a2c1b3 + a3b1c2 - a3c1b2
• The determinant of a diagonal or triangular matrix is the product of its diagonal elements.
• The determinant of a unitary matrix has an absolute value of 1.
• The determinant of an orthogonal matrix is +1 or -1.
• The determinant of a permutation matrix equals the signature of the column permutation.

#### Determinants of sums and products

• [A,B:n#n ]:det(AB) = det(A) det(B)
• [A,B:m#n ]:det(I + ATB) = det(I + ABT) = det(I + BTA) = det(I + BAT)   [3.2]
• [A:n#n ]:det(A+xyT) = (1+yTA-1x) det(A)    [3.4]
• det(I+xyT) = 1+yTx = 1+xTy   [3.3]
• det(kI+xyT) = kn+kn-1yTx = kn+kn-1xTy
• [A,B: n#n, symmetric, +ve semidefinite]:
•  (det(A+B))1/n >= (det(A))1/n + (det(B))1/n; this is the Minkowski determinant inequality.
• If 0<=k<=1, then (det(kA+(1-k)B))1/n >= k(det(A))1/n + (1-k)(det(B))1/n
• If 0<=k<=1, then  det(kA+(1-k)B) >= (det(A))k (det(B))1-k
• det(A+B) >= sqrt(det(4AB))
• For any integer m>0, n(det(A)det(B))m/n <= tr(AmBm)

#### Determinants of block matrices

In this section we have A[m#m], B[m#n], C[n#m] and D[n#n].

• det([A, B; C, D]) = det([D, C; B, A]) = det(A)*det(D-CA-1B) = det(D)*det(A-BD-1C)   [3.1]
• det([a, bT; c, D]) = (a - bTD-1c)det(D)
• det([I, B; C, I]) = det(I[m#m]-BC) = det(I[n#n]-CB)
• det([A, B; 0, D]) = det([A, 0; C, D]) = det(A) det(D)
• det([a, bT; 0, D]) = det([a, 0; c, D]) = a det(D)
• For the special case when m=n (i.e. A, B, C, D all n#n):
• det([A, B; C, 0]) = -det(BCT)
• [AB=BA]: det([A, B; C, D]) = det(DA-CB)
• [AC=CA]: det([A, B; C, D]) = det(AD-CB)
• [BD=DB]: det([A, B; C, D]) = det(DA-BC)
• [CD=DC]: det([A, B; C, D]) = det(AD-BC)

### Displacement Rank

The displacement rank of X[m#n] is given by dis_rank(X) =  rank(X - ZXZT) where the Z are shift matrices of size m#m and n#n respectively.

• dis_rank(X+Y) <= dis_rank(X) + dis_rank(Y)
• dis_rank(XY) <= dis_rank(X) + dis_rank(Y)
• dis_rank(X-1)=dis_rank(JXJ) where J is the exchange matrix.
• [X: Toeplitz] dis_rank(X) = 2 unless X is upper or lower triangular in which case dis_rank(X)=1 unless X = 0 , in which case dis_rank(X)=0.

### Eigenvalues

The eigenvalues of A are the roots of its characteristic equation: |tI-A| = 0.

The properties of the eigenvalues are described in the section on eigenvalues.

### Field of Values

The field of values of a square matrix A is the set of complex numbers xHAx for all x with ||x||=1.

• The field of values is a closed convex set.
• The field of values contains the convex hull of the eigenvalues of A.
• If A is normal then the field of values equals the convex hull of its eigenvalues.
• [n<5] A[n#n] is normal iff its field of values is the convex hull of its eigenvalues.
• A is hermitian iff its field of values is a real interval.
• If A and B are unitarily similar, they have the same field of values.

### Generalized Inverse

A generalized inverse of X:m#n is any matrix, X#:n#m satisfying XX#X=X. Note that if X is singular or non-square, then X# is not unique. This is also called a weak generalized inverse to distinguish it from the pseudoinverse.

• If X is square and non-singular, X# is unique and equal to X-1.
• (X#)H is a generalized inverse of XH.
• [k!=0] X#/k is a generalized inverse of kX.
• [A,B non-singular] B-1X#A-1 is a generalized inverse of AXB
• rank(X#) >= rank(X).
• rank(X)=rank(X#) iff X is also the generalized inverse of X# ( i.e. X#XX#=X#.).
• XX# and X#X are idempotent and have the same rank as X.
• If Ax-b has any solutions, then x=A#b is a solution.
• If AA# is hermitian, a value of x that minimizes ||Ax-b|| is given by x=A#b. With this value of x, the error Ax-b is orthogonal to the columns of A. If we define the projection matrix P=AA#, then Ax=Pb and Ax-b=-(I-P)b.
• If X:m#n has rank r, we can find A:n#n-r, B:n#r and C:m#m-r whose columns form bases for the null space of X, the range of X+X and the null space of XH respectively.
• The set of generalized inverses of X is precisely given by X#=X++AY+BZCH for arbitrary Y:n-r#m and Z:r#m-r where X+ is the pseudoinverse.
• For a given choice of A, B and C, each X# corresponds to a unique Y and Z.
• XX# is hermitian iff Z=0.
• If X:m#n has rank r, we can find A:n#n-r, F:n#r and C:m#m-r whose columns form bases for the null space of X, the range of X+ and the null space of XH respectively. We can also find G:m#r such that X+=FGH.
• The set of generalized inverses X# of X, for which X is also the generalised inverse of X# is precisely given by X#=(F+AV)(G+CW)H for arbitrary V:n-r#r and W:m-r#r.
• For a given choice of A, C, F and G each X# corresponds to a unique V and W.

### Gram Matrix

The gram matrix of X, GRAM(X), is the matrix XHX.

If X is m#n, the elements of GRAM(X) are the n2 possible inner products between pairs of its columns. We can form such a matrix from n vectors in any vector space having an inner product.

### Grammian

The grammian of a matrix X, gram(X), equals det(GRAM(X)) = det(XHX).

• gram(X) is real and >= 0.
• gram(X) > 0 iff the columns of X are linearly independent, i.e. iff Xy = 0 implies y = 0
• [Xm#n]: gram(X)=0 if m<n.
• gram(X) = 0 iff a principal minor of GRAM(X) is zero.
• [Xn#n]: gram(X) = gram(XH) = |det(X)|2
• gram(x) = xHx
• gram([X Y]) = gram([Y X]) = gram(X)*det(YHY-YHX(XHX)-1XHY) = gram(X)*det(YH(I-X(XHX)-1XH)Y)
• gram([X y]) = gram([y X]) = gram(X)*yHy-yHX(XHX)-1XHy = gram(X)*yH(I-X(XHX)-1XH)y
• gram([X y]) = gram(X) ||XX#y - y||2 where X# is the generalized inverse so that ||XX#y - y|| equals the distance between y and its orthogonal projection onto the space spanned by the columns of X.
• gram([X Y]) <= gram(X) gram(Y); this is the generalised Hadamard inequality.
• gram([X Y]) = gram(X) gram(Y) iff either XHY = 0 or gram(X) gram(Y) = 0
• If X = [x1 x2 ... xn] then gram(X) <= prod(||xi||2) = prod(diag(XHX))

#### Geometric Interpretation

The grammian of Xm#n is the squared "volume" of the n-dimensional parallelepiped spanned by the columns of X.

### Hermitian Transpose or Conjugate Transpose

X=YH is the Hermitian transpose or Conjugate transpose of Y iff x(i,j)=conj(y(j,i)).

### Inertia

The inertia of an m#m square matrix is the scalar triple (p,n,z) where p+n+z=m and p, n and z are respectively the number of eigenvalues, counting multiplicities, with positive, negative and zero real parts. Some authors call this the signature rather than the inertia.

• If the inertia of a Hermitian matrix, A, is (p,n,z) then
• the rank of A is p+n
• the signature of A is p-n but note that some authors use signature to denote the triple (p,n,z) itself.
• If A is Hermitian, it is conjunctive to a diagonal matrix of the form D=DIAG(Ip#p,-In#n,0z#z) iff the inertia of A equals (p,n,z). D is the intertia matrix of A and A=XHDX for some non-singular X. This is Sylvester's law of interia.

### Inverse

B is a left inverse of A if BA=I. B is a right inverse of A if AB=I.

If BA=AB=I then B is the inverse of A and we write B=A-1.

• [A:n#n] AB=I iff BA=I, hence inverse, left inverse and right inverse are all equivalent for square matrices.
• [A,B:n#n] (AB)-1=B-1A-1
• [A:m#n] A has a left inverse iff rank(A)=n and a right inverse iff  rank(A)=m.
• [A:n#m, B:m#n] AB=I implies that n<=m and that rank(A)=rank(B)=n.

#### Inverse of Block Matrices

• [A, B; C, D]-1 = [Q-1, -Q-1BD-1; -D-1CQ-1, D-1(I+CQ-1BD-1)] where Q =(A-BD-1C) is the Schur Complement of D   [3.5]
= [A
-1(I+BP-1CA-1), -A-1BP-1; -P-1CA-1, P-1] where  P =(D-CA-1B) is the Schur Complement of   [3.5]
=[ I, -A
-1B; -D-1C, I] DIAG((A-BD-1C)-1, (D-CA-1B)-1)
=DIAG((A-BD-1C)-1, (D-CA-1B)-1) [ I, -BD-1; -CA-1, I]
=DIAG
(A-1, 0) + [-A-1B; I] (D-CA-1B)-1[-CA-1, I]
=DIAG(0, D-1) + [I; -D-1C] (A-BD-1C)-1[I, -BD-1]
• [A, 0; C, D]-1 = [A-1, 0; -D-1CA-1, D-1]
=[ I, 0; -D
-1C, I] DIAG(A-1, D-1)
=DIAG(A-1, D-1) [ I, 0; -CA-1, I]
• [A, B; C, 0]-1 =  DIAG(A-1, 0) - [-A-1B; I] (CA-1B) -1[-CA-1, I]
• [A, b; cT, d]-1 = [Q-1, -d-1Q-1b; -d-1cTQ-1, d-1(1+d-1cTQ-1b)] where Q =(A-d-1bcT),
= [A
-1(I+p-1bcTA-1), -p-1A-1b; -p-1cTA-1, p-1]  where  p =(d-cTA-1b)
=[ I, -A
-1b; -d-1cT, 1] DIAG((A-d-1bcT)-1, (d-cTA-1b)-1)
=DIAG((A-d-1bcT)-1, (d-cTA-1b)-1) [ I, -bd-1; -cTA-1, 1]
=DIAG
(A-1, 0) + (d-cTA-1b)-1[A-1b; -1] [cTA-1, -1]
=DIAG(0, d-1) + [I; -d-1cT] (A-d-1bcT)-1[I, -d-1b]
• [A, 0; cT, d]-1 = [A-1, 0; -d-1cTA-1, d-1]
=[ I, 0; -
d-1cT, 1] DIAG(A-1, d-1)
=DIAG(A-1, d-1) [ I, 0; -cTA-1, 1]
• [A, b; cT, 0]-1 = DIAG(A-1, 0) - (cTA-1b) -1[A-1b; -1] [cTA-1, -1]

### Kernel

The kernel (or null space) of A is the subspace of vectors x for which Ax = 0. The dimension of this subspace is the nullity of A.

• The kernel of A is the orthogonal complement of the range of AH

### Linear Independence

The columns of A are linearly independent iff the only solution to Ax=0 is x=0.

• rank(A[m#n]) = n iff its columns are linearly independent.    [1.5]
• If the columns of A[m#n] are linearly independent then m >= n     [1.3, 1.5]
• If A has linearly independent columns and A=F[m#r]G[r#n] then r>=n.   [1.1]

### Matrix Norms

A matrix norm is a real-valued function of a square matrix satisfying the four axioms listed below. A generalized matrix norm satisfies only the first three.

1. Positive: ||X||=0 iff X=0 else ||X||>0
2. Homogeneous: ||cX||=|c| ||X|| for any real or complex scalar c
3. Triangle Inequality: ||X+Y||<=||X||+||Y||
4. Submultiplicative: ||XY||<=||X|| ||Y||

#### Induced Matrix Norm

If ||y|| is a vector norm, then we define the induced matrix norm to be ||X||=max(||Xy|| for ||y||=1)

#### Euclidean or Frobenius Norm

The Euclidean or Frobenius norm of a matrix A is given by  ||A||F = sqrt(sum(ABS(A).2)). It is always a real number. The closely related Hilbert-Schmidt norm of a square matrix An#n is given by  ||A||HS = n  ||A||F.

• ||A||F = ||AT||F = ||AH||F
• ||A||F2 = tr(AHA) = sum(CONJ(A).*A)
• [Q: orthogonal]: ||A||F = ||QA||F = ||AQ||F

#### p-Norms

||A||p = max(||Ax||p) where the max() is taken over all x with ||x||p = 1 where ||x||p = sum(abs(x)p)(1/p) denotes the vector p-norm for p>=1.

• ||AB||p <= ||A||p ||B||p
• ||Ax||p <= ||A||p ||x||p
• [A:m#n]: ||A||2 <= ||A||F <= n½ ||A||2
• [A:m#n]: max(ABS(A)) <= ||A||2 <= sqrt(mn) max(ABS(A))
• ||A||2 <= sqrt(||A||1 ||A||inf)
• ||A||1 = max(sum(ABS(AT)))
• ||A||inf = max(sum(ABS(A)))
• [A:m#n]: ||A||inf <= sqrt(n) ||A||2 <= sqrt(mn) ||A||inf
• [A:m#n]: ||A||1 <= sqrt(m) ||A||2 <= sqrt(mn) ||A||1
• [Q: orthogonal]: ||A||2 = ||QA||2 = ||AQ||2

### Minor

A kth-order minor of A is the determinant of a k#k submatrix of A.

A principal minor is the determinant of a submatrix whose diagonal elements lie on the principal diagonal of A.

### Null Space

The null space (or kernel) of A is the subspace of vectors x for which Ax = 0.

• The null space of A is the orthogonal complement of the range of AH
• The dimension of the null space of A is the nullity of A.
• Given a vector x, we can choose a Householder matrix P=I-2vvH with v = (x + ke1)/||x + ke1|| where k=sgn(x(1))*||x|| and e1 is the first column of the identity matrix.  The first row of P equals -k-1xT and the remaining rows form an orthonormal basis for the null space of xT.

### Nullity

The nullity of a matrix A is the dimension of the null space of A.

### Observability

The pair of matrices {A[n#n], C[m#n]} are observable iff {AH, CH} are reachable.

### Permanent

For an n#n matrix A, pet(A) is a scalar number defined by pet(A)=sum(prod(A(1:n,PERM(n))))

This is the same as the determinant except that the individual terms within the sum are not multiplied by the signatures of the column permutations.

#### Properties of Permanents

• pet(A.') = pet(A)
• pet(A') = conj(pet(A))
• pet(cA) = cn pet(A)
• [P: permutation matrix]: pet(PA) = pet(AP) = pet(A)
• [D: diagonal matrix]: pet(DA) = pet(AD) = pet(A) pet(D) = pet(A) prod(diag(D))

#### Permanents of simple matrices

• pet([a b; c d]) = ad + bc
• The permanent of a diagonal or triangular matrix is the product of its diagonal elements.
• The permanent of a permutation matrix equals 1.

### Potency

The potency of a non-negative matrix A is the smallest n>0 such that diag(An) > 0 i.e. all diagonal elements of An are strictly positive. If no such n exists then A is impotent.

### Pseudoinverse

The pseudoinverse (also called the Natural Inverse or Moore-Penrose Pseudoinverse) of Xm#n is the unique [1.20] n#m matrix X+ that satisfies:

1. XX+X=X    (i.e. X+ is a generalized inverse of X).
2. X+XX+=X+    (i.e. X is a generalized inverse of X+).
3. (XX+)H=XX+
4. (X+X)H=X+X
• If X is square and non-singular then X+=X-1.
• If X=UDVH is the singular value decomposition of X, then X+=VD+UH where D+ is formed by inverting all the non-zero elements of DT.
• If D is a (not necessarily square) diagonal matrix, then D+ is formed by inverting all the non-zero elements of DT.
• The pseudoinverse of X is the generalized inverse having the lowest Frobenius norm.
• If X is real then so is X+.
• (X+)+=X
• (XT)+=(X+)T
• (XH)+=(X+)H
• (cX)+=c-1X+ for any real or complex scalar c.
• X+=XH(XXH)+=(XHX)+XH.
• If  Xm#nFm#r Gr#n has rank r then X+= G+F+= GH(FHXGH)-1FH.
• If  Xm#n has rank n (i.e. the columns are linearly independent) then X+=(XHX)-1XH and X+X=I.
• If  Xm#n has rank m (i.e. the rows are linearly independent) then X+=XH(XXH)-1 and XX+=I.
• If  X has orthonormal rows or orthonormal columns then  X+= XH .
•  XX+ is a projection onto the column space of X.
• [rank(X)=1]: X+ = XH/tr(XHX) = XH/ ||X||F2 where ||X||F  is the Frobenius Norm (see rank-1 matrices)
• (xyH)+ = yxH/(xHxyHy)
• x+ = xH/(xHx)

### Rank

The rank of an m#n matrix A is the smallest r for which there exist F[m#r] and G[r#n] such that A=FG. Such a decomposition is a full-rank decomposition. As a special case, the rank of 0 is 0.

• A=F[m#r]G[r#n] implies that rank(A) <= r .
• rank(A)=1 iff A = xyT for some x and y.
• rank(A[m#n]) <= min(m,n).    [1.3]
• rank(A[m#n]) = n iff its columns are linearly independent.     [1.5]
• rank(A) = rank(AT) = rank(AH)
• rank(A) = maximum number of linearly independent columns (or rows) of A.
• rank(A) is the dimension of the range of A.
• rank(A[n#n]) + nullity(A[n#n]) = n
• det(A[n#n])=0 iff rank(A[n#n])<n.
• rank(A + B) <= rank(A) + rank(B)
• rank([A B]) = rank(A) + rank(B - AA#B) where A# is a generalized inverse of A.
• rank([A; C]) = rank(A) + rank(C - CA#A)
• rank([A B; C 0]) = rank(B) + rank(C) + rank((I - BB#)A(I - CC#))
• rank(AAH) = rank(AHA) = rank(A) [see grammian]
• rank(AB) + rank(BC) <= rank(B) + rank(ABC)
• rank(A[m#n]) + rank(B) - n <= rank(AB) <= min(rank(A), rank(B))
• [X: non-singular]: rank(XA) = rank(AX) = rank(A)
• rank(KRON(A,B)) = rank(A)rank(B)
• rank(DIAG(A,B,...,Z)) = sum(rank(A), rank(B), ..., rank(Z))

### Range

The range (or image) of A is the subspace of vectors that equal Ax for some x. The dimension of this subspace is the rank of A.

• [A:m#n] The range of A is the orthogonal complement of the null space of AH.

### Reachability

The pair of matrices {A[n#n], B[n#m]} are reachable iff any of the following equivalent conditions are true

1. rank(C)=n where C = [B AB A2B ... An-1B][n#mn] is the controllability matrix.
2. If xHArB = 0 for 0<=r<n then x = 0.
3. If xHB = 0 and xHA = kxH then x = 0.
4. For any v, it is possible to choose L[n#m] such that eig(A+BLH)=v.
• If {A, B} are reachable then they are controllable and stabilizable.
• If det(A)!=0 and {A, B} are controllable then they are reachable.
• {DIAG(a), b} are reachable iff all elements of a are distinct and all elements of b are non-zero.

### Schur Complement

Given a block matrix  M = [A[m#m], B; C, D[n#n]], then P[n#n]=D-CA-1B and Q[m#m]=A-BD-1C are respectively the Schur Complements  of A and D in M.

• det([A, B; C, D]) = det([D, C; B, A]) = det(A)*det(P) = det(Q)*det(D)   [3.1]
• [A, B; C, D]-1 = [Q-1, -Q-1BD-1; -D-1CQ-1, D-1(I+CQ-1BD-1)]= [A-1(I+BP-1CA-1), -A-1BP-1; -P-1CA-1, P-1]    [3.5]

The spectral radius, rho(A), of A[n#n] is the maximum modulus of any of its eigenvalues.

• rho(A) <= ||A|| where ||A|| is any matrix norm.
• For any a>0, there exists a matrix norm such that ||A|| - a <= rho(A) <= ||A||.
• If ABS(A)<=B then rho(A)<=rho(ABS(A))<=rho(B)
• [A,B: real] If B>=A>=0 then rho(B)>=rho(A)
• [A: real] If A>=0 then rho(A)>=aij for all i,j
• [A,B: Hermitian] abs(eig(A+B)-eig(A))<=rho(B) where eig(A) contains the eigenvalues of A sorted into ascending order. This shows that perturbing a hermitian matrix slightly doesn't have too big an effect on its eigenvalues.

### Spectrum

The spectrum of A[n#n] is the set of all its eigenvalues.

### Stabilizability

The pair of matrices {A[n#n], B[n#m]} are stabilizable iff either of the following equivalent conditions are true

1. If xTB = 0 and xTA = kxT then either |k|< 1 or else x = 0.
2. It is possible to choose L[n#m] such that all elements of eig(A+BLH) have absolute value < 1.
• If {A, B} are reachable or controllable then they are stabilizable.
• {DIAG(a), b} are stabilizable iff all elements of a with modulus >=1 are distinct and all the corresponding elements of b are non-zero.

### Submatrix

A submatrix of A is a matrix formed by the elements a(i,j) where i ranges over a subset of the rows and j ranges over a subset of the columns.

### Trace

The trace of a square matrix is the sum of its diagonal elements: tr(A)=sum(diag(A))

In the formulae below, we assume that matrix dimensions ensure that the argument of tr() is square.

• tr(aA) = a × tr(A)
• tr(AT) = tr(A)
• tr(AH) = tr(A)C
• tr(A+B) = tr(A) + tr(B)
• tr(AB) = tr(BA) [1.17]
• tr((AB)k) =tr((BA)k)
•  tr(abT) = aTb
• tr(XbaT) = aTXb
• tr(abH) = (aHb)C
• tr(ABCD) = tr(BCDA) = tr(CDAB) = tr(DABC)
• Similar matrices have the same trace: tr(X-1AX) = tr(A)
• tr(AB) = A:TBT: = AT:TB:  = AH:HB: = (A:HBH:)C  [1.18]
• tr(ATB) = tr(ABT) = sum(A:B:) = A:T B:
• tr(AHB) = tr(BAH) = sum(AC:B:) = A:H B:
• tr([A B]T [C D]) = tr(ATC) + tr(BTD) [1.19]
• tr([A b]T [C d]) = tr(ATC) + bTd
• tr([A B]T X[C D]) = tr(ATXC) + tr(BTXD)
• tr([A b]T X[C d]) = tr(ATXC) + bTXd
• tr(AB) = [A,B: n#n] tr(A) tr(B) where ⊗ denotes the Kroneker product.
• [D is diagonal] tr(XDXT) = sumi(di  xiTxi) and tr(XDXH) = sumi(di  xiHxi) = sumi(di  |xi|2) [1.16]

### Transpose

X=YT is the transpose of Y iff x(i,j)=y(j,i).

### Vectorization

The vector formed by concatenating all the columns of X is written vec(X) or, in this website, X:. If y = X[m#n]:  then yi+m(j-1) = xi,j.

• ab=(baT): where ⊗ denotes the Kroneker product.
• sum((AB):) = tr(ATB) = sum(A:B:) = A:T B:  = (AT:)T BT: where AB denotes the Hadamard or elementwise product.
• tr(AHB) = sum(AC:B:) = A:H B:
• [A, B Hermitian] tr(AHB) =  tr(BHA) =  A:H B: =  B:H A: is real-valued.
• (ABC): = (CTA) B:
• (AB): = (IA) B: = (BTI) A:= (BTA) I:
• (AbcT): = (cA) b = cAb
• ABc = (cTA) B:
• aTBc = (ca)T B: = (cTaT) B: =  (acT):T B: =  B:T (ac) = B:T (caT):
• abHcdH = (ac)(bd)H = (caT):(dbT):H
• aHbcHd = aHbcHd = (ac)H(bd) = (caT):H(dbT):
• (ABC):T =  B:T (CAT)
• (AB):T = B:T (IAT)  = A:T (BI) = I:T (BAT)
• (AbcT):T =  bT(cTAT) = cTbTAT
• aTBTC = B:T (aC)
• If Y=AXB+CXD+... then X: = (BTA + DTC+...)-1 Y: however this is a slow and often ill-conditioned way of solving such equations.
• (A[m#n]T): = TVEC(m,n) (A:) [see vectorized transpose]

### Vector Norms

A vector norm is a real-valued function of a vector satisfying the three axioms listed below.

1. Positive: ||x||=0 iff x=0 else ||x||>0
2. Homogeneous: ||cx||=|c| ||x|| for any real or complex scalar c
3. Triangle Inequality: ||x+x||<=||x||+||x||

#### Inner Product Norm

If <x, y> is an inner product then ||x|| = sqrt(<x, x>) is a vector norm.

• A vector norm may be derived from an inner product iff it satisfies the parallelogram identity: ||x+y||2+||x-y||2=2||x||2+2||y||2
• If ||x|| is derived from <x, y> then 4Re(<x, y>) = ||x+y||2-||x-y||2 = 2||x+y||2-||x||2-||y||2

#### Euclidean Norm

The Euclidean norm of a vector x equals the square root of the sum of the squares of the absolute values of all its elements and is written ||x||. It is always a real number and corresponds to the normal notion of the vector's length.

#### Hölder Norms or p-Norms

The p-norm of a vector x is defined by ||x||p = sum(abs(x)p)(1/p) for p>=1. The most common values of p are 1, 2 and infinity.

• City-Block Norm: ||x||1 = sum(abs(x))
• Euclidean Norm: ||x|| = ||x||2 = sqrt(x'x)
• Infinity Norm: ||x||inf = max(abs(x))
• Hölder inequality: abs(x)Tabs(y) <= ||x||p ||y||q where 1/p + 1/q = 1
• ||x||inf <= ||x||2 <= ||x||1 <= sqrt(n) ||x||2 <= n ||x||inf

This page is part of The Matrix Reference Manual. Copyright © 1998-2022 Mike Brookes, Imperial College, London, UK. See the file gfl.html for copying instructions. Please send any comments or suggestions to "mike.brookes" at "imperial.ac.uk".
Updated: \$Id: property.html 11291 2021-01-05 18:26:10Z dmb \$