Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
orthogonal matrix

Subject: orthogonal matrix

From: atanas

Date: 24 Apr, 2010 22:47:06

Message: 1 of 24

Hello,
 I have problem for my project:
 Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
 We knowing matrices C0,C1,C2,and C3 that
 [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
 We construct the matrix
 W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
 zeros(2,2) zeros(2,2) C0 C1 C2 C3;
 D0 D1 D2 D3 zeros(2,2) zeros(2,2);
 zeros(2,2) zeros(2,2) D0 D1 D2 D3].

 How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?

Subject: orthogonal matrix

From: Roger Stafford

Date: 25 Apr, 2010 05:58:05

Message: 2 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> Hello,
> I have problem for my project:
> Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> We knowing matrices C0,C1,C2,and C3 that
> [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> We construct the matrix
> W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) D0 D1 D2 D3].
>
> How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
------------
  If I understand what you are saying correctly, that makes a nice problem which can readily be solved using matlab. In general, there will be one degree of freedom in the choice of the D quantities.

  However, it sounds very much like a student homework assignment. CSSM people usually follow the policy of not giving assistance in such cases except to help with tentative matlab coding that has already been developed by the student. I suggest you ponder over this problem until you have a possible algorithm in mind and can show us your ideas about how it might be carried out in matlab. Then you might receive some help.

Roger Stafford

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 13:40:10

Message: 3 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr0lld$511$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> > Hello,
> > I have problem for my project:
> > Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> > We knowing matrices C0,C1,C2,and C3 that
> > [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> > We construct the matrix
> > W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> > D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3].
> >
> > How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
> ------------
> If I understand what you are saying correctly, that makes a nice problem which can readily be solved using matlab. In general, there will be one degree of freedom in the choice of the D quantities.
>
> However, it sounds very much like a student homework assignment. CSSM people usually follow the policy of not giving assistance in such cases except to help with tentative matlab coding that has already been developed by the student. I suggest you ponder over this problem until you have a possible algorithm in mind and can show us your ideas about how it might be carried out in matlab. Then you might receive some help.
>
> Roger Stafford
I thing for this problem about 1 year! But impossible that is solved! Please give to hit to me, can be that by mail.
Thank for your answer.

Subject: orthogonal matrix

From: Roger Stafford

Date: 25 Apr, 2010 15:14:05

Message: 4 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr1gnq$esr$1@fred.mathworks.com>...
> I thing for this problem about 1 year! But impossible that is solved! Please give to hit to me, can be that by mail.
> Thank for your answer.
--------
  Let me ask you a question about this problem, Atanas. If my interpretation is correct, you stated only that you are given C's such that

 [C0 C1 C2 C3]*[C0 C1 C2 C3]' = I (1)

(where presumably I is the 2 x 2 identity matrix, eye(2).) However, implicit in the final requirement that your W*W' = eye(8) is the constraint that

 V = [C0 C1 C2 C3 zeros(2,2) zeros(2,2);
      zeros(2,2) zeros(2,2) C0 C1 C2 C3]

must satisfy

 V*V' = eye(4) (2)

Although equation (2) does clearly imply equation (1), the reverse does not necessarily hold. Therefore you must really be assuming the stronger condition (2) for the C's in this problem. Is that true?

  If so, here is another question for you. Have you figured out how to generate examples of C's in matlab that would satisfy (2)? If you can do that, you may be well on your way to solving the whole problem.

Roger Stafford
 

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 16:05:08

Message: 5 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1m7t$46j$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr1gnq$esr$1@fred.mathworks.com>...
> > I thing for this problem about 1 year! But impossible that is solved! Please give to hit to me, can be that by mail.
> > Thank for your answer.
> --------
> Let me ask you a question about this problem, Atanas. If my interpretation is correct, you stated only that you are given C's such that
>
> [C0 C1 C2 C3]*[C0 C1 C2 C3]' = I (1)
>
> (where presumably I is the 2 x 2 identity matrix, eye(2).) However, implicit in the final requirement that your W*W' = eye(8) is the constraint that
>
> V = [C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) C0 C1 C2 C3]
>
> must satisfy
>
> V*V' = eye(4) (2)
>
> Although equation (2) does clearly imply equation (1), the reverse does not necessarily hold. Therefore you must really be assuming the stronger condition (2) for the C's in this problem. Is that true?
>
> If so, here is another question for you. Have you figured out how to generate examples of C's in matlab that would satisfy (2)? If you can do that, you may be well on your way to solving the whole problem.
>
> Roger Stafford
>
Sir Stafford,
thank against.
C's matrices are ready orhogonal.
D's matrices need to find that
Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
       zeros(2,2) zeros(2,2) D0 D1 D2 D3]
must satisfy
V*V'=eye(2); (condition 1)
V*Q'=zeros(2); (condition 2)
Q*V'=zeros(2); (condition 3)
Q*Q'=eye(2); (condition 4).
I have already only condition 1!
Need to find conditions 2, 3 and 4.
That all.
Thanks for your help.


    
 

Subject: orthogonal matrix

From: Bruno Luong

Date: 25 Apr, 2010 16:24:05

Message: 6 of 24

Are you aware about the function ORTH()?

Bruno

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 17:06:05

Message: 7 of 24

"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <hr1qb5$o0h$1@fred.mathworks.com>...
> Are you aware about the function ORTH()?
>
> Bruno
I tried this. Conditions are very strong.
But, you can be show how to find matrix Q ?
Thanks you.

Subject: orthogonal matrix

From: Roger Stafford

Date: 25 Apr, 2010 17:18:05

Message: 8 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> Sir Stafford,
> thank against.
> C's matrices are ready orhogonal.
> D's matrices need to find that
> Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> must satisfy
> V*V'=eye(2); (condition 1)
> V*Q'=zeros(2); (condition 2)
> Q*V'=zeros(2); (condition 3)
> Q*Q'=eye(2); (condition 4).
> I have already only condition 1!
> Need to find conditions 2, 3 and 4.
> That all.
> Thanks for your help.
----------
  That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.

  As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.

  Have a try at it, Atanas. I think you will find the effort very rewarding.

Roger Stafford

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 17:39:06

Message: 9 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1tgd$fe5$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> > Sir Stafford,
> > thank against.
> > C's matrices are ready orhogonal.
> > D's matrices need to find that
> > Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> > must satisfy
> > V*V'=eye(2); (condition 1)
> > V*Q'=zeros(2); (condition 2)
> > Q*V'=zeros(2); (condition 3)
> > Q*Q'=eye(2); (condition 4).
> > I have already only condition 1!
> > Need to find conditions 2, 3 and 4.
> > That all.
> > Thanks for your help.
> ----------
> That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.
>
> As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.
>
> Have a try at it, Atanas. I think you will find the effort very rewarding.
>
> Roger Stafford

Sir Stafford,
This is matrix L:
V =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
         0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
>> V*V'
ans =
    1.0000 0.0000
    0.0000 1.0000
This is good!
I need to find matrix Q!
Thanks again.

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 17:42:05

Message: 10 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1tgd$fe5$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> > Sir Stafford,
> > thank against.
> > C's matrices are ready orhogonal.
> > D's matrices need to find that
> > Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> > must satisfy
> > V*V'=eye(2); (condition 1)
> > V*Q'=zeros(2); (condition 2)
> > Q*V'=zeros(2); (condition 3)
> > Q*Q'=eye(2); (condition 4).
> > I have already only condition 1!
> > Need to find conditions 2, 3 and 4.
> > That all.
> > Thanks for your help.
> ----------
> That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.
>
> As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.
>
> Have a try at it, Atanas. I think you will find the effort very rewarding.
>
> Roger Stafford

Sir Stafford,
This is matrix L:
V =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
         0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
>> V*V'
ans =
    1.0000 0.0000
    0.0000 1.0000
This is good!
I need to find matrix Q!
Thanks again.

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 17:43:07

Message: 11 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1tgd$fe5$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> > Sir Stafford,
> > thank against.
> > C's matrices are ready orhogonal.
> > D's matrices need to find that
> > Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> > must satisfy
> > V*V'=eye(2); (condition 1)
> > V*Q'=zeros(2); (condition 2)
> > Q*V'=zeros(2); (condition 3)
> > Q*Q'=eye(2); (condition 4).
> > I have already only condition 1!
> > Need to find conditions 2, 3 and 4.
> > That all.
> > Thanks for your help.
> ----------
> That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.
>
> As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.
>
> Have a try at it, Atanas. I think you will find the effort very rewarding.
>
> Roger Stafford

Sir Stafford,
This is matrix L:
V =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
         0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
>> V*V'
ans =
    1.0000 0.0000
    0.0000 1.0000
This is good!
I need to find matrix Q!
Thanks again.

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 18:05:25

Message: 12 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr1uvb$iel$1@fred.mathworks.com>...
> "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1tgd$fe5$1@fred.mathworks.com>...
> > "atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> > > Sir Stafford,
> > > thank against.
> > > C's matrices are ready orhogonal.
> > > D's matrices need to find that
> > > Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > > zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> > > must satisfy
> > > V*V'=eye(2); (condition 1)
> > > V*Q'=zeros(2); (condition 2)
> > > Q*V'=zeros(2); (condition 3)
> > > Q*Q'=eye(2); (condition 4).
> > > I have already only condition 1!
> > > Need to find conditions 2, 3 and 4.
> > > That all.
> > > Thanks for your help.
> > ----------
> > That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.
> >
> > As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.
> >
> > Have a try at it, Atanas. I think you will find the effort very rewarding.
> >
> > Roger Stafford
>
> Sir Stafford,
> This is matrix L:
> V =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
> 0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
 V*V' =eye(2)
and
[V zeros(2,4); zeros(2,4) V ][V zeros(2,4); zeros(2,4) V ]'=eye(4) !
 This is good!
 I need to find matrix Q!
 Thanks again.

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 18:19:05

Message: 13 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr2095$c8s$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr1uvb$iel$1@fred.mathworks.com>...
> > "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr1tgd$fe5$1@fred.mathworks.com>...
> > > "atanas " <atanaslove2000@abv.bg> wrote in message <hr1p7k$dtd$1@fred.mathworks.com>...
> > > > Sir Stafford,
> > > > thank against.
> > > > C's matrices are ready orhogonal.
> > > > D's matrices need to find that
> > > > Q = [D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > > > zeros(2,2) zeros(2,2) D0 D1 D2 D3]
> > > > must satisfy
> > > > V*V'=eye(2); (condition 1)
> > > > V*Q'=zeros(2); (condition 2)
> > > > Q*V'=zeros(2); (condition 3)
> > > > Q*Q'=eye(2); (condition 4).
> > > > I have already only condition 1!
> > > > Need to find conditions 2, 3 and 4.
> > > > That all.
> > > > Thanks for your help.
> > > ----------
> > > That answers my first question, but my second question was "Have you figured out how to generate examples of C's in matlab that would satisfy (2)?" That is, V*V' = eye(4). Never mind the D's for the moment.
> > >
> > > As Bruno indicates, you can make good use of 'orth'. The same is true of 'null'.
> > >
> > > Have a try at it, Atanas. I think you will find the effort very rewarding.
> > >
> > > Roger Stafford
> >
> > Sir Stafford,
 This is matrix T:
 T =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
         0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
  satisfy T*T' =eye(2) !
Now this matrix T I insert i matrix V
V=[T zeros(2,4);
    zeros(2,4) T ];
and
V*V'=eye(4)!
This is correct.
Now, I need to find matrix
Q=[ M zeros(2,4);
zeros(2,4) M ];
must satisfy
V*Q'=zeros(4)
Q*V'=zeros(4)
V*V'=eye(4)
For this reason I must to find submatrix M, such that
M*M'=eye(2) and its V*V'=eye(4)!
My be this is clear.
Thanks.
This is good!
  I need to find matrix Q!

Subject: orthogonal matrix

From: Roger Stafford

Date: 25 Apr, 2010 19:09:09

Message: 14 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr212p$38m$1@fred.mathworks.com>...
> This is matrix T:
> T =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
> 0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
> satisfy T*T' =eye(2) !
> Now this matrix T I insert i matrix V
> V=[T zeros(2,4);
> zeros(2,4) T ];
> and
> V*V'=eye(4)!
> This is correct.
> Now, I need to find matrix
> Q=[ M zeros(2,4);
> zeros(2,4) M ];
> must satisfy
> V*Q'=zeros(4)
> Q*V'=zeros(4)
> V*V'=eye(4)
> For this reason I must to find submatrix M, such that
> M*M'=eye(2) and its V*V'=eye(4)!
> My be this is clear.
> Thanks.
> This is good!
> I need to find matrix Q!
--------------
  You have shown me a matrix T (a.k.a. matrix L) that works (approximately), but you haven't shown me how you got it. It is in the process of obtaining T wherein useful things happen in your problem. Just for now forget all about D and Q, and concentrate on the steps involved in finding a successful T. You didn't get it by simply finding two random eight-element vectors for the rows of [C0 C1 C2 C3] which are orthogonal and normalizing them. There is more to it than that, because you will also have to make the two four-element rows of [C0 C1] both orthogonal to the two four-element rows of [C2 C3] which would not necessarily be the case (though it appears to be true of the example you have shown.) Again the question is, how did you get your successful T?

Roger Stafford

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 20:58:04

Message: 15 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr240l$8b8$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hr212p$38m$1@fred.mathworks.com>...
> > This is matrix T:
> > T =[ 0 -0.0407 0.0873 -0.1484 0.9072 0.3460 0.1610 0
> > 0 0.0048 -0.0103 0.0175 -0.1069 -0.0998 0.8401 0.5219];
> > satisfy T*T' =eye(2) !
> > Now this matrix T I insert i matrix V
> > V=[T zeros(2,4);
> > zeros(2,4) T ];
> > and
> > V*V'=eye(4)!
> > This is correct.
> > Now, I need to find matrix
> > Q=[ M zeros(2,4);
> > zeros(2,4) M ];
> > must satisfy
> > V*Q'=zeros(4)
> > Q*V'=zeros(4)
> > V*V'=eye(4)
> > For this reason I must to find submatrix M, such that
> > M*M'=eye(2) and its V*V'=eye(4)!
> > My be this is clear.
> > Thanks.
> > This is good!
> > I need to find matrix Q!
> --------------
> You have shown me a matrix T (a.k.a. matrix L) that works (approximately), but you haven't shown me how you got it. It is in the process of obtaining T wherein useful things happen in your problem. Just for now forget all about D and Q, and concentrate on the steps involved in finding a successful T. You didn't get it by simply finding two random eight-element vectors for the rows of [C0 C1 C2 C3] which are orthogonal and normalizing them. There is more to it than that, because you will also have to make the two four-element rows of [C0 C1] both orthogonal to the two four-element rows of [C2 C3] which would not necessarily be the case (though it appears to be true of the example you have shown.) Again the question is, how did you get your successful T?
>
> Roger Stafford
-----------------------------
By using of orthogonal polynomials , I take only coefficients for matrix T.
But , when I want to construct above matrix Q, I don't obtained
V*Q'=zeros(4)
Q*V'=zeros(4)
V*V'=eye(4)
that is .
best regards.
  

Subject: orthogonal matrix

From: Bruno Luong

Date: 25 Apr, 2010 21:59:04

Message: 16 of 24


> -----------------------------
> By using of orthogonal polynomials , I take only coefficients for matrix T.
> But , when I want to construct above matrix Q, I don't obtained
> V*Q'=zeros(4)
> Q*V'=zeros(4)
> V*V'=eye(4)
> that is .
> best regards.
>

From HELP NULL (Thanks to Roger who has corrected me by pointing to NULL, which I always mistaken with ORTH for some reason):

 NULL Null space.
    Z = NULL(A) is an orthonormal basis for the null space of A obtained
    from the singular value decomposition. That is, A*Z has negligible
    elements, size(Z,2) is the nullity of A, and Z'*Z = I.

Don't you see the relation?

Bruno

Subject: orthogonal matrix

From: Roger Stafford

Date: 25 Apr, 2010 22:58:04

Message: 17 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr2acs$mgu$1@fred.mathworks.com>...
> By using of orthogonal polynomials , I take only coefficients for matrix T.
> ........
----------------
  Constructing a T matrix involves, in my opinion, finding an orthonormal basis in R^4 in which the first two basis elements are destined to lie the 2D space spanned by the two rows of [C0 C1] and the second two basis elements lie in the 2D space spanned by the two rows of [C2 C3]. That way you will be assured that the two rows of [C0 C1] will be orthogonal to the two rows of [C2 C3]. By applying this process to the two rows of [C0 C1 C2 C3] you can eventually determine a suitable T matrix. Finding such an orthonormal set is why Bruno and I keep mentioning the 'null' and 'orth' matlab functions.

  How is it you see orthogonal polynomials being useful for creating T? Are you willing to give the details of this?

Roger Stafford

Subject: orthogonal matrix

From: atanas

Date: 25 Apr, 2010 23:28:02

Message: 18 of 24

"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <hr2dv8$ali$1@fred.mathworks.com>...
>
> > -----------------------------
> > By using of orthogonal polynomials , I take only coefficients for matrix T.
> > But , when I want to construct above matrix Q, I don't obtained
> > V*Q'=zeros(4)
> > Q*V'=zeros(4)
> > V*V'=eye(4)
> > that is .
> > best regards.
> >
>
> From HELP NULL (Thanks to Roger who has corrected me by pointing to NULL, which I always mistaken with ORTH for some reason):
>
> NULL Null space.
> Z = NULL(A) is an orthonormal basis for the null space of A obtained
> from the singular value decomposition. That is, A*Z has negligible
> elements, size(Z,2) is the nullity of A, and Z'*Z = I.
>
> Don't you see the relation?
>
> Bruno

Sir Bruno,
thank you reply,
Yes, I see the relation,BUT!
- I don't have matrix A. Which is a matrix must be estimation with Z=null(?) ?
- If you speech for matrix T, that is easy to find its orthonal matrix! I knew this.
- BUT, matrix T, go to matrix V (above)
V=[T zeros(2,4),
     zeros(2,4) T];
and I have result
T*T'=eye(2) !
and
V*V=eye(4) !
In thi case, I can't used matlab function orth!
If obtained Z=otrh(T), I can't obtanied V*V'=eye(4) and V*Q'=zeros(4)!
If your have solutions, I hope to learning from your.
I am student and I don't know everything.
Thank sir Bruno. That is already.

Subject: orthogonal matrix

From: Bruno Luong

Date: 26 Apr, 2010 08:25:29

Message: 19 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr2j62$djq$1@fred.mathworks.com>...

> Yes, I see the relation...!

Obviously you don't, if you see the relation the solution is already found.

NULL(A) returns a orthogonal matrix where each column is orthogonal to all the row of A.

What do the following conditions mean?

> V*Q'=zeros(2); (condition 2)
> Q*V'=zeros(2); (condition 3)
> Q*Q'=eye(2); (condition 4).

Conditions (3) and (2) state the same thing, because (V*Q')' = Q*V'.

Bruno

Subject: orthogonal matrix

From: Roger Stafford

Date: 26 Apr, 2010 17:35:04

Message: 20 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> Hello,
> I have problem for my project:
> Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> We knowing matrices C0,C1,C2,and C3 that
> [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> We construct the matrix
> W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> zeros(2,2) zeros(2,2) D0 D1 D2 D3].
>
> How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
-----------------
  Atanas, this thread is stretching out too long, so in spite of what I said earlier, I have decided to give you my version of a matlab code that would solve your problem. I hope you will find it useful. I leave it up to you to discover the logic behind the algorithm.

  Remember, it is very important that any set of C0, C1, C2, C3 you create yourself instead of using part 1 should pass the test that is given there with just as much accuracy as in part 1, namely with errors only out in the 14th or 15th decimal place. Otherwise the procedure in part 2 will not be accurate. It depends on the C's being correctly chosen.

  If you recall, I mentioned earlier that there is one degree of freedom in the choice of the D's, for any given set of C's. In the code below in the line

y = null([y1,y2])';

matlab's 'null' function must choose two normal mutually orthogonal four-element vectors which are orthogonal to y1 and y2, so it must choose them in a two-dimensional subspace. However, the two vectors could be at any rotated orientation in this subspace and this is where the one degree of freedom for the D's comes in.

Roger Stafford
--------------------------
% Part 1 - Random generation of C's
clear
x = orth(randn(4))';
y = orth(randn(4,2))';
C0 = y(:,1:2)*x(1:2,1:2);
C1 = y(:,1:2)*x(1:2,3:4);
C2 = y(:,3:4)*x(3:4,1:2);
C3 = y(:,3:4)*x(3:4,3:4);

% Check the C's
Z2 = zeros(2);
V = [C0,C1,C2,C3,Z2,Z2;
     Z2,Z2,C0,C1,C2,C3];
format long
disp(max(max(abs(V*V'-eye(4)))))
clear V Z2 x y

% Part 2 - Given the proper C's, create D's
x1 = orth([C0,C1]')';
x2 = orth([C2,C3]')';
y1 = [C0,C1]/x1;
y2 = [C2,C3]/x2;
y = null([y1,y2])';
D0 = y(:,1:2)*x1(:,1:2);
D1 = y(:,1:2)*x1(:,3:4);
D2 = y(:,3:4)*x2(:,1:2);
D3 = y(:,3:4)*x2(:,3:4);

% Check the D's
Z2 = zeros(2);
W = [C0,C1,C2,C3,Z2,Z2;
     Z2,Z2,C0,C1,C2,C3;
     D0,D1,D2,D3,Z2,Z2;
     Z2,Z2,D0,D1,D2,D3];
format long
disp(max(max(abs(W*W'-eye(8)))))
clear W Z2 x1 x2 y y1 y2
--------------------------

Subject: orthogonal matrix

From: atanas

Date: 27 Apr, 2010 00:07:04

Message: 21 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr4is8$9cc$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> > Hello,
> > I have problem for my project:
> > Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> > We knowing matrices C0,C1,C2,and C3 that
> > [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> > We construct the matrix
> > W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> > D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3].
> >
> > How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
> -----------------
> Atanas, this thread is stretching out too long, so in spite of what I said earlier, I have decided to give you my version of a matlab code that would solve your problem. I hope you will find it useful. I leave it up to you to discover the logic behind the algorithm.
>
> Remember, it is very important that any set of C0, C1, C2, C3 you create yourself instead of using part 1 should pass the test that is given there with just as much accuracy as in part 1, namely with errors only out in the 14th or 15th decimal place. Otherwise the procedure in part 2 will not be accurate. It depends on the C's being correctly chosen.
>
> If you recall, I mentioned earlier that there is one degree of freedom in the choice of the D's, for any given set of C's. In the code below in the line
>
> y = null([y1,y2])';
>
> matlab's 'null' function must choose two normal mutually orthogonal four-element vectors which are orthogonal to y1 and y2, so it must choose them in a two-dimensional subspace. However, the two vectors could be at any rotated orientation in this subspace and this is where the one degree of freedom for the D's comes in.
>
> Roger Stafford
> --------------------------
> % Part 1 - Random generation of C's
> clear
> x = orth(randn(4))';
> y = orth(randn(4,2))';
> C0 = y(:,1:2)*x(1:2,1:2);
> C1 = y(:,1:2)*x(1:2,3:4);
> C2 = y(:,3:4)*x(3:4,1:2);
> C3 = y(:,3:4)*x(3:4,3:4);
>
> % Check the C's
> Z2 = zeros(2);
> V = [C0,C1,C2,C3,Z2,Z2;
> Z2,Z2,C0,C1,C2,C3];
> format long
> disp(max(max(abs(V*V'-eye(4)))))
> clear V Z2 x y
>
> % Part 2 - Given the proper C's, create D's
> x1 = orth([C0,C1]')';
> x2 = orth([C2,C3]')';
> y1 = [C0,C1]/x1;
> y2 = [C2,C3]/x2;
> y = null([y1,y2])';
> D0 = y(:,1:2)*x1(:,1:2);
> D1 = y(:,1:2)*x1(:,3:4);
> D2 = y(:,3:4)*x2(:,1:2);
> D3 = y(:,3:4)*x2(:,3:4);
>
> % Check the D's
> Z2 = zeros(2);
> W = [C0,C1,C2,C3,Z2,Z2;
> Z2,Z2,C0,C1,C2,C3;
> D0,D1,D2,D3,Z2,Z2;
> Z2,Z2,D0,D1,D2,D3];
> format long
> disp(max(max(abs(W*W'-eye(8)))))
> clear W Z2 x1 x2 y y1 y2
> --------------------------
Thank you very much. This is original solution for me.
I have to study more a linear algebra.
You are very good teacher. Thanks again.
Best regards.
 

Subject: orthogonal matrix

From: atanas

Date: 27 Apr, 2010 00:09:04

Message: 22 of 24

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr4is8$9cc$1@fred.mathworks.com>...
> "atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> > Hello,
> > I have problem for my project:
> > Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> > We knowing matrices C0,C1,C2,and C3 that
> > [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> > We construct the matrix
> > W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> > D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > zeros(2,2) zeros(2,2) D0 D1 D2 D3].
> >
> > How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
> -----------------
> Atanas, this thread is stretching out too long, so in spite of what I said earlier, I have decided to give you my version of a matlab code that would solve your problem. I hope you will find it useful. I leave it up to you to discover the logic behind the algorithm.
>
> Remember, it is very important that any set of C0, C1, C2, C3 you create yourself instead of using part 1 should pass the test that is given there with just as much accuracy as in part 1, namely with errors only out in the 14th or 15th decimal place. Otherwise the procedure in part 2 will not be accurate. It depends on the C's being correctly chosen.
>
> If you recall, I mentioned earlier that there is one degree of freedom in the choice of the D's, for any given set of C's. In the code below in the line
>
> y = null([y1,y2])';
>
> matlab's 'null' function must choose two normal mutually orthogonal four-element vectors which are orthogonal to y1 and y2, so it must choose them in a two-dimensional subspace. However, the two vectors could be at any rotated orientation in this subspace and this is where the one degree of freedom for the D's comes in.
>

Subject: orthogonal matrix

From: atanas

Date: 27 Apr, 2010 00:40:37

Message: 23 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr59r8$gcm$1@fred.mathworks.com>...
> "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr4is8$9cc$1@fred.mathworks.com>...
> > "atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> > > Hello,
> > > I have problem for my project:
> > > Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> > > We knowing matrices C0,C1,C2,and C3 that
> > > [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> > > We construct the matrix
> > > W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> > > zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> > > D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > > zeros(2,2) zeros(2,2) D0 D1 D2 D3].
> > >
> > > How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
> > -----------------
> > Atanas, this thread is stretching out too long, so in spite of what I said earlier, I have decided to give you my version of a matlab code that would solve your problem. I hope you will find it useful. I leave it up to you to discover the logic behind the algorithm.
> >
> > Remember, it is very important that any set of C0, C1, C2, C3 you create yourself instead of using part 1 should pass the test that is given there with just as much accuracy as in part 1, namely with errors only out in the 14th or 15th decimal place. Otherwise the procedure in part 2 will not be accurate. It depends on the C's being correctly chosen.
> >
> > If you recall, I mentioned earlier that there is one degree of freedom in the choice of the D's, for any given set of C's. In the code below in the line
> >
> > y = null([y1,y2])';
> >
> > matlab's 'null' function must choose two normal mutually orthogonal four-element vectors which are orthogonal to y1 and y2, so it must choose them in a two-dimensional subspace. However, the two vectors could be at any rotated orientation in this subspace and this is where the one degree of freedom for the D's comes in.

Subject: orthogonal matrix

From: atanas

Date: 27 Apr, 2010 00:47:05

Message: 24 of 24

"atanas " <atanaslove2000@abv.bg> wrote in message <hr59v0$ner$1@fred.mathworks.com>...
> "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hr4is8$9cc$1@fred.mathworks.com>...
> > "atanas " <atanaslove2000@abv.bg> wrote in message <hqvsda$m6d$1@fred.mathworks.com>...
> > > Hello,
> > > I have problem for my project:
> > > Let we matrices C0,C1,C2,C3,D0,D1,D2, and D3 are with size 2x2.
> > > We knowing matrices C0,C1,C2,and C3 that
> > > [C0 C1 C2 C3]*[C0 C1 C2 C3]'=I
> > > We construct the matrix
> > > W=[C0 C1 C2 C3 zeros(2,2) zeros(2,2);
> > > zeros(2,2) zeros(2,2) C0 C1 C2 C3;
> > > D0 D1 D2 D3 zeros(2,2) zeros(2,2);
> > > zeros(2,2) zeros(2,2) D0 D1 D2 D3].
> > >
> > > How to find matrix D0,D1,D2, and D3 so that satisfy condition W*W'=I?
> > -----------------
> > Atanas, this thread is stretching out too long, so in spite of what I said earlier, I have decided to give you my version of a matlab code that would solve your problem. I hope you will find it useful. I leave it up to you to discover the logic behind the algorithm.
> >
> > Remember, it is very important that any set of C0, C1, C2, C3 you create yourself instead of using part 1 should pass the test that is given there with just as much accuracy as in part 1, namely with errors only out in the 14th or 15th decimal place. Otherwise the procedure in part 2 will not be accurate. It depends on the C's being correctly chosen.
> >
> > If you recall, I mentioned earlier that there is one degree of freedom in the choice of the D's, for any given set of C's. In the code below in the line
> >
> > y = null([y1,y2])';
> >
> > matlab's 'null' function must choose two normal mutually orthogonal four-element vectors which are orthogonal to y1 and y2, so it must choose them in a two-dimensional subspace. However, the two vectors could be at any rotated orientation in this subspace and this is where the one degree of freedom for the D's comes in.
> >
Sir R. Stafford,
I don't know for now, but continue calculate and research this method. If you have anywhere similar book, please send me!
For future , if have good results I send you mail.
Thank again.

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us