# 2x2 Projection matrix of rank 1

13 views (last 30 days)
john on 23 Nov 2022
Edited: john on 27 Nov 2022
##### 2 CommentsShowHide 1 older comment
john on 27 Nov 2022
Edited: john on 27 Nov 2022
oops

Matt J on 23 Nov 2022
Edited: Matt J on 23 Nov 2022
a=[1; 2]; n=[3; 4]; x=[5; 6];
r1p(a,n,a)
ans = 2×1
0.1789 0.3578
r1p(a,n,n)
ans = 2×1
1.0e-15 * -0.1986 -0.3972
r1p(a,n,x)
ans = 2×1
-0.1789 -0.3578
function p = r1p(a,n,x)
% computes the action of P, the 2x2 projection matrix of rank 1 having
% a - the sole basis vector for the column space of P
% n - the sole basis vector for the null space of P
a = normalize(a(:),'n');
b = normalize(null(n(:)'),'n');
p = dot(x,b)*a;
end
Matt J on 23 Nov 2022
Again, you do not provide what you think is the correct answer, or an explanation of why that answer is correct..

Moiez Qamar on 24 Nov 2022
%should work for:
a=[1; 0.01]
a = 2×1
1.0000 0.0100
n=[0.01; 1]
n = 2×1
0.0100 1.0000
x=[1; 0]
x = 2×1
1 0
p=r1p(a,n,x)
P = 2×2
1.0001 -0.0100 0.0100 -0.0001
p = 2×1
1.0001 0.0100
p = 2×1
1.0001 0.0100
%and for:
a=[1; 0];
n=[0; 1];
x=[1; 0];
p = r1p(a,n,x);
P = 2×2
1 0 0 0
p = 2×1
1 0
function p = r1p(a,n,x)
% computes the action of P, the 2x2 projection matrix of rank 1 having
% a - the sole basis vector for the column space of P
% n - the sole basis vector for the null space of P
xi=[0 -1; 1 0]*n;
chi=xi/(xi'*a);
P=a*chi'
p=P*x
end
Matt J on 24 Nov 2022
P=a*chi'
outer products are not efficient. That's why the exercise asks for you to compute p without computing P.