Can I modify the vector mutiplied by a matrix to have specific resultant vector?

47 Views Asked by At

Given a matrix $W$ and a vector $d$ where $W*d = g$. the dimension of $W$ is $n$x$n$ and of $d$ and $g$ is $n$x$1$.

Assume the $W$ is known and half of the vector $d$ is known too, my question is, can I set the other half of the vector $d$ to have the resultant of multiplication $g$ known ?

That can be summarized as below :

enter image description here

what I known is $k_{n/2 + 1 } ... k_n$ , The question that I set that part of the vector in order to have the resultant vector $g$ known ?

EDIT

Following the solution in the answer below, I have built the matlab code and used Gaussien elimination to solve $k$, but when I multiply the matrix again $W*[d;k]$ I can't get the same value of $g$. here is the code

close all
clc
W = hadamard(8);  %Taking the matrix of hadamard as matrix W
W1 = W(:,1:4); 
W2 = W(:,5:8); 
g = ones(8,1); 
d = [0.7000 + 0.7000i; 0.7000 - 0.7000i; -0.7000 - 0.7000i; -0.7000 - 0.7000i]; 

A = W2; 
b = g - W1*d; 

n= size(A,2);
k= zeros(n,1);   %initialize x
%code for forward elimination to correct the matrix A to upper triangular
%form
for i =1: n-1
    m=A(i+1:n,i)/A(i,i);
    A(i+1:n,:)=A(i+1:n,:)-m*A(i,:);
    b(i+1:n,:) = b(i+1:n,:)-m*b(i,:);
end

%code for back substitution to find unknowns
k(n,:)= b(n,:)/A(n,n);
for i= n-1:-1:1
    k(i,:) =(b(i,:)- A(i,i+1:n)*k(i+1:n,:))/A(i,i);
end
D = [d;k]; 

W*D       %% that should be equal to g !! 
1

There are 1 best solutions below

7
On BEST ANSWER

$$\begin{bmatrix}W_1 & W_2 \end{bmatrix}\begin{bmatrix}d \\ k\end{bmatrix}=g$$

$$W_1 d + W_2k = g$$

$$W_1 d = g-W_2k$$

Now you can solve a linear system for $d$ if it is consistent.

Edit:

For your code, if you check the RREF of $[A, b]$, you will notice that it is not a consistent system.

In particular, hadamard matrix is invertible, hence if we solve $WD=g$ $D$ is unique. If you choose the first few component of $D$ arbirarily, it need not be consistent.