comparison libinterp/corefcn/qz.cc @ 29961:7d6709900da7

eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more Files affected: __betainc__.cc, __contourc__.cc, __eigs__.cc, __expint__.cc, __ftp__.cc, __gammainc__.cc, __ichol__.cc, __ilu__.cc, __magick_read__.cc, __pchip_deriv__.cc, __qp__.cc, amd.cc, balance.cc, besselj.cc, bsxfun.cc, call-stack.cc, ccolamd.cc, cellfun.cc, chol.cc, colamd.cc, colloc.cc, conv2.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, defaults.cc, dirfns.cc, display.cc, dlmread.cc, dmperm.cc, dot.cc, eig.cc, ellipj.cc, environment.cc, error.cc, event-manager.cc, fft.cc, fft2.cc, fftn.cc, file-io.cc, find.cc, gcd.cc, getgrent.cc, getpwent.cc, getrusage.cc, gsvd.cc, hash.cc, help.cc, hess.cc, hex2num.cc, input.cc, inv.cc, jsondecode.cc, jsonencode.cc, load-path.cc, load-save.cc, lookup.cc, lsode.cc, lu.cc, max.cc, mgorth.cc, oct-hist.cc, ordqz.cc, ordschur.cc, pager.cc, pr-output.cc, psi.cc, qr.cc, quad.cc, quadcc.cc, qz.cc, rand.cc, regexp.cc, schur.cc, settings.cc, sighandlers.cc, sparse.cc, spparms.cc, sqrtm.cc, stream-euler.cc, strfind.cc, strfns.cc, sub2ind.cc, svd.cc, symbfact.cc, symtab.cc, syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, typecast.cc, urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc, __fltk_uigetfile__.cc, __glpk__.cc, __init_gnuplot__.cc, __ode15__.cc, __voronoi__.cc, audiodevinfo.cc, audioread.cc, convhulln.cc, fftw.cc, gzip.cc, ov-cell.cc, ov-class.cc, ov-classdef.cc, ov-fcn-handle.cc, ov-struct.cc, ov-typeinfo.cc, ov-usr-fcn.cc, octave.cc, lex.ll, oct-parse.yy, profiler.cc, andpt-eval.cc.
author John W. Eaton <jwe@octave.org>
date Sat, 14 Aug 2021 22:48:52 -0400
parents 32c3a5805893
children a61e1a0f6024
comparison
equal deleted inserted replaced
29960:939bef0b66e0 29961:7d6709900da7
241 #if defined (DEBUG) 241 #if defined (DEBUG)
242 octave_stdout << "qz: check matrix A" << std::endl; 242 octave_stdout << "qz: check matrix A" << std::endl;
243 #endif 243 #endif
244 244
245 // Matrix A: check dimensions. 245 // Matrix A: check dimensions.
246 F77_INT nn = octave::to_f77_int (args(0).rows ()); 246 F77_INT nn = to_f77_int (args(0).rows ());
247 F77_INT nc = octave::to_f77_int (args(0).columns ()); 247 F77_INT nc = to_f77_int (args(0).columns ());
248 248
249 #if defined (DEBUG) 249 #if defined (DEBUG)
250 octave_stdout << "Matrix A dimensions: (" << nn << ',' << nc << ')' 250 octave_stdout << "Matrix A dimensions: (" << nn << ',' << nc << ')'
251 << std::endl; 251 << std::endl;
252 #endif 252 #endif
271 #if defined (DEBUG) 271 #if defined (DEBUG)
272 octave_stdout << "qz: check matrix B" << std::endl; 272 octave_stdout << "qz: check matrix B" << std::endl;
273 #endif 273 #endif
274 274
275 // Extract argument 2 (bb, or cbb if complex). 275 // Extract argument 2 (bb, or cbb if complex).
276 F77_INT b_nr = octave::to_f77_int (args(1).rows ()); 276 F77_INT b_nr = to_f77_int (args(1).rows ());
277 F77_INT b_nc = octave::to_f77_int (args(1).columns ()); 277 F77_INT b_nc = to_f77_int (args(1).columns ());
278 278
279 if (nn != b_nc || nn != b_nr) 279 if (nn != b_nc || nn != b_nr)
280 ::err_nonconformant (); 280 ::err_nonconformant ();
281 281
282 Matrix bb; 282 Matrix bb;
409 if (complex_case) 409 if (complex_case)
410 { 410 {
411 // Complex case. 411 // Complex case.
412 412
413 // The QR decomposition of cbb. 413 // The QR decomposition of cbb.
414 octave::math::qr<ComplexMatrix> cbqr (cbb); 414 math::qr<ComplexMatrix> cbqr (cbb);
415 // The R matrix of QR decomposition for cbb. 415 // The R matrix of QR decomposition for cbb.
416 cbb = cbqr.R (); 416 cbb = cbqr.R ();
417 // (Q*)caa for following work. 417 // (Q*)caa for following work.
418 caa = (cbqr.Q ().hermitian ()) * caa; 418 caa = (cbqr.Q ().hermitian ()) * caa;
419 CQ = CQ * cbqr.Q (); 419 CQ = CQ * cbqr.Q ();
477 #if defined (DEBUG) 477 #if defined (DEBUG)
478 octave_stdout << "qz: performing qr decomposition of bb" << std::endl; 478 octave_stdout << "qz: performing qr decomposition of bb" << std::endl;
479 #endif 479 #endif
480 480
481 // Compute the QR factorization of bb. 481 // Compute the QR factorization of bb.
482 octave::math::qr<Matrix> bqr (bb); 482 math::qr<Matrix> bqr (bb);
483 483
484 #if defined (DEBUG) 484 #if defined (DEBUG)
485 octave_stdout << "qz: qr (bb) done; now performing qz decomposition" 485 octave_stdout << "qz: qr (bb) done; now performing qz decomposition"
486 << std::endl; 486 << std::endl;
487 #endif 487 #endif
687 for (F77_INT i = 0; i < nn; i++) 687 for (F77_INT i = 0; i < nn; i++)
688 { 688 {
689 if (betar(i) != 0) 689 if (betar(i) != 0)
690 tmp(i) = Complex (alphar(i), alphai(i)) / betar(i); 690 tmp(i) = Complex (alphar(i), alphai(i)) / betar(i);
691 else 691 else
692 tmp(i) = octave::numeric_limits<double>::Inf (); 692 tmp(i) = numeric_limits<double>::Inf ();
693 } 693 }
694 694
695 gev = tmp; 695 gev = tmp;
696 } 696 }
697 } 697 }