function [b1, b2, U, V] = piro_band(A, sym, blks) % % piro_band reduces a band matrix (full/sparse) to an upper bidiagonal matrix % using blocked and interleaved Givens rotations. % % Usage : % [b1, b2, U, V] = piro_band(A) % [b1, b2, U] = piro_band(A) % [b1, b2] = piro_band(A) % % or % [b1, b2, U, V] = piro_band(A, sym, blksize) % [b1, b2, U] = piro_band(A, sym, blksize) % [b1, b2] = piro_band(A, sym, blksize) % % sym and blocksize are optional input argument. sym=1 for symmetric matrices, % blksize is an array of 4 for the upper and lower block sizes respectively. A % block size that is equivalent to a householder will be [ub-1 1 lb 1] where ub % and lb are the upper and lower bandwidths. A can be real/complex. % % Copyright 2009, Sivasankaran Rajamanickam, Timothy A. Davis % http://www.cise.ufl.edu/research/sparse error ('piro_band is missing \n')