Mercurial > hg > octave-nkf
comparison liboctave/EIG.cc @ 11586:12df7854fa7c
strip trailing whitespace from source files
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 20 Jan 2011 17:24:59 -0500 |
parents | 57632dea2446 |
children | 72c96de7a403 |
comparison
equal
deleted
inserted
replaced
11585:1473d0cf86d2 | 11586:12df7854fa7c |
---|---|
71 octave_idx_type& | 71 octave_idx_type& |
72 F77_CHAR_ARG_LEN_DECL | 72 F77_CHAR_ARG_LEN_DECL |
73 F77_CHAR_ARG_LEN_DECL); | 73 F77_CHAR_ARG_LEN_DECL); |
74 | 74 |
75 F77_RET_T | 75 F77_RET_T |
76 F77_FUNC (dpotrf, DPOTRF) (F77_CONST_CHAR_ARG_DECL, | 76 F77_FUNC (dpotrf, DPOTRF) (F77_CONST_CHAR_ARG_DECL, |
77 const octave_idx_type&, double*, | 77 const octave_idx_type&, double*, |
78 const octave_idx_type&, octave_idx_type& | 78 const octave_idx_type&, octave_idx_type& |
79 F77_CHAR_ARG_LEN_DECL | 79 F77_CHAR_ARG_LEN_DECL |
80 F77_CHAR_ARG_LEN_DECL); | 80 F77_CHAR_ARG_LEN_DECL); |
81 | 81 |
82 F77_RET_T | 82 F77_RET_T |
83 F77_FUNC (zpotrf, ZPOTRF) (F77_CONST_CHAR_ARG_DECL, | 83 F77_FUNC (zpotrf, ZPOTRF) (F77_CONST_CHAR_ARG_DECL, |
84 const octave_idx_type&, | 84 const octave_idx_type&, |
85 Complex*, const octave_idx_type&, | 85 Complex*, const octave_idx_type&, |
86 octave_idx_type& | 86 octave_idx_type& |
87 F77_CHAR_ARG_LEN_DECL | 87 F77_CHAR_ARG_LEN_DECL |
88 F77_CHAR_ARG_LEN_DECL); | 88 F77_CHAR_ARG_LEN_DECL); |
89 | 89 |
90 F77_RET_T | 90 F77_RET_T |
91 F77_FUNC (dggev, DGGEV) (F77_CONST_CHAR_ARG_DECL, | 91 F77_FUNC (dggev, DGGEV) (F77_CONST_CHAR_ARG_DECL, |
92 F77_CONST_CHAR_ARG_DECL, | 92 F77_CONST_CHAR_ARG_DECL, |
93 const octave_idx_type&, | 93 const octave_idx_type&, |
94 double*, const octave_idx_type&, | 94 double*, const octave_idx_type&, |
95 double*, const octave_idx_type&, | 95 double*, const octave_idx_type&, |
96 double*, double*, double *, double*, | 96 double*, double*, double *, double*, |
97 const octave_idx_type&, double*, | 97 const octave_idx_type&, double*, |
98 const octave_idx_type&, double*, | 98 const octave_idx_type&, double*, |
110 const octave_idx_type&, octave_idx_type& | 110 const octave_idx_type&, octave_idx_type& |
111 F77_CHAR_ARG_LEN_DECL | 111 F77_CHAR_ARG_LEN_DECL |
112 F77_CHAR_ARG_LEN_DECL); | 112 F77_CHAR_ARG_LEN_DECL); |
113 | 113 |
114 F77_RET_T | 114 F77_RET_T |
115 F77_FUNC (zggev, ZGGEV) (F77_CONST_CHAR_ARG_DECL, | 115 F77_FUNC (zggev, ZGGEV) (F77_CONST_CHAR_ARG_DECL, |
116 F77_CONST_CHAR_ARG_DECL, | 116 F77_CONST_CHAR_ARG_DECL, |
117 const octave_idx_type&, | 117 const octave_idx_type&, |
118 Complex*, const octave_idx_type&, | 118 Complex*, const octave_idx_type&, |
119 Complex*, const octave_idx_type&, | 119 Complex*, const octave_idx_type&, |
120 Complex*, Complex*, Complex*, | 120 Complex*, Complex*, Complex*, |
121 const octave_idx_type&, Complex*, | 121 const octave_idx_type&, Complex*, |
122 const octave_idx_type&, Complex*, | 122 const octave_idx_type&, Complex*, |
124 F77_CHAR_ARG_LEN_DECL | 124 F77_CHAR_ARG_LEN_DECL |
125 F77_CHAR_ARG_LEN_DECL); | 125 F77_CHAR_ARG_LEN_DECL); |
126 | 126 |
127 F77_RET_T | 127 F77_RET_T |
128 F77_FUNC (zhegv, ZHEGV) (const octave_idx_type&, | 128 F77_FUNC (zhegv, ZHEGV) (const octave_idx_type&, |
129 F77_CONST_CHAR_ARG_DECL, | 129 F77_CONST_CHAR_ARG_DECL, |
130 F77_CONST_CHAR_ARG_DECL, | 130 F77_CONST_CHAR_ARG_DECL, |
131 const octave_idx_type&, Complex*, | 131 const octave_idx_type&, Complex*, |
132 const octave_idx_type&, Complex*, | 132 const octave_idx_type&, Complex*, |
133 const octave_idx_type&, double*, Complex*, | 133 const octave_idx_type&, double*, Complex*, |
134 const octave_idx_type&, double*, octave_idx_type& | 134 const octave_idx_type&, double*, octave_idx_type& |
248 (*current_liboctave_error_handler) ("dgeev workspace query failed"); | 248 (*current_liboctave_error_handler) ("dgeev workspace query failed"); |
249 | 249 |
250 return info; | 250 return info; |
251 } | 251 } |
252 | 252 |
253 octave_idx_type | 253 octave_idx_type |
254 EIG::symmetric_init (const Matrix& a, bool calc_ev) | 254 EIG::symmetric_init (const Matrix& a, bool calc_ev) |
255 { | 255 { |
256 octave_idx_type n = a.rows (); | 256 octave_idx_type n = a.rows (); |
257 | 257 |
258 if (n != a.cols ()) | 258 if (n != a.cols ()) |
490 | 490 |
491 Matrix tmp = b; | 491 Matrix tmp = b; |
492 double *tmp_data = tmp.fortran_vec (); | 492 double *tmp_data = tmp.fortran_vec (); |
493 | 493 |
494 F77_XFCN (dpotrf, DPOTRF, (F77_CONST_CHAR_ARG2 ("L", 1), | 494 F77_XFCN (dpotrf, DPOTRF, (F77_CONST_CHAR_ARG2 ("L", 1), |
495 n, tmp_data, n, | 495 n, tmp_data, n, |
496 info | 496 info |
497 F77_CHAR_ARG_LEN (1) | 497 F77_CHAR_ARG_LEN (1) |
498 F77_CHAR_ARG_LEN (1))); | 498 F77_CHAR_ARG_LEN (1))); |
499 | 499 |
500 if (a.is_symmetric () && b.is_symmetric () && info == 0) | 500 if (a.is_symmetric () && b.is_symmetric () && info == 0) |
525 double *dummy = 0; | 525 double *dummy = 0; |
526 octave_idx_type idummy = 1; | 526 octave_idx_type idummy = 1; |
527 | 527 |
528 F77_XFCN (dggev, DGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), | 528 F77_XFCN (dggev, DGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), |
529 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 529 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
530 n, atmp_data, n, btmp_data, n, | 530 n, atmp_data, n, btmp_data, n, |
531 par, pai, pbeta, | 531 par, pai, pbeta, |
532 dummy, idummy, pvr, n, | 532 dummy, idummy, pvr, n, |
533 &dummy_work, lwork, info | 533 &dummy_work, lwork, info |
534 F77_CHAR_ARG_LEN (1) | 534 F77_CHAR_ARG_LEN (1) |
535 F77_CHAR_ARG_LEN (1))); | 535 F77_CHAR_ARG_LEN (1))); |
540 Array<double> work (dim_vector (lwork, 1)); | 540 Array<double> work (dim_vector (lwork, 1)); |
541 double *pwork = work.fortran_vec (); | 541 double *pwork = work.fortran_vec (); |
542 | 542 |
543 F77_XFCN (dggev, DGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), | 543 F77_XFCN (dggev, DGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), |
544 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 544 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
545 n, atmp_data, n, btmp_data, n, | 545 n, atmp_data, n, btmp_data, n, |
546 par, pai, pbeta, | 546 par, pai, pbeta, |
547 dummy, idummy, pvr, n, | 547 dummy, idummy, pvr, n, |
548 pwork, lwork, info | 548 pwork, lwork, info |
549 F77_CHAR_ARG_LEN (1) | 549 F77_CHAR_ARG_LEN (1) |
550 F77_CHAR_ARG_LEN (1))); | 550 F77_CHAR_ARG_LEN (1))); |
579 { | 579 { |
580 (*current_liboctave_error_handler) ("EIG: internal error"); | 580 (*current_liboctave_error_handler) ("EIG: internal error"); |
581 return -1; | 581 return -1; |
582 } | 582 } |
583 | 583 |
584 lambda.elem(j) = Complex (ar.elem(j) / beta.elem (j), | 584 lambda.elem(j) = Complex (ar.elem(j) / beta.elem (j), |
585 ai.elem(j) / beta.elem (j)); | 585 ai.elem(j) / beta.elem (j)); |
586 lambda.elem(j+1) = Complex (ar.elem(j+1) / beta.elem (j+1), | 586 lambda.elem(j+1) = Complex (ar.elem(j+1) / beta.elem (j+1), |
587 ai.elem(j+1) / beta.elem (j+1)); | 587 ai.elem(j+1) / beta.elem (j+1)); |
588 | 588 |
589 for (octave_idx_type i = 0; i < nvr; i++) | 589 for (octave_idx_type i = 0; i < nvr; i++) |
590 { | 590 { |
591 double real_part = vr.elem (i, j); | 591 double real_part = vr.elem (i, j); |
601 (*current_liboctave_error_handler) ("dggev workspace query failed"); | 601 (*current_liboctave_error_handler) ("dggev workspace query failed"); |
602 | 602 |
603 return info; | 603 return info; |
604 } | 604 } |
605 | 605 |
606 octave_idx_type | 606 octave_idx_type |
607 EIG::symmetric_init (const Matrix& a, const Matrix& b, bool calc_ev) | 607 EIG::symmetric_init (const Matrix& a, const Matrix& b, bool calc_ev) |
608 { | 608 { |
609 octave_idx_type n = a.rows (); | 609 octave_idx_type n = a.rows (); |
610 octave_idx_type nb = b.rows (); | 610 octave_idx_type nb = b.rows (); |
611 | 611 |
635 octave_idx_type lwork = -1; | 635 octave_idx_type lwork = -1; |
636 double dummy_work; | 636 double dummy_work; |
637 | 637 |
638 F77_XFCN (dsygv, DSYGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 638 F77_XFCN (dsygv, DSYGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
639 F77_CONST_CHAR_ARG2 ("U", 1), | 639 F77_CONST_CHAR_ARG2 ("U", 1), |
640 n, atmp_data, n, | 640 n, atmp_data, n, |
641 btmp_data, n, | 641 btmp_data, n, |
642 pwr, &dummy_work, lwork, info | 642 pwr, &dummy_work, lwork, info |
643 F77_CHAR_ARG_LEN (1) | 643 F77_CHAR_ARG_LEN (1) |
644 F77_CHAR_ARG_LEN (1))); | 644 F77_CHAR_ARG_LEN (1))); |
645 | 645 |
646 if (info == 0) | 646 if (info == 0) |
649 Array<double> work (dim_vector (lwork, 1)); | 649 Array<double> work (dim_vector (lwork, 1)); |
650 double *pwork = work.fortran_vec (); | 650 double *pwork = work.fortran_vec (); |
651 | 651 |
652 F77_XFCN (dsygv, DSYGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 652 F77_XFCN (dsygv, DSYGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
653 F77_CONST_CHAR_ARG2 ("U", 1), | 653 F77_CONST_CHAR_ARG2 ("U", 1), |
654 n, atmp_data, n, | 654 n, atmp_data, n, |
655 btmp_data, n, | 655 btmp_data, n, |
656 pwr, pwork, lwork, info | 656 pwr, pwork, lwork, info |
657 F77_CHAR_ARG_LEN (1) | 657 F77_CHAR_ARG_LEN (1) |
658 F77_CHAR_ARG_LEN (1))); | 658 F77_CHAR_ARG_LEN (1))); |
659 | 659 |
660 if (info < 0) | 660 if (info < 0) |
707 | 707 |
708 ComplexMatrix tmp = b; | 708 ComplexMatrix tmp = b; |
709 Complex*tmp_data = tmp.fortran_vec (); | 709 Complex*tmp_data = tmp.fortran_vec (); |
710 | 710 |
711 F77_XFCN (zpotrf, ZPOTRF, (F77_CONST_CHAR_ARG2 ("L", 1), | 711 F77_XFCN (zpotrf, ZPOTRF, (F77_CONST_CHAR_ARG2 ("L", 1), |
712 n, tmp_data, n, | 712 n, tmp_data, n, |
713 info | 713 info |
714 F77_CHAR_ARG_LEN (1) | 714 F77_CHAR_ARG_LEN (1) |
715 F77_CHAR_ARG_LEN (1))); | 715 F77_CHAR_ARG_LEN (1))); |
716 | 716 |
717 if (a.is_hermitian () && b.is_hermitian () && info == 0) | 717 if (a.is_hermitian () && b.is_hermitian () && info == 0) |
743 Complex *dummy = 0; | 743 Complex *dummy = 0; |
744 octave_idx_type idummy = 1; | 744 octave_idx_type idummy = 1; |
745 | 745 |
746 F77_XFCN (zggev, ZGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), | 746 F77_XFCN (zggev, ZGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), |
747 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 747 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
748 n, atmp_data, n, btmp_data, n, | 748 n, atmp_data, n, btmp_data, n, |
749 palpha, pbeta, dummy, idummy, | 749 palpha, pbeta, dummy, idummy, |
750 pv, n, &dummy_work, lwork, prwork, info | 750 pv, n, &dummy_work, lwork, prwork, info |
751 F77_CHAR_ARG_LEN (1) | 751 F77_CHAR_ARG_LEN (1) |
752 F77_CHAR_ARG_LEN (1))); | 752 F77_CHAR_ARG_LEN (1))); |
753 | 753 |
757 Array<Complex> work (dim_vector (lwork, 1)); | 757 Array<Complex> work (dim_vector (lwork, 1)); |
758 Complex *pwork = work.fortran_vec (); | 758 Complex *pwork = work.fortran_vec (); |
759 | 759 |
760 F77_XFCN (zggev, ZGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), | 760 F77_XFCN (zggev, ZGGEV, (F77_CONST_CHAR_ARG2 ("N", 1), |
761 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 761 F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
762 n, atmp_data, n, btmp_data, n, | 762 n, atmp_data, n, btmp_data, n, |
763 palpha, pbeta, dummy, idummy, | 763 palpha, pbeta, dummy, idummy, |
764 pv, n, pwork, lwork, prwork, info | 764 pv, n, pwork, lwork, prwork, info |
765 F77_CHAR_ARG_LEN (1) | 765 F77_CHAR_ARG_LEN (1) |
766 F77_CHAR_ARG_LEN (1))); | 766 F77_CHAR_ARG_LEN (1))); |
767 | 767 |
768 if (info < 0) | 768 if (info < 0) |
769 { | 769 { |
770 (*current_liboctave_error_handler) ("unrecoverable error in zggev"); | 770 (*current_liboctave_error_handler) ("unrecoverable error in zggev"); |
771 return info; | 771 return info; |
772 } | 772 } |
826 Array<double> rwork (dim_vector (lrwork, 1)); | 826 Array<double> rwork (dim_vector (lrwork, 1)); |
827 double *prwork = rwork.fortran_vec (); | 827 double *prwork = rwork.fortran_vec (); |
828 | 828 |
829 F77_XFCN (zhegv, ZHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 829 F77_XFCN (zhegv, ZHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
830 F77_CONST_CHAR_ARG2 ("U", 1), | 830 F77_CONST_CHAR_ARG2 ("U", 1), |
831 n, atmp_data, n, | 831 n, atmp_data, n, |
832 btmp_data, n, | 832 btmp_data, n, |
833 pwr, &dummy_work, lwork, | 833 pwr, &dummy_work, lwork, |
834 prwork, info | 834 prwork, info |
835 F77_CHAR_ARG_LEN (1) | 835 F77_CHAR_ARG_LEN (1) |
836 F77_CHAR_ARG_LEN (1))); | 836 F77_CHAR_ARG_LEN (1))); |
841 Array<Complex> work (dim_vector (lwork, 1)); | 841 Array<Complex> work (dim_vector (lwork, 1)); |
842 Complex *pwork = work.fortran_vec (); | 842 Complex *pwork = work.fortran_vec (); |
843 | 843 |
844 F77_XFCN (zhegv, ZHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), | 844 F77_XFCN (zhegv, ZHEGV, (1, F77_CONST_CHAR_ARG2 (calc_ev ? "V" : "N", 1), |
845 F77_CONST_CHAR_ARG2 ("U", 1), | 845 F77_CONST_CHAR_ARG2 ("U", 1), |
846 n, atmp_data, n, | 846 n, atmp_data, n, |
847 btmp_data, n, | 847 btmp_data, n, |
848 pwr, pwork, lwork, prwork, info | 848 pwr, pwork, lwork, prwork, info |
849 F77_CHAR_ARG_LEN (1) | 849 F77_CHAR_ARG_LEN (1) |
850 F77_CHAR_ARG_LEN (1))); | 850 F77_CHAR_ARG_LEN (1))); |
851 | 851 |
852 if (info < 0) | 852 if (info < 0) |