4 views (last 30 days)

Show older comments

% for an example *(pinv(P1))*P1=unity Matrix

I want the same thing : ?*P1=zeros

%This ? should be related to P1 like the above example when we took the peasudo inverse to get the unity matrix

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%This is the problem

clc;

clear;

H=[1 2 1;2 3 1;4 2 3;3 2 1];

P1=[3 2 4;2 1 1;5 2 3;2 3 7]

P2=[2 6 1;1 3 5;4 2 1;5 2 1];

HT=H+P1+P2

from this equation I want to get

HT=H+P2

I want to null P1

Walter Roberson
on 16 Sep 2021

null(P1)

Note: this may have different number of columns depending on the values in P1. Each column of the result will be independent

Walter Roberson
on 16 Sep 2021

format long g

H=[1 2 1;2 3 1;4 2 3;3 2 1];

P1=[3 2 4;2 1 1;5 2 3;2 3 7]

P2=[2 6 1;1 3 5;4 2 1;5 2 1];

nP1 = null(P1.').'

nP1 * P1

HT = H + nP1 * P1 + P2

HT2 = H + P2

HT - HT2

John D'Errico
on 16 Sep 2021

Edited: John D'Errico
on 16 Sep 2021

Please stop posting answers when you are making only comments.

In what you claim to have tried:

A=[-3 6 -1 1 7;1 -2 2 3 -1;2 -4 5 8 -4]

the matrix A has rank 3.

rank(A)

So there is NO matrix you can multiply A with on the left except for the all zero matrix, and get a result of all zeros. That is, there does not exist a non-zero matrix X, such that the product X*A will be entirely zero. This is provable using basic linear algebra.

We can find a non-zero matrix Y such that A*Y will be all zeros. But that was not the question you seem to have posed. Thus...

Y = null(A);

norm(A*Y)

So effectively zero to with floating point precision. If you want an exact solution, since A is composed of integers, we can find one easily enough. Thus...

Ysym = null(sym(A))

A*Ysym

Walter Roberson
on 17 Sep 2021

Be careful about which side your are multiplying on.

MATLAB's null(A) is:

The null space of a matrix contains vectors x that satisfy Ax=0.

Notice that is a right multiplication.

You asked for ?*P1=zeros which is a left multiplication.

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!