# NAG Library Chapter Contents

## F06 (blas)Linear Algebra Support Routines

F06 (blas) Chapter Introduction – a description of the Chapter and an overview of the algorithms available

 RoutineName Mark ofIntroduction Purpose f06aaf (drotg) 12 DROTG nagf_blas_drotg Generate real plane rotation f06baf 12 nagf_blas_drotgc Generate real plane rotation, storing tangent f06bcf 12 nagf_blas_dcsg Recover cosine and sine from given real tangent f06bef 12 nagf_blas_drotj Generate real Jacobi plane rotation f06bhf 12 nagf_blas_drot2 Apply real similarity rotation to 2 by 2 symmetric matrix f06blf 12 nagf_blas_ddiv Compute quotient of two real scalars, with overflow flag f06bmf 12 nagf_blas_dnorm Compute Euclidean norm from scaled form f06bnf 12 nagf_blas_dpyth Compute square root of $\left({a}^{2}+{b}^{2}\right)$, real $a$ and $b$ f06bpf 12 nagf_blas_deig2 Compute eigenvalue of 2 by 2 real symmetric matrix f06caf 12 nagf_blas_zrotgc Generate complex plane rotation, storing tangent, real cosine f06cbf 12 nagf_blas_zrotgs Generate complex plane rotation, storing tangent, real sine f06ccf 12 nagf_blas_zcsg Recover cosine and sine from given complex tangent, real cosine f06cdf 12 nagf_blas_zcsgs Recover cosine and sine from given complex tangent, real sine f06chf 12 nagf_blas_zrot2 Apply complex similarity rotation to 2 by 2 Hermitian matrix f06clf 12 nagf_blas_zdiv Compute quotient of two complex scalars, with overflow flag f06dbf 12 nagf_blas_iload Broadcast scalar into integer vector f06dff 12 nagf_blas_icopy Copy integer vector f06eaf (ddot) 12 DDOT nagf_blas_ddot Dot product of two real vectors f06ecf (daxpy) 12 DAXPY nagf_blas_daxpy Add scalar times real vector to real vector f06edf (dscal) 12 DSCAL nagf_blas_dscal Multiply real vector by scalar f06eff (dcopy) 12 DCOPY nagf_blas_dcopy Copy real vector f06egf (dswap) 12 DSWAP nagf_blas_dswap Swap two real vectors f06ejf (dnrm2) 12 DNRM2 nagf_blas_dnrm2 Compute Euclidean norm of real vector f06ekf (dasum) 12 DASUM nagf_blas_dasum Sum absolute values of real vector elements f06epf (drot) 12 DROT nagf_blas_drot Apply real plane rotation f06erf (ddoti) 14 DDOTI nagf_blas_ddoti Dot product of a real sparse and a full vector f06etf (daxpyi) 14 DAXPYI nagf_blas_daxpyi Add scalar times real sparse vector to a full vector f06euf (dgthr) 14 DGTHR nagf_blas_dgthr Gather real sparse vector f06evf (dgthrz) 14 DGTHRZ nagf_blas_dgthrz Gather and set to zero real sparse vector f06ewf (dsctr) 14 DSCTR nagf_blas_dsctr Scatter real sparse vector f06exf (droti) 14 DROTI nagf_blas_droti Apply plane rotation to a real sparse and a full vector f06faf 12 nagf_blas_dvcos Compute cosine of angle between two real vectors f06fbf 12 nagf_blas_dload Broadcast scalar into real vector f06fcf 12 nagf_blas_ddscl Multiply real vector by diagonal matrix f06fdf 12 nagf_blas_axpzy Multiply real vector by scalar, preserving input vector f06fef 21 nagf_blas_drscl Multiply real vector by reciprocal of scalar f06fgf 12 nagf_blas_dnegv Negate real vector f06fjf 12 nagf_blas_dssq Update Euclidean norm of real vector in scaled form f06fkf 12 nagf_blas_dnrm2w Compute weighted Euclidean norm of real vector f06flf 12 nagf_blas_darang Elements of real vector with largest and smallest absolute value f06fpf 12 nagf_blas_drots Apply real symmetric plane rotation to two vectors f06fqf 12 nagf_blas_dsrotg Generate sequence of real plane rotations f06frf 12 nagf_blas_dnhousg Generate real elementary reflection, NAG style f06fsf 12 nagf_blas_dlhousg Generate real elementary reflection, LINPACK style f06ftf 12 nagf_blas_dnhous Apply real elementary reflection, NAG style f06fuf 12 nagf_blas_dlhous Apply real elementary reflection, LINPACK style f06gaf (zdotu) 12 ZDOTU nagf_blas_zdotu Dot product of two complex vectors, unconjugated f06gbf (zdotc) 12 ZDOTC nagf_blas_zdotc Dot product of two complex vectors, conjugated f06gcf (zaxpy) 12 ZAXPY nagf_blas_zaxpy Add scalar times complex vector to complex vector f06gdf (zscal) 12 ZSCAL nagf_blas_zscal Multiply complex vector by complex scalar f06gff (zcopy) 12 ZCOPY nagf_blas_zcopy Copy complex vector f06ggf (zswap) 12 ZSWAP nagf_blas_zswap Swap two complex vectors f06grf (zdotui) 14 ZDOTUI nagf_blas_zdotui Dot product of a complex sparse and a full vector, unconjugated f06gsf (zdotci) 14 ZDOTCI nagf_blas_zdotci Dot product of a complex sparse and a full vector, conjugated f06gtf (zaxpyi) 14 ZAXPYI nagf_blas_zaxpyi Add scalar times complex sparse vector to a full vector f06guf (zgthr) 14 ZGTHR nagf_blas_zgthr Gather complex sparse vector f06gvf (zgthrz) 14 ZGTHRZ nagf_blas_zgthrz Gather and set to zero complex sparse vector f06gwf (zsctr) 14 ZSCTR nagf_blas_zsctr Scatter complex sparse vector f06hbf 12 nagf_blas_zload Broadcast scalar into complex vector f06hcf 12 nagf_blas_zdscl Multiply complex vector by complex diagonal matrix f06hdf 12 nagf_blas_zaxpzy Multiply complex vector by complex scalar, preserving input vector f06hgf 12 nagf_blas_znegv Negate complex vector f06hmf (zrot) 21 ZROT nagf_blas_zrot Apply plane rotation with real cosine and complex sine f06hpf 12 nagf_blas_zcrot Apply complex plane rotation f06hqf 12 nagf_blas_zsrotg Generate sequence of complex plane rotations f06hrf 12 nagf_blas_zhousg Generate complex elementary reflection f06htf 12 nagf_blas_zhous Apply complex elementary reflection f06jdf (zdscal) 12 ZDSCAL nagf_blas_zdscal Multiply complex vector by real scalar f06jjf (dznrm2) 12 DZNRM2 nagf_blas_dznrm2 Compute Euclidean norm of complex vector f06jkf (dzasum) 12 DZASUM nagf_blas_dzasum Sum absolute values of complex vector elements f06jlf (idamax) 12 IDAMAX nagf_blas_idamax Index, real vector element with largest absolute value f06jmf (izamax) 12 IZAMAX nagf_blas_izamax Index, complex vector element with largest absolute value f06kcf 12 nagf_blas_zddscl Multiply complex vector by real diagonal matrix f06kdf 12 nagf_blas_zdaxpzy Multiply complex vector by real scalar, preserving input vector f06kef 21 nagf_blas_zdrscl Multiply complex vector by reciprocal of real scalar f06kff 12 nagf_blas_zdcopy Copy real vector to complex vector f06kjf 12 nagf_blas_dzssq Update Euclidean norm of complex vector in scaled form f06klf 12 nagf_blas_idrank Last non-negligible element of real vector f06kpf (zdrot) 12 ZDROT nagf_blas_zdrot Apply real plane rotation to two complex vectors f06paf (dgemv) 12 DGEMV nagf_blas_dgemv Matrix-vector product, real rectangular matrix f06pbf (dgbmv) 12 DGBMV nagf_blas_dgbmv Matrix-vector product, real rectangular band matrix f06pcf (dsymv) 12 DSYMV nagf_blas_dsymv Matrix-vector product, real symmetric matrix f06pdf (dsbmv) 12 DSBMV nagf_blas_dsbmv Matrix-vector product, real symmetric band matrix f06pef (dspmv) 12 DSPMV nagf_blas_dspmv Matrix-vector product, real symmetric packed matrix f06pff (dtrmv) 12 DTRMV nagf_blas_dtrmv Matrix-vector product, real triangular matrix f06pgf (dtbmv) 12 DTBMV nagf_blas_dtbmv Matrix-vector product, real triangular band matrix f06phf (dtpmv) 12 DTPMV nagf_blas_dtpmv Matrix-vector product, real triangular packed matrix f06pjf (dtrsv) 12 DTRSV nagf_blas_dtrsv System of equations, real triangular matrix f06pkf (dtbsv) 12 DTBSV nagf_blas_dtbsv System of equations, real triangular band matrix f06plf (dtpsv) 12 DTPSV nagf_blas_dtpsv System of equations, real triangular packed matrix f06pmf (dger) 12 DGER nagf_blas_dger Rank-1 update, real rectangular matrix f06ppf (dsyr) 12 DSYR nagf_blas_dsyr Rank-1 update, real symmetric matrix f06pqf (dspr) 12 DSPR nagf_blas_dspr Rank-1 update, real symmetric packed matrix f06prf (dsyr2) 12 DSYR2 nagf_blas_dsyr2 Rank-2 update, real symmetric matrix f06psf (dspr2) 12 DSPR2 nagf_blas_dspr2 Rank-2 update, real symmetric packed matrix f06qff 13 nagf_blas_dmcopy Matrix copy, real rectangular or trapezoidal matrix f06qhf 13 nagf_blas_dmload Matrix initialization, real rectangular matrix f06qjf 13 nagf_blas_dgeap Permute rows or columns, real rectangular matrix, permutations represented by an integer array f06qkf 13 nagf_blas_dgeapr Permute rows or columns, real rectangular matrix, permutations represented by a real array f06qmf 13 nagf_blas_dsysrc Orthogonal similarity transformation of real symmetric matrix as a sequence of plane rotations f06qpf 13 nagf_blas_dutr1 $QR$ factorization by sequence of plane rotations, rank-1 update of real upper triangular matrix f06qqf 13 nagf_blas_dutupd $QR$ factorization by sequence of plane rotations, real upper triangular matrix augmented by a full row f06qrf 13 nagf_blas_duhqr $QR$ or $RQ$ factorization by sequence of plane rotations, real upper Hessenberg matrix f06qsf 13 nagf_blas_dusqr $QR$ or $RQ$ factorization by sequence of plane rotations, real upper spiked matrix f06qtf 13 nagf_blas_dutsqr $QR$ factorization of $UP$ or $RQ$ factorization of $PU$, $U$ real upper triangular, $P$ a sequence of plane rotations f06qvf 13 nagf_blas_dutsrh Compute upper Hessenberg matrix by sequence of plane rotations, real upper triangular matrix f06qwf 13 nagf_blas_dutsrs Compute upper spiked matrix by sequence of plane rotations, real upper triangular matrix f06qxf 13 nagf_blas_dgesrc Apply sequence of plane rotations, real rectangular matrix f06raf 15 nagf_blas_dlange $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real general matrix f06rbf 15 nagf_blas_dlangb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real band matrix f06rcf 15 nagf_blas_dlansy $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real symmetric matrix f06rdf 15 nagf_blas_dlansp $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real symmetric matrix, packed storage f06ref 15 nagf_blas_dlansb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real symmetric band matrix f06rjf 15 nagf_blas_dlantr $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real trapezoidal/triangular matrix f06rkf 15 nagf_blas_dlantp $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real triangular matrix, packed storage f06rlf 15 nagf_blas_dlantb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real triangular band matrix f06rmf 15 nagf_blas_dlanhs $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real upper Hessenberg matrix f06rnf 21 nagf_blas_dlangt $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real tridiagonal matrix f06rpf 21 nagf_blas_dlanst $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, real symmetric tridiagonal matrix f06saf (zgemv) 12 ZGEMV nagf_blas_zgemv Matrix-vector product, complex rectangular matrix f06sbf (zgbmv) 12 ZGBMV nagf_blas_zgbmv Matrix-vector product, complex rectangular band matrix f06scf (zhemv) 12 ZHEMV nagf_blas_zhemv Matrix-vector product, complex Hermitian matrix f06sdf (zhbmv) 12 ZHBMV nagf_blas_zhbmv Matrix-vector product, complex Hermitian band matrix f06sef (zhpmv) 12 ZHPMV nagf_blas_zhpmv Matrix-vector product, complex Hermitian packed matrix f06sff (ztrmv) 12 ZTRMV nagf_blas_ztrmv Matrix-vector product, complex triangular matrix f06sgf (ztbmv) 12 ZTBMV nagf_blas_ztbmv Matrix-vector product, complex triangular band matrix f06shf (ztpmv) 12 ZTPMV nagf_blas_ztpmv Matrix-vector product, complex triangular packed matrix f06sjf (ztrsv) 12 ZTRSV nagf_blas_ztrsv System of equations, complex triangular matrix f06skf (ztbsv) 12 ZTBSV nagf_blas_ztbsv System of equations, complex triangular band matrix f06slf (ztpsv) 12 ZTPSV nagf_blas_ztpsv System of equations, complex triangular packed matrix f06smf (zgeru) 12 ZGERU nagf_blas_zgeru Rank-1 update, complex rectangular matrix, unconjugated vector f06snf (zgerc) 12 ZGERC nagf_blas_zgerc Rank-1 update, complex rectangular matrix, conjugated vector f06spf (zher) 12 ZHER nagf_blas_zher Rank-1 update, complex Hermitian matrix f06sqf (zhpr) 12 ZHPR nagf_blas_zhpr Rank-1 update, complex Hermitian packed matrix f06srf (zher2) 12 ZHER2 nagf_blas_zher2 Rank-2 update, complex Hermitian matrix f06ssf (zhpr2) 12 ZHPR2 nagf_blas_zhpr2 Rank-2 update, complex Hermitian packed matrix f06taf 21 nagf_blas_zsymv Matrix-vector product, complex symmetric matrix f06tbf 21 nagf_blas_zsyr Rank-1 update, complex symmetric matrix f06tcf 21 nagf_blas_zspmv Matrix-vector product, complex symmetric packed matrix f06tdf 21 nagf_blas_zspr Rank-1 update, complex symmetric packed matrix f06tff 13 nagf_blas_zmcopy Matrix copy, complex rectangular or trapezoidal matrix f06thf 13 nagf_blas_zmload Matrix initialization, complex rectangular matrix f06tmf 13 nagf_blas_zhesrc Unitary similarity transformation of Hermitian matrix as a sequence of plane rotations f06tpf 13 nagf_blas_zutr1 $QR$ factorization by sequence of plane rotations, rank-1 update of complex upper triangular matrix f06tqf 13 nagf_blas_zutupd $QR$ factorization by sequence of plane rotations, complex upper triangular matrix augmented by a full row f06trf 13 nagf_blas_zuhqr $QR$ or $RQ$ factorization by sequence of plane rotations, complex upper Hessenberg matrix f06tsf 13 nagf_blas_zusqr $QR$ or $RQ$ factorization by sequence of plane rotations, complex upper spiked matrix f06ttf 13 nagf_blas_zutsqr $QR$ factorization of $UP$ or $RQ$ factorization of $PU$, $U$ complex upper triangular, $P$ a sequence of plane rotations f06tvf 13 nagf_blas_zutsrh Compute upper Hessenberg matrix by sequence of plane rotations, complex upper triangular matrix f06twf 13 nagf_blas_zutsrs Compute upper spiked matrix by sequence of plane rotations, complex upper triangular matrix f06txf 13 nagf_blas_zgesrc Apply sequence of plane rotations, complex rectangular matrix, real cosine and complex sine f06tyf 13 nagf_blas_zgesrs Apply sequence of plane rotations, complex rectangular matrix, complex cosine and real sine f06uaf 15 nagf_blas_zlange $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex general matrix f06ubf 15 nagf_blas_zlangb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex band matrix f06ucf 15 nagf_blas_zlanhe $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hermitian matrix f06udf 15 nagf_blas_zlanhp $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hermitian matrix, packed storage f06uef 15 nagf_blas_zlanhb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hermitian band matrix f06uff 15 nagf_blas_zlansy $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex symmetric matrix f06ugf 15 nagf_blas_zlansp $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex symmetric matrix, packed storage f06uhf 15 nagf_blas_zlansb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex symmetric band matrix f06ujf 15 nagf_blas_zlantr $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex trapezoidal/triangular matrix f06ukf 15 nagf_blas_zlantp $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex triangular matrix, packed storage f06ulf 15 nagf_blas_zlantb $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex triangular band matrix f06umf 15 nagf_blas_zlanhs $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hessenberg matrix f06unf 21 nagf_blas_zlangt $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex tridiagonal matrix f06upf 21 nagf_blas_zlanht $1$-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hermitian tridiagonal matrix f06vjf 13 nagf_blas_zgeap Permute rows or columns, complex rectangular matrix, permutations represented by an integer array f06vkf 13 nagf_blas_zgeapr Permute rows or columns, complex rectangular matrix, permutations represented by a real array f06vxf 13 nagf_blas_zsgesr Apply sequence of plane rotations, complex rectangular matrix, real cosine and sine f06waf (dlansf) Example Text Example Data 23 DLANSF nagf_blas_dlansf 1-norm, $\infty$-norm, Frobenius norm, largest absolute element, real symmetric matrix, Rectangular Full Packed format f06wbf (dtfsm) Example Text Example Data 23 DTFSM nagf_blas_dtfsm Solves a system of equations with multiple right-hand sides, real triangular coefficient matrix, Rectangular Full Packed format f06wcf (dsfrk) Example Text Example Data 23 DSFRK nagf_blas_dsfrk Rank-$k$ update of a real symmetric matrix, Rectangular Full Packed format f06wnf (zlanhf) Example Text Example Data 23 ZLANHF nagf_blas_zlanhf 1-norm, $\infty$-norm, Frobenius norm, largest absolute element, complex Hermitian matrix, Rectangular Full Packed format f06wpf (ztfsm) Example Text Example Data 23 ZTFSM nagf_blas_ztfsm Solves system of equations with multiple right-hand sides, complex triangular coefficient matrix, Rectangular Full Packed format f06wqf (zhfrk) Example Text Example Data 23 ZHFRK nagf_blas_zhfrk Rank-$k$ update of a complex Hermitian matrix, Rectangular Full Packed format f06yaf (dgemm) 14 DGEMM nagf_blas_dgemm Matrix-matrix product, two real rectangular matrices f06ycf (dsymm) 14 DSYMM nagf_blas_dsymm Matrix-matrix product, one real symmetric matrix, one real rectangular matrix f06yff (dtrmm) 14 DTRMM nagf_blas_dtrmm Matrix-matrix product, one real triangular matrix, one real rectangular matrix f06yjf (dtrsm) 14 DTRSM nagf_blas_dtrsm Solves a system of equations with multiple right-hand sides, real triangular coefficient matrix f06ypf (dsyrk) 14 DSYRK nagf_blas_dsyrk Rank-$k$ update of a real symmetric matrix f06yrf (dsyr2k) 14 DSYR2K nagf_blas_dsyr2k Rank-$2k$ update of a real symmetric matrix f06zaf (zgemm) 14 ZGEMM nagf_blas_zgemm Matrix-matrix product, two complex rectangular matrices f06zcf (zhemm) 14 ZHEMM nagf_blas_zhemm Matrix-matrix product, one complex Hermitian matrix, one complex rectangular matrix f06zff (ztrmm) 14 ZTRMM nagf_blas_ztrmm Matrix-matrix product, one complex triangular matrix, one complex rectangular matrix f06zjf (ztrsm) 14 ZTRSM nagf_blas_ztrsm Solves system of equations with multiple right-hand sides, complex triangular coefficient matrix f06zpf (zherk) 14 ZHERK nagf_blas_zherk Rank-$k$ update of a complex Hermitian matrix f06zrf (zher2k) 14 ZHER2K nagf_blas_zher2k Rank-$2k$ update of a complex Hermitian matrix f06ztf (zsymm) 14 ZSYMM nagf_blas_zsymm Matrix-matrix product, one complex symmetric matrix, one complex rectangular matrix f06zuf (zsyrk) 14 ZSYRK nagf_blas_zsyrk Rank-$k$ update of a complex symmetric matrix f06zwf (zsyr2k) 14 ZSYR2K nagf_blas_zsyr2k Rank-$2k$ update of a complex symmetric matrix
© The Numerical Algorithms Group Ltd, Oxford, UK. 2017