# Talk:Beginning with CVX

(Difference between revisions)
 Revision as of 18:56, 3 February 2009 (edit) (New page:
lamda_W=eig(full(W))
)← Previous diff Revision as of 23:32, 3 February 2009 (edit) (undo)Next diff → Line 1: Line 1:

lamda_W=eig(full(W))                                                                  lamda_W=eig(full(W))
+
+ -------------------------------------------------------------------- + Thanks for the idea
full(W)
it's great, it works!!! Thank you very much :D. + + I have an answer, how to calculate the normalized eigenvector. + + Maybe?
v_W=eig(full(W))/max(eig(full(W)))
+ + And... how does i have to undersand the result? + + In the tutorial don't explain anything, or, with type K in Matlab(is the variable I want to know) thats all? + + Thanks a lot again. + + Here is the new code: + +
+
+                                                               clear all;
+                                                               n=2; m=1;
+
+                                                               A_a=3*eye(2*n,2*n)
+                                                               B_a=4*eye(2*n,2*m)
+                                                               W=eye(4)
+                                                               R=(zeros(2,4))
+
+                                                               cvx_begin
+
+                                                               expression K(2*m,2*n)
+
+                                                               H=W*A_a'+A_a*W-B_a*R-R'*B_a'
+
+                                                               variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)
+
+                                                               minimize (p1+p2)
+
+                                                               subject to
+                                                               for p=1:2
+                                                               W(1,1)<=p1
+                                                               W(2,2)<=p1
+                                                               W(3,3)==W(1,1)
+                                                               W(4,4)==W(2,2)
+
+                                                               for q=1
+                                                               R(1,1)>=-p2
+                                                               R(1,1)<=p2
+                                                               R(2,3)==R(1,1)
+
+                                                               R(1,2)>=-p2
+                                                               R(1,2)<=p2
+                                                               R(2,4)==R(1,2)
+                                                               end
+                                                               end
+                                                               W>=Epsilon1*eye(2*n,2*n)
+                                                               H<=-Epsilon2*eye(2*n,2*n)
+
+                                                               cvx_end
+
+                                                               lamda_W=eig(full(W))
+                                                               lamda_H=eig(H)
+                                                               v_W=eig(full(W))/max(eig(full(W)))%%normalized eigenvector :|
+                                                               v_H=eig(H)/max(eig(H))
+
+                                                               para=0 %STOP
+
+                                                               while para==0
+
+                                                               if ( Epsilon1 - lamda_W )>(lamda_H+Epsilon2)
+
+                                                               cvx_begin
+
+                                                               H=W*A_a'+A_a*W-B_a*R-R'*B_a'
+
+                                                               variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)
+
+                                                               minimize (p1+p2)
+
+                                                               subject to
+                                                               for p=1:2
+                                                               W(1,1)<=p1
+                                                               W(2,2)<=p1
+                                                               W(3,3)==W(1,1)
+                                                               W(4,4)==W(2,2)
+
+                                                               for q=1
+                                                               R(1,1)>=-p2
+                                                               R(1,1)<=p2
+                                                               R(2,3)==R(1,1)
+
+                                                               R(1,2)>=-p2
+                                                               R(1,2)<=p2
+                                                               R(2,4)==R(1,2)
+                                                               end
+                                                               end
+                                                               W>=Epsilon1*eye(2*n,2*n)
+                                                               H<=-Epsilon2*eye(2*n,2*n)
+
+                                                               v_W'*W*v_w>=Epsilon1
+
+                                                               cvx_end
+
+                                                               else
+
+                                                               cvx_begin
+
+                                                               H=W*A_a'+A_a*W-B_a*R-R'*B_a'
+
+                                                               variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)
+
+                                                               minimize (p1+p2)
+
+                                                               subject to
+                                                               for p=1:2
+                                                               W(1,1)<=p1
+                                                               W(2,2)<=p1
+                                                               W(3,3)==W(1,1)
+                                                               W(4,4)==W(2,2)
+
+                                                               for q=1
+                                                               R(1,1)>=-p2
+                                                               R(1,1)<=p2
+                                                               R(2,3)==R(1,1)
+
+                                                               R(1,2)>=-p2
+                                                               R(1,2)<=p2
+                                                               R(2,4)==R(1,2)
+                                                               end
+                                                               end
+                                                               W>=Epsilon1*eye(2*n,2*n)
+                                                               H<=-Epsilon2*eye(2*n,2*n)
+
+                                                               v_H'*W*v_H<=-Epsilon2
+
+                                                               cvx_end
+                                                               end
+
+                                                               lamda_W=eig(full(W))
+                                                               lamda_H=eig(H)
+                                                               v_W=eig(full(W))/min(eig(full(W)))%%Cálculo del normalized eigenvector
+                                                               v_H=eig(H)/min(eig(H))
+
+                                                               %STOP
+                                                               if(lamda_W>=Epsilon1)
+                                                               if(lamda_H<=-Epsilon2)     para=1
+                                                               else para = 0
+                                                               end
+                                                               else para =0
+                                                               end
+
+                                                               end
+
+                                                               R
+                                                               W
+                                                               K=R/W

## Revision as of 23:32, 3 February 2009

```lamda_W=eig(full(W))
```

Thanks for the idea
`full(W)`
it's great, it works!!! Thank you very much :D.

I have an answer, how to calculate the normalized eigenvector.

Maybe?
`v_W=eig(full(W))/max(eig(full(W)))`

And... how does i have to undersand the result?

In the tutorial don't explain anything, or, with type K in Matlab(is the variable I want to know) thats all?

Thanks a lot again.

Here is the new code:

```
clear all;
n=2; m=1;

A_a=3*eye(2*n,2*n)
B_a=4*eye(2*n,2*m)
W=eye(4)
R=(zeros(2,4))

cvx_begin

expression K(2*m,2*n)

H=W*A_a'+A_a*W-B_a*R-R'*B_a'

variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)

minimize (p1+p2)

subject to
for p=1:2
W(1,1)<=p1
W(2,2)<=p1
W(3,3)==W(1,1)
W(4,4)==W(2,2)

for q=1
R(1,1)>=-p2
R(1,1)<=p2
R(2,3)==R(1,1)

R(1,2)>=-p2
R(1,2)<=p2
R(2,4)==R(1,2)
end
end
W>=Epsilon1*eye(2*n,2*n)
H<=-Epsilon2*eye(2*n,2*n)

cvx_end

lamda_W=eig(full(W))
lamda_H=eig(H)
v_W=eig(full(W))/max(eig(full(W)))%%normalized eigenvector :|
v_H=eig(H)/max(eig(H))

para=0 %STOP

while para==0

if ( Epsilon1 - lamda_W )>(lamda_H+Epsilon2)

cvx_begin

H=W*A_a'+A_a*W-B_a*R-R'*B_a'

variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)

minimize (p1+p2)

subject to
for p=1:2
W(1,1)<=p1
W(2,2)<=p1
W(3,3)==W(1,1)
W(4,4)==W(2,2)

for q=1
R(1,1)>=-p2
R(1,1)<=p2
R(2,3)==R(1,1)

R(1,2)>=-p2
R(1,2)<=p2
R(2,4)==R(1,2)
end
end
W>=Epsilon1*eye(2*n,2*n)
H<=-Epsilon2*eye(2*n,2*n)

v_W'*W*v_w>=Epsilon1

cvx_end

else

cvx_begin

H=W*A_a'+A_a*W-B_a*R-R'*B_a'

variables p1 p2 Epsilon1 Epsilon2 W(4,4) R(2,4)

minimize (p1+p2)

subject to
for p=1:2
W(1,1)<=p1
W(2,2)<=p1
W(3,3)==W(1,1)
W(4,4)==W(2,2)

for q=1
R(1,1)>=-p2
R(1,1)<=p2
R(2,3)==R(1,1)

R(1,2)>=-p2
R(1,2)<=p2
R(2,4)==R(1,2)
end
end
W>=Epsilon1*eye(2*n,2*n)
H<=-Epsilon2*eye(2*n,2*n)

v_H'*W*v_H<=-Epsilon2

cvx_end
end

lamda_W=eig(full(W))
lamda_H=eig(H)
v_W=eig(full(W))/min(eig(full(W)))%%Cálculo del normalized eigenvector
v_H=eig(H)/min(eig(H))

%STOP
if(lamda_W>=Epsilon1)
if(lamda_H<=-Epsilon2)     para=1
else para = 0
end
else para =0
end

end

R
W
K=R/W
```