add prototype bidiagonalization function