v2007.09.13 - Convex Optimization
v2007.09.13 - Convex Optimization v2007.09.13 - Convex Optimization
662 APPENDIX F. MATLAB PROGRAMSF.4.2 svectinv()% convert vector into symmetric matrix. m is dim of matrix.% -Jon Dattorrofunction A = svectinv(y)m = round((sqrt(8*length(y)+1)-1)/2);if length(y) ~= m*(m+1)/2disp(’dimension error in svectinv()’);pauseendA = zeros(m,m);count = 1;for j=1:mfor i=1:mif i
F.5. STURM’S PROCEDURE 663F.5 Sturm’s procedureThis is a demonstration program that can easily be transformed to asubroutine for decomposing positive semidefinite matrix X . This procedureprovides a nonorthogonal alternative (A.7.5.0.1) to eigen decomposition.That particular decomposition obtained is dependent on choice of matrix A .% Sturm procedure to find dyad-decomposition of X -Jon Dattorroclear allN = 4;r = 2;X = 2*(rand(r,N)-0.5);X = X’*X;t = null(svect(X)’);A = svectinv(t(:,1));% Suppose given matrix A is positive semidefinite%[v,d] = signeig(X);%d(1,1)=0; d(2,2)=0; d(3,3)=pi;%A = v*d*v’;tol = 1e-8;Y = X;y = zeros(size(X,1),r);rho = r;for k=1:r[v,d] = signeig(Y);v = v*sqrt(chop(d,1e-14));viol = 0;j = [ ];for i=2:rhoif chop((v(:,1)’*A*v(:,1))*(v(:,i)’*A*v(:,i)),tol) ~= 0viol = 1;endif (v(:,1)’*A*v(:,1))*(v(:,i)’*A*v(:,i)) < 0j = i;
- Page 612 and 613: 612 APPENDIX E. PROJECTIONE.8 Range
- Page 614 and 615: 614 APPENDIX E. PROJECTIONAs for su
- Page 616 and 617: 616 APPENDIX E. PROJECTIONWith refe
- Page 618 and 619: 618 APPENDIX E. PROJECTIONProjectio
- Page 620 and 621: 620 APPENDIX E. PROJECTIONE.9.2.2.2
- Page 622 and 623: 622 APPENDIX E. PROJECTIONThe foreg
- Page 624 and 625: 624 APPENDIX E. PROJECTION❇❇❇
- Page 626 and 627: 626 APPENDIX E. PROJECTIONE.10 Alte
- Page 628 and 629: 628 APPENDIX E. PROJECTIONbH 1H 2P
- Page 630 and 631: 630 APPENDIX E. PROJECTIONa(a){y |
- Page 632 and 633: 632 APPENDIX E. PROJECTION(a feasib
- Page 634 and 635: 634 APPENDIX E. PROJECTIONwhile, th
- Page 636 and 637: 636 APPENDIX E. PROJECTIONE.10.2.1.
- Page 638 and 639: 638 APPENDIX E. PROJECTION10 0dist(
- Page 640 and 641: 640 APPENDIX E. PROJECTIONE.10.3.1D
- Page 642 and 643: 642 APPENDIX E. PROJECTIONE 3K ⊥
- Page 644 and 645: 644 APPENDIX E. PROJECTION
- Page 646 and 647: 646 APPENDIX F. MATLAB PROGRAMSif n
- Page 648 and 649: 648 APPENDIX F. MATLAB PROGRAMSend%
- Page 650 and 651: 650 APPENDIX F. MATLAB PROGRAMSF.1.
- Page 652 and 653: 652 APPENDIX F. MATLAB PROGRAMScoun
- Page 654 and 655: 654 APPENDIX F. MATLAB PROGRAMSF.3
- Page 656 and 657: 656 APPENDIX F. MATLAB PROGRAMSF.3.
- Page 658 and 659: 658 APPENDIX F. MATLAB PROGRAMS% so
- Page 660 and 661: 660 APPENDIX F. MATLAB PROGRAMS% tr
- Page 664 and 665: 664 APPENDIX F. MATLAB PROGRAMSbrea
- Page 666 and 667: 666 APPENDIX F. MATLAB PROGRAMSwhil
- Page 668 and 669: 668 APPENDIX F. MATLAB PROGRAMSF.7
- Page 670 and 671: 670 APPENDIX F. MATLAB PROGRAMS
- Page 672 and 673: 672 APPENDIX G. NOTATION AND A FEW
- Page 674 and 675: 674 APPENDIX G. NOTATION AND A FEW
- Page 676 and 677: 676 APPENDIX G. NOTATION AND A FEW
- Page 678 and 679: 678 APPENDIX G. NOTATION AND A FEW
- Page 680 and 681: 680 APPENDIX G. NOTATION AND A FEW
- Page 682 and 683: 682 APPENDIX G. NOTATION AND A FEW
- Page 684 and 685: 684 APPENDIX G. NOTATION AND A FEW
- Page 686 and 687: 686 APPENDIX G. NOTATION AND A FEW
- Page 688 and 689: 688 BIBLIOGRAPHY[7] Abdo Y. Alfakih
- Page 690 and 691: 690 BIBLIOGRAPHY[27] Aharon Ben-Tal
- Page 692 and 693: 692 BIBLIOGRAPHY[48] Lev M. Brègma
- Page 694 and 695: 694 BIBLIOGRAPHY[67] Joel Dawson, S
- Page 696 and 697: 696 BIBLIOGRAPHY[85] Alan Edelman,
- Page 698 and 699: 698 BIBLIOGRAPHY[102] Philip E. Gil
- Page 700 and 701: 700 BIBLIOGRAPHYWeiss, editors, Pol
- Page 702 and 703: 702 BIBLIOGRAPHY[146] Jean-Baptiste
- Page 704 and 705: 704 BIBLIOGRAPHY[168] Jean B. Lasse
- Page 706 and 707: 706 BIBLIOGRAPHY[189] Rudolf Mathar
- Page 708 and 709: 708 BIBLIOGRAPHY[211] M. L. Overton
- Page 710 and 711: 710 BIBLIOGRAPHY[229] C. K. Rushfor
662 APPENDIX F. MATLAB PROGRAMSF.4.2 svectinv()% convert vector into symmetric matrix. m is dim of matrix.% -Jon Dattorrofunction A = svectinv(y)m = round((sqrt(8*length(y)+1)-1)/2);if length(y) ~= m*(m+1)/2disp(’dimension error in svectinv()’);pauseendA = zeros(m,m);count = 1;for j=1:mfor i=1:mif i