You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

groups-usr.dox 54 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974
  1. /**
  2. @defgroup lapack_top LAPACK
  3. @{
  4. @defgroup solve_top Linear solve, AX = B
  5. @{
  6. @defgroup gesv_driver_grp LU: General matrix, driver
  7. @{
  8. @defgroup gesv_driver --- full ---
  9. @defgroup gesv gesv: factor and solve
  10. @defgroup gesvx gesvx: factor and solve, expert
  11. @defgroup gesvxx gesvxx: factor and solve, extra precise
  12. @defgroup gesv_mixed gesv: factor and solve, mixed precision
  13. @defgroup gbsv_driver --- banded ---
  14. @defgroup gbsv gbsv: factor and solve
  15. @defgroup gbsvx gbsvx: factor and solve, expert
  16. @defgroup gbsvxx gbsvxx: factor and solve, extra precise
  17. @defgroup gtsv_driver --- tridiagonal ---
  18. @defgroup gtsv gtsv: factor and solve
  19. @defgroup gtsvx gtsvx: factor and solve, expert
  20. @}
  21. @defgroup gesv_comp_grp LU: computational routines (factor, cond, etc.)
  22. @{
  23. @defgroup gesv_comp --- full ---
  24. @defgroup gecon gecon: condition number estimate
  25. @defgroup getrf getrf: triangular factor
  26. @defgroup getrf2 getrf2: triangular factor panel, recursive?
  27. @defgroup getf2 getf2: triangular factor panel, level 2
  28. @defgroup getrs getrs: triangular solve using factor
  29. @defgroup getri getri: triangular inverse
  30. @defgroup gerfs gerfs: iterative refinement
  31. @defgroup gerfsx gerfsx: iterative refinement, expert
  32. @defgroup geequ geequ: equilibration
  33. @defgroup geequb geequb: equilibration, power of 2
  34. @defgroup laqge laqge: row/col scale matrix
  35. @defgroup laswp laswp: swap permutation
  36. @defgroup getc2 getc2: triangular factor, with complete pivoting
  37. @defgroup gesc2 gesc2: triangular solve using factor, with complete pivoting
  38. @defgroup latdf latdf: Dif-estimate with complete pivoting LU, step in tgsen
  39. @defgroup la_gercond la_gercond: Skeel condition number estimate
  40. @defgroup la_gerpvgrw la_gerpvgrw: reciprocal pivot growth
  41. @defgroup la_gerfsx_extended la_gerfsx_extended: step in gerfsx
  42. @defgroup gbsv_comp --- banded ---
  43. @defgroup gbcon gbcon: condition number estimate
  44. @defgroup gbtrf gbtrf: triangular factor
  45. @defgroup gbtf2 gbtf2: triangular factor, level 2
  46. @defgroup gbtrs gbtrs: triangular solve using factor
  47. @defgroup gbrfs gbrfs: iterative refinement
  48. @defgroup gbrfsx gbrfsx: iterative refinement, expert
  49. @defgroup gbequ gbequ: equilibration
  50. @defgroup gbequb gbequb: equilibration, power of 2
  51. @defgroup laqgb laqgb: row/col scale matrix
  52. @defgroup la_gbrcond la_gbrcond: Skeel condition number estimate
  53. @defgroup la_gbrpvgrw la_gbrpvgrw: reciprocal pivot growth
  54. @defgroup la_gbrfsx_extended la_gbrfsx_extended: step in gbrfsx
  55. @defgroup gtsv_comp --- tridiagonal ---
  56. @defgroup gtcon gtcon: condition number estimate
  57. @defgroup gttrf gttrf: triangular factor
  58. @defgroup gttrs gttrs: triangular solve using factor
  59. @defgroup gtts2 gtts2: triangular solve using factor
  60. @defgroup gtrfs gtrfs: iterative refinement
  61. @}
  62. @defgroup posv_driver_grp Cholesky: Hermitian/symmetric positive definite matrix, driver
  63. @{
  64. @defgroup posv_driver --- full ---
  65. @defgroup posv posv: factor and solve
  66. @defgroup posvx posvx: factor and solve, expert
  67. @defgroup posvxx posvxx: factor and solve, extra precise
  68. @defgroup posv_mixed posv: factor and solve, mixed precision
  69. @defgroup ppsv_driver --- packed ---
  70. @defgroup ppsv ppsv: factor and solve
  71. @defgroup ppsvx ppsvx: factor and solve, expert
  72. @defgroup pfsv_driver --- rectangular full packed (RFP) ---
  73. @defgroup pfsv pfsv: factor and solve [not available]
  74. @defgroup pbsv_driver --- banded ---
  75. @defgroup pbsv pbsv: factor and solve
  76. @defgroup pbsvx pbsvx: factor and solve, expert
  77. @defgroup ptsv_driver --- tridiagonal ---
  78. @defgroup ptsv ptsv: factor and solve
  79. @defgroup ptsvx ptsvx: factor and solve, expert
  80. @}
  81. @defgroup posv_comp_grp Cholesky: computational routines (factor, cond, etc.)
  82. @{
  83. @defgroup posv_comp --- full ---
  84. @defgroup pocon pocon: condition number estimate
  85. @defgroup potrf potrf: triangular factor
  86. @defgroup potrf2 potrf2: triangular factor panel, recursive?
  87. @defgroup potf2 potf2: triangular factor panel, level 2
  88. @defgroup pstrf pstrf: triangular factor, with pivoting
  89. @defgroup pstf2 pstf2: triangular factor, with pivoting panel, level 2
  90. @defgroup potrs potrs: triangular solve using factor
  91. @defgroup potri potri: triangular inverse
  92. @defgroup porfs porfs: iterative refinement
  93. @defgroup porfsx porfsx: iterative refinement, expert
  94. @defgroup poequ poequ: equilibration
  95. @defgroup poequb poequb: equilibration, power of 2
  96. @defgroup laqhe laqhe: row/col scale matrix
  97. @defgroup la_porcond la_porcond: Skeel condition number estimate
  98. @defgroup la_porpvgrw la_porpvgrw: reciprocal pivot growth
  99. @defgroup la_porfsx_extended la_porfsx_extended: step in porfsx
  100. @defgroup ppsv_comp --- packed ---
  101. @defgroup ppcon ppcon: condition number estimate
  102. @defgroup pptrf pptrf: triangular factor
  103. @defgroup pptrs pptrs: triangular solve using factor
  104. @defgroup pptri pptri: triangular inverse
  105. @defgroup pprfs pprfs: iterative refinement
  106. @defgroup ppequ ppequ: equilibration
  107. @defgroup laqhp laqhp: row/col scale matrix
  108. @defgroup pfsv_comp --- rectangular full packed (RFP) ---
  109. @defgroup pftrf pftrf: triangular factor
  110. @defgroup pftrs pftrs: triangular solve using factor
  111. @defgroup pftri pftri: triangular inverse
  112. @defgroup pbsv_comp --- banded ---
  113. @defgroup pbcon pbcon: condition number estimate
  114. @defgroup pbtrf pbtrf: triangular factor
  115. @defgroup pbtf2 pbtf2: triangular factor panel, level 2
  116. @defgroup pbtrs pbtrs: triangular solve using factor
  117. @defgroup pbrfs pbrfs: iterative refinement
  118. @defgroup pbequ pbequ: equilibration
  119. @defgroup laqhb laqhb: row/col scale matrix
  120. @defgroup ptsv_comp --- tridiagonal ---
  121. @defgroup ptcon ptcon: condition number estimate
  122. @defgroup pttrf pttrf: triangular factor
  123. @defgroup pttrs pttrs: triangular solve using factor
  124. @defgroup ptts2 ptts2: triangular solve using factor, unblocked
  125. @defgroup ptrfs ptrfs: iterative refinement
  126. @}
  127. @defgroup hesv_driver_grp LDL: Hermitian/symmetric indefinite matrix, driver
  128. @{
  129. @defgroup hesv_driver --- full, rook pivoting ---
  130. @defgroup hesv {he,sy}sv: rook (v1)
  131. @defgroup hesv_rook {he,sy}sv_rook: rook (v2)
  132. @defgroup hesv_rk {he,sy}sv_rk: rook (v3)
  133. @defgroup hesvx {he,sy}svx: rook (v1, expert)
  134. @defgroup hesvxx {he,sy}svxx: rook (v1, expert)
  135. @defgroup hpsv_driver --- packed, rook pivoting ---
  136. @defgroup hpsv {hp,sp}sv: factor and solve
  137. @defgroup hpsvx {hp,sp}svx: factor and solve, expert
  138. @defgroup hesv_aa_driver --- full, Aasen ---
  139. @defgroup hesv_aa {he,sy}sv_aa: Aasen
  140. @defgroup hesv_aa_2stage {he,sy}sv_aa_2stage: Aasen, blocked 2-stage
  141. @}
  142. @defgroup hesv_comp_grp LDL: computational routines (factor, cond, etc.)
  143. @{
  144. @defgroup hesv_comp_v1 --- full, rook v1 ---
  145. @defgroup hecon {he,sy}con: condition number estimate
  146. @defgroup hetrf {he,sy}trf: triangular factor
  147. @defgroup lahef la{he,sy}f: step in hetrf
  148. @defgroup hetf2 {he,sy}tf2: triangular factor, level 2
  149. @defgroup hetrs {he,sy}trs: triangular solve using factor
  150. @defgroup hetri {he,sy}tri: triangular inverse
  151. @defgroup herfs {he,sy}rfs: iterative refinement
  152. @defgroup herfsx {he,sy}rfsx: iterative refinement, expert
  153. @defgroup heequb {he,sy}equb: equilibration, power of 2
  154. @defgroup syconv syconv: convert to/from L and D from hetrf
  155. @defgroup hecon_3 {he,sy}con_3: condition number estimate
  156. @defgroup hetri2 {he,sy}tri2: inverse
  157. @defgroup hetri2x {he,sy}tri2x: inverse
  158. @defgroup hetri_3 {he,sy}tri_3: inverse
  159. @defgroup hetri_3x {he,sy}tri_3x: inverse
  160. @defgroup hetrs2 {he,sy}trs2: solve using factor
  161. @defgroup hetrs_3 {he,sy}trs_3: solve using factor
  162. @defgroup heswapr {he,sy}swapr: apply 2-sided permutation
  163. @defgroup la_hercond la_hercond: Skeel condition number estimate
  164. @defgroup la_herfsx_extended la_herfsx_extended: step in herfsx
  165. @defgroup la_herpvgrw la_herpvgrw: reciprocal pivot growth
  166. @defgroup hpsv_comp --- packed, rook v1 ---
  167. @defgroup hpcon {hp,sp}con: condition number estimate
  168. @defgroup hptrf {hp,sp}trf: triangular factor
  169. @defgroup hptrs {hp,sp}trs: triangular solve using factor
  170. @defgroup hptri {hp,sp}tri: triangular inverse
  171. @defgroup hprfs {hp,sp}rfs: iterative refinement
  172. @defgroup hesv_comp_v2 --- full, rook v2 ---
  173. @defgroup hecon_rook {he,sy}con_rook: condition number estimate
  174. @defgroup hetrf_rook {he,sy}trf_rook: triangular factor
  175. @defgroup lahef_rook la{he,sy}f_rook: triangular factor step
  176. @defgroup hetf2_rook {he,sy}tf2_rook: triangular factor, level 2
  177. @defgroup hetrs_rook {he,sy}trs_rook: triangular solve using factor
  178. @defgroup hetri_rook {he,sy}tri_rook: triangular inverse
  179. @defgroup hesv_comp_v3 --- full, rook v3 ---
  180. @defgroup hetrf_rk {he,sy}trf_rk: triangular factor
  181. @defgroup lahef_rk la{he,sy}f_rk: triangular factor step
  182. @defgroup hetf2_rk {he,sy}tf2_rk: triangular factor, level 2
  183. @defgroup syconvf syconvf: convert to/from hetrf to hetrf_rk format
  184. @defgroup syconvf_rook syconvf_rook: convert to/from hetrf_rook to hetrf_rk format
  185. @defgroup hesv_comp_aasen --- full, Aasen ---
  186. @defgroup hetrf_aa {he,sy}trf_aa: triangular factor
  187. @defgroup lahef_aa la{he,sy}f_aa: triangular factor partial factor
  188. @defgroup hetrs_aa {he,sy}trs_aa: triangular solve using factor
  189. @defgroup hesv_comp_aasen2 --- full, Aasen, blocked 2-stage ---
  190. @defgroup hetrf_aa_2stage {he,sy}trf_aa_2stage: triangular factor
  191. @defgroup hetrs_aa_2stage {he,sy}trs_aa_2stage: triangular solve using factor
  192. @}
  193. @defgroup trsv_comp_grp Triangular computational routines (solve, cond, etc.)
  194. @{
  195. @defgroup trsv_comp --- full ---
  196. @defgroup trcon trcon: condition number estimate
  197. @defgroup trtrs trtrs: triangular solve
  198. @defgroup latrs latrs: triangular solve with robust scaling
  199. @defgroup latrs3 latrs3: triangular solve with robust scaling, level 3
  200. @defgroup trtri trtri: triangular inverse
  201. @defgroup trti2 trti2: triangular inverse, level 2
  202. @defgroup trrfs trrfs: triangular iterative refinement
  203. @defgroup lauum lauum: triangular multiply: U^H U
  204. @defgroup lauu2 lauu2: triangular multiply: U^H U, level 2
  205. @defgroup tpsv_comp --- packed ---
  206. @defgroup tpcon tpcon: condition number estimate
  207. @defgroup tptrs tptrs: triangular solve
  208. @defgroup latps latps: triangular solve with robust scaling
  209. @defgroup tptri tptri: triangular inverse
  210. @defgroup tprfs tprfs: triangular iterative refinement
  211. @defgroup tfsv_comp --- rectangular full packed (RFP) ---
  212. @defgroup tftri tftri: triangular inverse, RFP
  213. @defgroup tbsv_comp --- banded ---
  214. @defgroup tbcon tbcon: condition number estimate
  215. @defgroup tbtrs tbtrs: triangular solve
  216. @defgroup latbs latbs: triangular solve with scaling
  217. @defgroup tbrfs tbrfs: triangular iterative refinement
  218. @}
  219. @defgroup solve_aux_grp Auxiliary routines
  220. @{
  221. @defgroup lacn2 lacn2: 1-norm estimate, e.g., || A^{-1} ||_1 in gecon
  222. @defgroup lacon lacon: 1-norm estimate, e.g., || A^{-1} ||_1 in gecon, old
  223. @defgroup la_lin_berr la_lin_berr: backward error
  224. @}
  225. @}
  226. @defgroup gels_top Least squares
  227. @{
  228. @defgroup gels_driver_grp Standard least squares, min || Ax - b ||_2
  229. @{
  230. @defgroup gels gels: least squares using QR/LQ
  231. @defgroup gelst gelst: least squares using QR/LQ with T matrix
  232. @defgroup gelss gelss: least squares using SVD, QR iteration
  233. @defgroup gelsd gelsd: least squares using SVD, divide and conquer
  234. @defgroup gelsy gelsy: least squares using complete orthogonal factor
  235. @defgroup getsls getsls: least squares using tall-skinny QR/LQ
  236. @}
  237. @defgroup ggls_driver_grp Constrained least squares
  238. @{
  239. @defgroup gglse gglse: equality-constrained least squares
  240. @defgroup ggglm ggglm: Gauss-Markov linear model
  241. @}
  242. @defgroup gels_aux_grp Auxiliary routines
  243. @{
  244. @defgroup laic1 laic1: condition estimate, step in gelsy
  245. @defgroup lals0 lals0: back multiplying factors, step in gelsd
  246. @defgroup lalsa lalsa: SVD of coefficient matrix, step in gelsd
  247. @defgroup lalsd lalsd: uses SVD for least squares, step in gelsd
  248. @}
  249. @}
  250. @defgroup unitary_top Orthogonal/unitary factors (QR, CS, etc.)
  251. @{
  252. @defgroup geqr_comp_grp QR
  253. @{
  254. @defgroup geqr_comp1 --- flexible ---
  255. @defgroup geqr geqr: QR factor, flexible
  256. @defgroup gemqr gemqr: multiply by Q from geqr
  257. @defgroup geqr_comp2 --- classic ---
  258. @defgroup geqrf geqrf: QR factor
  259. @defgroup geqr2 geqr2: QR factor, level 2
  260. @defgroup ungqr {un,or}gqr: generate explicit Q from geqrf
  261. @defgroup ung2r {un,or}g2r: generate explicit Q from geqrf, level 2
  262. @defgroup unmqr {un,or}mqr: multiply by Q from geqrf
  263. @defgroup unm2r {un,or}m2r: multiply by Q from geqrf, level 2
  264. @defgroup geqr_comp3 --- with T ---
  265. @defgroup geqrt geqrt: QR factor, with T
  266. @defgroup geqrt2 geqrt2: QR factor, with T, level 2
  267. @defgroup geqrt3 geqrt3: QR factor, with T, recursive panel
  268. @defgroup gemqrt gemqrt: multiply by Q from geqrt
  269. @defgroup geqr_comp4 --- positive ---
  270. @defgroup geqrfp geqrfp: QR factor, diag( R ) ≥ 0
  271. @defgroup geqr2p geqr2p: QR factor, diag( R ) ≥ 0, level 2
  272. @}
  273. @defgroup geqpf_comp_grp QR with pivoting
  274. @{
  275. @defgroup geqp3 geqp3: QR factor with pivoting, level 3
  276. @defgroup laqp2 laqp2: step of geqp3
  277. @defgroup laqps laqps: step of geqp3
  278. @}
  279. @defgroup getsqr_comp_grp QR, tall-skinny
  280. @{
  281. @defgroup latsqr latsqr: tall-skinny QR factor
  282. @defgroup ungtsqr {un,or}gtsqr: generate Q from latsqr
  283. @defgroup ungtsqr_row {un,or}gtsqr_row: generate Q from latsqr
  284. @defgroup larfb_gett larfb_gett: step in ungtsqr_row
  285. @defgroup lamtsqr lamtsqr: multiply by Q from latsqr
  286. @defgroup getsqrhrt getsqrhrt: tall-skinny QR factor, with Householder reconstruction
  287. @defgroup unhr_col {un,or}hr_col: Householder reconstruction
  288. @defgroup launhr_col_getrfnp la{un,or}hr_col_getrfnp: LU factor without pivoting
  289. @defgroup launhr_col_getrfnp2 la{un,or}hr_col_getrfnp2: LU factor without pivoting, level 2
  290. @}
  291. @defgroup tpqr_comp_grp QR, triangular-pentagonal
  292. @{
  293. @defgroup tpqrt tpqrt: QR factor
  294. @defgroup tpqrt2 tpqrt2: QR factor, level 2
  295. @defgroup tpmqrt tpmqrt: applies Q
  296. @defgroup tprfb tprfb: applies Q (like larfb)
  297. @}
  298. @defgroup ggqr_comp_grp Generalized QR
  299. @{
  300. @defgroup ggqrf ggqrf: Generalized QR factor
  301. @}
  302. @defgroup gelq_comp_grp LQ
  303. @{
  304. @defgroup gelq_comp1 --- flexible ---
  305. @defgroup gelq gelq: LQ factor, flexible
  306. @defgroup gemlq gemlq: multiply by Q from gelq
  307. @defgroup gelq_comp2 --- classic ---
  308. @defgroup gelqf gelqf: LQ factor
  309. @defgroup gelq2 gelq2: LQ factor, level 2
  310. @defgroup unglq {un,or}glq: generate explicit Q from gelqf
  311. @defgroup ungl2 {un,or}gl2: generate explicit Q, level 2, step in unglq
  312. @defgroup unmlq {un,or}mlq: multiply by Q from gelqf
  313. @defgroup unml2 {un,or}ml2: multiply by Q, level 2, step in unmlq
  314. @defgroup gelq_comp3 --- with T ---
  315. @defgroup gelqt gelqt: LQ factor, with T
  316. @defgroup gelqt3 gelqt3: LQ factor, with T, recursive
  317. @defgroup gemlqt gemlqt: multiply by Q from gelqt
  318. @}
  319. @defgroup geswlq_comp_grp LQ, short-wide
  320. @{
  321. @defgroup laswlq laswlq: short-wide LQ factor
  322. @defgroup lamswlq lamswlq: multiply by Q from laswlq
  323. @}
  324. @defgroup tplq_comp_grp LQ, triangular-pentagonal
  325. @{
  326. @defgroup tplqt tplqt: QR factor
  327. @defgroup tplqt2 tplqt2: QR factor, level 2
  328. @defgroup tpmlqt tpmlqt: applies Q
  329. @}
  330. @defgroup geql_comp_grp QL
  331. @{
  332. @defgroup geqlf geqlf: QL factor
  333. @defgroup geql2 geql2: QL factor, level 2
  334. @defgroup ungql {un,or}gql: generate explicit Q from geqlf
  335. @defgroup unmql {un,or}mql: multiply by Q from geqlf
  336. @defgroup ung2l {un,or}g2l: step in ungql
  337. @defgroup unm2l {un,or}m2l: step in unmql
  338. @}
  339. @defgroup gerq_comp_grp RQ
  340. @{
  341. @defgroup gerqf gerqf: RQ factor
  342. @defgroup gerq2 gerq2: RQ factor, level 2
  343. @defgroup ungrq {un,or}grq: generate explicit Q from gerqf
  344. @defgroup unmrq {un,or}mrq: multiply by Q from gerqf
  345. @defgroup unmr2 {un,or}mr2: step in unmrq
  346. @defgroup ungr2 {un,or}gr2: step in ungrq
  347. @}
  348. @defgroup ggrq_comp_grp Generalized RQ
  349. @{
  350. @defgroup ggrqf ggrqf: Generalized RQ factor
  351. @}
  352. @defgroup gerz_comp_grp RZ
  353. @{
  354. @defgroup tzrzf tzrzf: RZ factor
  355. @defgroup latrz latrz: RZ factor step
  356. @defgroup unmrz {un,or}mrz: multiply by Z from tzrzf
  357. @defgroup unmr3 {un,or}mr3: step in unmrz
  358. @defgroup larz larz: apply reflector
  359. @defgroup larzb larzb: apply block reflector
  360. @defgroup larzt larzt: generate T matrix
  361. @}
  362. @defgroup gecs_comp_grp Cosine-Sine (CS) decomposition
  363. @{
  364. @defgroup bbcsd bbcsd: ??
  365. @defgroup uncsd {un,or}csd: ??
  366. @defgroup uncsd2by1 {un,or}csd2by1: ??
  367. @defgroup unbdb {un,or}bdb: bidiagonalize partitioned unitary matrix, step in uncsd
  368. @defgroup unbdb1 {un,or}bdb1: step in uncsd2by1
  369. @defgroup unbdb2 {un,or}bdb2: step in uncsd2by1
  370. @defgroup unbdb3 {un,or}bdb3: step in uncsd2by1
  371. @defgroup unbdb4 {un,or}bdb4: step in uncsd2by1
  372. @defgroup unbdb5 {un,or}bdb5: step in uncsd2by1
  373. @defgroup unbdb6 {un,or}bdb6: step in uncsd2by1
  374. @defgroup lapmr lapmr: permute rows
  375. @defgroup lapmt lapmt: permute cols
  376. @}
  377. @defgroup reflector_aux_grp Householder reflectors
  378. @{
  379. @defgroup larf larf: apply Householder reflector
  380. @defgroup larfx larfx: apply Householder reflector, unrolled
  381. @defgroup larfy larfy: apply Householder reflector symmetrically (2-sided)
  382. @defgroup larfb larfb: apply block Householder reflector
  383. @defgroup larfg larfg: generate Householder reflector
  384. @defgroup larfgp larfgp: generate Householder reflector, beta ≥ 0
  385. @defgroup larft larft: generate T matrix
  386. @}
  387. @defgroup rot_aux_grp Givens/Jacobi plane rotations
  388. @{
  389. @defgroup lartg lartg: generate plane rotation, more accurate than BLAS rot
  390. @defgroup lartgp lartgp: generate plane rotation, more accurate than BLAS rot
  391. @defgroup lasr lasr: apply series of plane rotations
  392. @defgroup largv largv: generate vector of plane rotations
  393. @defgroup lartv lartv: apply vector of plane rotations to vectors
  394. @defgroup lar2v lar2v: apply vector of plane rotations to 2x2 matrices
  395. @defgroup lacrt lacrt: apply plane rotation (unused?)
  396. @}
  397. @}
  398. @defgroup geev_top Non-symmetric eigenvalues
  399. @{
  400. @defgroup geev_driver_grp Standard eig driver, AV = VΛ
  401. @{
  402. @defgroup geev geev: eig
  403. @defgroup geevx geevx: eig, expert
  404. @defgroup gees gees: Schur form
  405. @defgroup geesx geesx: Schur form, expert
  406. @}
  407. @defgroup ggev_driver_grp Generalized eig driver
  408. @{
  409. @defgroup ggev3 ggev3: eig
  410. @defgroup ggev ggev: eig, unblocked
  411. @defgroup ggevx ggevx: eig, expert
  412. @defgroup gges3 gges3: Schur form
  413. @defgroup gges gges: Schur form, unblocked
  414. @defgroup ggesx ggesx: Schur form, expert
  415. @}
  416. @defgroup gedmd DMD driver, Dynamic Mode Decomposition
  417. @defgroup geev_comp_grp Eig computational routines
  418. @{
  419. @defgroup gebal gebal: balance matrix
  420. @defgroup gehrd gehrd: reduction to Hessenberg
  421. @defgroup gehd2 gehd2: reduction to Hessenberg, level 2
  422. @defgroup lahr2 lahr2: step in gehrd
  423. @defgroup unghr {un,or}ghr: generate Q from gehrd
  424. @defgroup unmhr {un,or}mhr: multiply by Q from gehrd
  425. @defgroup gebak gebak: back-transform eigvec
  426. @defgroup hseqr hseqr: Hessenberg eig, QR iteration
  427. @defgroup hsein hsein: Hessenberg inverse iteration for eigvec
  428. @defgroup trevc trevc: eigenvectors of triangular Schur form, old
  429. @defgroup trevc3 trevc3: eigenvectors of triangular Schur form, blocked
  430. @defgroup laln2 laln2: 1x1 or 2x2 solve, step in trevc
  431. @defgroup trsyl trsyl: Sylvester equation
  432. @defgroup trsyl3 trsyl3: Sylvester equation, level 3
  433. @defgroup lasy2 lasy2: Sylvester equation
  434. @defgroup trsna trsna: eig condition numbers
  435. @defgroup laqtr laqtr: quasi-triangular solve
  436. @defgroup trexc trexc: reorder Schur form
  437. @defgroup trsen trsen: reorder Schur form
  438. @defgroup laexc laexc: reorder Schur form
  439. @defgroup lanv2 lanv2: 2x2 Schur factor
  440. @defgroup laqr_group --- hseqr auxiliary ---
  441. @defgroup laein laein: eigvec by Hessenberg inverse iteration
  442. @defgroup lahqr lahqr: eig of Hessenberg, step in hseqr
  443. @defgroup laqr0 laqr0: eig of Hessenberg, step in hseqr
  444. @defgroup laqr1 laqr1: step in hseqr
  445. @defgroup laqr2 laqr2: step in hseqr
  446. @defgroup laqr3 laqr3: step in hseqr
  447. @defgroup laqr4 laqr4: eig of Hessenberg, step in hseqr
  448. @defgroup laqr5 laqr5: step in hseqr
  449. @defgroup iparmq iparmq: set parameters for hseqr
  450. @defgroup laqz_group --- ggev3, gges3 auxiliary ---
  451. @defgroup laqz0 laqz0: step in ggev3, gges3
  452. @defgroup laqz1 laqz1: step in ggev3, gges3
  453. @defgroup laqz2 laqz2: step in ggev3, gges3
  454. @defgroup laqz3 laqz3: step in ggev3, gges3
  455. @defgroup laqz4 laqz4: step in ggev3, gges3
  456. @}
  457. @defgroup ggev_comp_grp Generalized eig computational routines
  458. @{
  459. @defgroup ggbal ggbal: balance matrix
  460. @defgroup gghrd gghrd: reduction to Hessenberg
  461. @defgroup gghd3 gghd3: reduction to Hessenberg, level 3
  462. @defgroup hgeqz hgeqz: generalized Hessenberg eig
  463. @defgroup ggbak ggbak: back-transform eigvec
  464. @defgroup tgsen tgsen: reorder generalized Schur form
  465. @defgroup tgsna tgsna: reciprocal cond est
  466. @defgroup tgsyl tgsyl: Sylvester equation
  467. @defgroup tgsy2 tgsy2: Sylvester equation panel (?)
  468. @defgroup unm22 {un,or}m22: multiply by banded Q, step in gghd3
  469. @defgroup lagv2 lagv2: 2x2 generalized Schur factor
  470. @defgroup tgevc tgevc: eigvec of pair of matrices
  471. @defgroup tgexc tgexc: reorder generalized Schur form
  472. @defgroup tgex2 tgex2: reorder generalized Schur form
  473. @}
  474. @}
  475. @defgroup heev_top Hermitian/symmetric eigenvalues
  476. @{
  477. @defgroup heev_driver_grp Standard eig driver, AV = VΛ
  478. @{
  479. @defgroup heev_driver --- full ---
  480. @defgroup heev {he,sy}ev: eig, QR iteration
  481. @defgroup heevd {he,sy}evd: eig, divide and conquer
  482. @defgroup heevr {he,sy}evr: eig, MRRR
  483. @defgroup heevx {he,sy}evx: eig, bisection
  484. @defgroup heev_driver2 --- full, 2-stage ---
  485. @defgroup heev_2stage {he,sy}ev_2stage: eig, QR iteration
  486. @defgroup heevd_2stage {he,sy}evd_2stage: eig, divide and conquer
  487. @defgroup heevr_2stage {he,sy}evr_2stage: eig, MRRR
  488. @defgroup heevx_2stage {he,sy}evx_2stage: eig, bisection
  489. @defgroup hpev_driver --- packed ---
  490. @defgroup hpev {hp,sp}ev: eig, QR iteration
  491. @defgroup hpevd {hp,sp}evd: eig, divide and conquer
  492. @defgroup hpevx {hp,sp}evx: eig, bisection
  493. @defgroup hbev_driver --- banded ---
  494. @defgroup hbev {hb,sb}ev: eig, QR iteration
  495. @defgroup hbevd {hb,sb}evd: eig, divide and conquer
  496. @defgroup hbevx {hb,sb}evx: eig, bisection
  497. @defgroup hbev_driver2 --- banded, 2nd-stage ---
  498. @defgroup hbev_2stage {hb,sb}ev_2stage: eig, QR iteration
  499. @defgroup hbevd_2stage {hb,sb}evd_2stage: eig, divide and conquer
  500. @defgroup hbevx_2stage {hb,sb}evx_2stage: eig, bisection
  501. @defgroup stev_driver --- tridiagonal ---
  502. @defgroup stev stev: eig, QR iteration
  503. @defgroup stevd stevd: eig, divide and conquer
  504. @defgroup stevr stevr: eig, MRRR
  505. @defgroup stevx stevx: eig, bisection
  506. @defgroup pteqr pteqr: eig, positive definite tridiagonal
  507. @defgroup stebz stebz: eig, Kahan
  508. @defgroup sterf sterf: eig, QR iteration
  509. @defgroup stedc stedc: eig, divide and conquer
  510. @defgroup stegr stegr: eig, bisection, see stemr
  511. @defgroup stein stein: eig, inverse iteration
  512. @defgroup stemr stemr: eig, relatively robust representation (RRR)
  513. @defgroup steqr steqr: eig, QR iteration
  514. @}
  515. @defgroup hegv_driver_grp Generalized eig driver, AV = BVΛ, etc.
  516. @{
  517. @defgroup hegv_driver --- full ---
  518. @defgroup hegv {he,sy}gv: eig, QR iteration
  519. @defgroup hegv_2stage {he,sy}gv_2stage: eig, QR iteration, 2-stage
  520. @defgroup hegvd {he,sy}gvd: eig, divide and conquer
  521. @defgroup hegvx {he,sy}gvx: eig, bisection
  522. @defgroup hpgv_driver --- packed ---
  523. @defgroup hpgv {hp,sp}gv: eig, QR iteration
  524. @defgroup hpgvd {hp,sp}gvd: eig, divide and conquer
  525. @defgroup hpgvx {hp,sp}gvx: eig, bisection
  526. @defgroup hbgv_driver --- banded ---
  527. @defgroup hbgv {hb,sb}gv: eig, QR iteration
  528. @defgroup hbgvd {hb,sb}gvd: eig, divide and conquer
  529. @defgroup hbgvx {hb,sb}gvx: eig, bisection
  530. @}
  531. @defgroup heev_comp_grp Eig computational routines
  532. @{
  533. @defgroup heev_comp --- full ---
  534. @defgroup disna disna: eig condition numbers
  535. @defgroup hetrd {he,sy}trd: reduction to tridiagonal
  536. @defgroup hetd2 {he,sy}td2: reduction to tridiagonal, level 2
  537. @defgroup latrd latrd: step in hetrd
  538. @defgroup ungtr {un,or}gtr: generate Q from hetrd
  539. @defgroup unmtr {un,or}mtr: multiply by Q from hetrd
  540. @defgroup hetrd_2stage {he,sy}trd_2stage: reduction to tridiagonal, 2-stage
  541. @defgroup hetrd_he2hb {he,sy}trd_he2hb: full to band (1st stage)
  542. @defgroup hetrd_hb2st {he,sy}trd_hb2st: band to tridiagonal (2nd stage)
  543. @defgroup hb2st_kernels {hb,sb}2st_kernels: band to tridiagonal (2nd stage)
  544. @defgroup lae2 lae2: 2x2 eig, step in steqr, stemr
  545. @defgroup laesy laesy: 2x2 eig
  546. @defgroup laev2 laev2: 2x2 eig
  547. @defgroup lagtf lagtf: LU factor of (T - λI)
  548. @defgroup lagts lagts: LU solve of (T - λI) x = y
  549. @defgroup hpev_comp --- packed ---
  550. @defgroup hptrd {hp,sp}trd: reduction to tridiagonal
  551. @defgroup upgtr {up,op}gtr: generate Q from hetrd
  552. @defgroup upmtr {up,op}mtr: multiply by Q from hptrd
  553. @defgroup hbev_comp --- banded ---
  554. @defgroup hbtrd {hb,sb}trd: reduction to tridiagonal
  555. @}
  556. @defgroup hegv_comp_grp Generalized eig computational routines
  557. @{
  558. @defgroup hegst {he,sy}gst: reduction to standard form
  559. @defgroup hegs2 {he,sy}gs2: reduction to standard form, level 2
  560. @defgroup hpgst {hp,sp}gst: reduction to standard form, packed
  561. @defgroup hbgst {hb,sb}gst: reduction to standard form, banded
  562. @defgroup pbstf pbstf: split Cholesky factor, use with hbgst
  563. @defgroup lag2 lag2: 2x2 eig
  564. @}
  565. @defgroup stev_comp_grp tridiag bisection routines
  566. @{
  567. @defgroup laebz laebz: counts eigvals <= value
  568. @defgroup laneg laneg: Sturm count
  569. @}
  570. @defgroup laed_comp_grp tridiag divide and conquer (D&C) routines
  571. @{
  572. @defgroup laed0 laed0: D&C step: top level solver
  573. @defgroup laed1 laed1: D&C step: merge subproblems
  574. @defgroup laed2 laed2: D&C step: deflation
  575. @defgroup laed3 laed3: D&C step: secular equation
  576. @defgroup laed4 laed4: D&C step: secular equation nonlinear solver
  577. @defgroup laed5 laed5: D&C step: secular equation, 2x2
  578. @defgroup laed6 laed6: D&C step: secular equation Newton step
  579. @defgroup lamrg lamrg: permutation to merge 2 sorted lists
  580. @defgroup laed_comp2 --- eig value only or update Q ---
  581. @defgroup laed7 laed7: D&C step: merge subproblems
  582. @defgroup laed8 laed8: D&C step: deflation
  583. @defgroup laed9 laed9: D&C step: secular equation
  584. @defgroup laeda laeda: D&C step: z vector
  585. @}
  586. @defgroup larr_comp_grp tridiag RRR routines
  587. @{
  588. @defgroup larra larra: step in stemr
  589. @defgroup larrb larrb: step in stemr
  590. @defgroup larrc larrc: step in stemr
  591. @defgroup larrd larrd: step in stemr, tridiag eig
  592. @defgroup larre larre: step in stemr
  593. @defgroup larrf larrf: step in stemr, find relative robust representation (RRR)
  594. @defgroup larrj larrj: step in stemr, refine eigval estimates
  595. @defgroup larrk larrk: step in stemr, compute one eigval
  596. @defgroup larrr larrr: step in stemr, test to do expensive tridiag eig algorithm
  597. @defgroup larrv larrv: eig tridiagonal, step in stemr & stegr
  598. @defgroup lar1v lar1v: step in larrv, hence stemr & stegr
  599. @}
  600. @}
  601. @defgroup svd_top Singular Value Decomposition (SVD)
  602. @{
  603. @defgroup svd_driver_grp Standard SVD driver, A = UΣV^H
  604. @{
  605. @defgroup gesvd_driver --- full ---
  606. @defgroup gesvd gesvd: SVD, QR iteration
  607. @defgroup gesvdq gesvdq: SVD, QR with pivoting
  608. @defgroup gesdd gesdd: SVD, divide and conquer
  609. @defgroup gesvdx gesvdx: SVD, bisection
  610. @defgroup gejsv gejsv: SVD, Jacobi, high-level
  611. @defgroup gesvj gesvj: SVD, Jacobi, low-level
  612. @defgroup bdsvd_driver --- bidiagonal ---
  613. @defgroup bdsqr bdsqr: bidiagonal SVD, QR iteration (dqds)
  614. @defgroup bdsdc bdsdc: bidiagonal SVD, divide and conquer
  615. @defgroup bdsvdx bdsvdx: bidiagonal SVD, bisection
  616. @}
  617. @defgroup ggsvd_driver_grp Generalized SVD driver
  618. @{
  619. @defgroup ggsvd3 ggsvd3: SVD, QR iteration
  620. @}
  621. @defgroup gesvd_comp_grp SVD computational routines
  622. @{
  623. @defgroup gebrd gebrd: reduction to bidiagonal
  624. @defgroup gebd2 gebd2: reduction to bidiagonal, level 2
  625. @defgroup labrd labrd: step in gebrd
  626. @defgroup gbbrd gbbrd: band to bidiagonal
  627. @defgroup ungbr {un,or}gbr: generate Q, P from gebrd
  628. @defgroup unmbr {un,or}mbr: multiply by Q, P from gebrd
  629. @defgroup gesvd_aux --- auxiliary routines ---
  630. @defgroup gsvj0 gsvj0: step in gesvj
  631. @defgroup gsvj1 gsvj1: step in gesvj
  632. @defgroup las2 las2: 2x2 triangular SVD
  633. @defgroup lasv2 lasv2: 2x2 triangular SVD
  634. @defgroup lartgs lartgs: generate plane rotation for bidiag SVD
  635. @}
  636. @defgroup ggsvd_comp_grp Generalized SVD computational routines
  637. @{
  638. @defgroup ggsvp3 ggsvp3: step in ggsvd
  639. @defgroup tgsja tgsja: generalized SVD of trapezoidal matrices, step in ggsvd3
  640. @defgroup lags2 lags2: 2x2 orthogonal factor, step in tgsja
  641. @defgroup lapll lapll: linear dependence of 2 vectors
  642. @}
  643. @defgroup lasq_comp_grp bidiag QR iteration routines
  644. @{
  645. @defgroup lasq1 lasq1: dqds step
  646. @defgroup lasq2 lasq2: dqds step
  647. @defgroup lasq3 lasq3: dqds step
  648. @defgroup lasq4 lasq4: dqds step
  649. @defgroup lasq5 lasq5: dqds step
  650. @defgroup lasq6 lasq6: dqds step
  651. @}
  652. @defgroup lasd_comp_grp bidiag D&C routines
  653. @{
  654. @defgroup lasd0 lasd0: D&C step: top level solver
  655. @defgroup lasdt lasdt: D&C step: tree
  656. @defgroup lasd1 lasd1: D&C step: merge subproblems
  657. @defgroup lasd2 lasd2: D&C step: deflation
  658. @defgroup lasd3 lasd3: D&C step: secular equation
  659. @defgroup lasd4 lasd4: D&C step: secular equation nonlinear solver
  660. @defgroup lasd5 lasd5: D&C step: secular equation, 2x2
  661. @defgroup lasdq lasdq: D&C step: leaf using bdsqr
  662. @defgroup lasd_comp2 --- singular values only or factored form ---
  663. @defgroup lasda lasda: D&C step: top level solver
  664. @defgroup lasd6 lasd6: D&C step: merge subproblems
  665. @defgroup lasd7 lasd7: D&C step: deflation
  666. @defgroup lasd8 lasd8: D&C step: secular equation
  667. @}
  668. @}
  669. @defgroup blas_like_top BLAS-like
  670. @{
  671. @defgroup set_grp Initialize, copy, convert
  672. @{
  673. @defgroup laset laset: set matrix
  674. @defgroup larnv larnv: random vector
  675. @defgroup laruv laruv: random uniform vector
  676. @defgroup lacpy lacpy: copy matrix
  677. @defgroup lacp2 lacp2: general matrix, convert real to complex
  678. @defgroup _lag2_ _lag2_: general matrix, convert double <=> single
  679. @defgroup _lat2_ _lat2_: triangular matrix, convert double <=> single
  680. @defgroup tfttp tfttp: triangular matrix, RFP (tf) to packed (tp)
  681. @defgroup tfttr tfttr: triangular matrix, RFP (tf) to full (tr)
  682. @defgroup tpttf tpttf: triangular matrix, packed (tp) to RFP (tf)
  683. @defgroup tpttr tpttr: triangular matrix, packed (tp) to full (tr)
  684. @defgroup trttf trttf: triangular matrix, full (tr) to RFP (tf)
  685. @defgroup trttp trttp: triangular matrix, full (tr) to packed (tp)
  686. @}
  687. @defgroup norm_grp Matrix norm
  688. @{
  689. @defgroup lange lange: general matrix
  690. @defgroup langb langb: general matrix, banded
  691. @defgroup langt langt: general matrix, tridiagonal
  692. @defgroup lanhs lanhs: Hessenberg
  693. @defgroup lanhe lan{he,sy}: Hermitian/symmetric matrix
  694. @defgroup lanhf lan{hf,sf}: Hermitian/symmetric matrix, RFP
  695. @defgroup lanhp lan{hp,sp}: Hermitian/symmetric matrix, packed
  696. @defgroup lanhb lan{hb,sb}: Hermitian/symmetric matrix, banded
  697. @defgroup lanht lan{ht,st}: Hermitian/symmetric matrix, tridiagonal
  698. @defgroup lantr lantr: triangular matrix
  699. @defgroup lantp lantp: triangular matrix, packed
  700. @defgroup lantb lantb: triangular matrix, banded
  701. @}
  702. @defgroup blas0_like_grp Scalar operations
  703. @{
  704. @defgroup isnan isnan: test for NaN
  705. @defgroup laisnan laisnan: test for NaN, unoptimized
  706. @defgroup ladiv ladiv: complex divide
  707. @defgroup lapy2 lapy2: robust sqrt( x^2 + y^2 )
  708. @defgroup lapy3 lapy3: robust sqrt( x^2 + y^2 + z^2 )
  709. @defgroup larmm larmm: scale factor to avoid overflow, step in latrs
  710. @}
  711. @defgroup blas1_like_grp Level 1 BLAS-like vector ops
  712. @{
  713. @defgroup lacgv lacgv: conjugate vector
  714. @defgroup lasrt lasrt: sort vector
  715. @defgroup lassq lassq: sum-of-squares, avoiding over/underflow
  716. @defgroup rscl rscl: scale vector by reciprocal
  717. @}
  718. @defgroup blas2_like_grp Level 2 BLAS-like matrix-vector ops
  719. @{
  720. @defgroup ilalc ilalc: find non-zero col
  721. @defgroup ilalr ilalr: find non-zero row
  722. @defgroup lascl lascl: scale matrix
  723. @defgroup la_geamv la_geamv: matrix-vector multiply |A| * |x|, general
  724. @defgroup la_gbamv la_gbamv: matrix-vector multiply |A| * |x|, general banded
  725. @defgroup la_heamv la_heamv: matrix-vector multiply |A| * |x|, Hermitian/symmetric
  726. @defgroup lascl2 lascl2: diagonal scale matrix, A = D A
  727. @defgroup larscl2 larscl2: reciprocal diagonal scale matrix, A = D^{-1} A
  728. @defgroup la_wwaddw la_wwaddw: add to double-double or single-single vector
  729. @}
  730. @defgroup blas3_like_grp Level 3 BLAS-like matrix-matrix ops
  731. @{
  732. @defgroup lagtm lagtm: tridiagonal matrix-matrix multiply
  733. @defgroup lacrm lacrm: complex * real matrix-matrix multiply
  734. @defgroup larcm larcm: real * complex matrix-matrix multiply
  735. @defgroup hfrk hfrk: Hermitian rank-k update, RFP format
  736. @defgroup tfsm tfsm: triangular-matrix solve, RFP format
  737. @}
  738. @}
  739. @defgroup aux_top Auxiliary routines
  740. @{
  741. @defgroup aux_grp Other auxiliary routines
  742. @{
  743. @defgroup lsame lsame: string comparison
  744. @defgroup lsamen lsamen: string comparison
  745. @defgroup roundup_lwork roundup_lwork: fix rounding integer to float
  746. @defgroup second second: wall clock timer
  747. @}
  748. @defgroup params_grp Parameters
  749. @{
  750. @defgroup lamch lamch: machine parameters
  751. @defgroup lamc1 lamc1: ??
  752. @defgroup lamc2 lamc2: ??
  753. @defgroup lamc3 lamc3: ??
  754. @defgroup lamc4 lamc4: ??
  755. @defgroup lamc5 lamc5: ??
  756. @defgroup labad labad: over/underflow on obsolete pre-IEEE machines
  757. @defgroup ilaver ilaver: LAPACK version
  758. @defgroup ilaenv ilaenv: tuning parameters
  759. @defgroup ilaenv2stage ilaenv2stage: tuning parameters for 2-stage eig
  760. @defgroup iparam2stage iparam2stage: sets parameters for 2-stage eig
  761. @defgroup ieeeck ieeeck: verify inf and NaN are safe
  762. @defgroup la_constants la_constants: Fortran 95 module of constants
  763. @defgroup blast_aux --- BLAST constants ---
  764. @defgroup iladiag iladiag: diag string to BLAST const
  765. @defgroup ilaprec ilaprec: precision string to BLAST const
  766. @defgroup ilatrans ilatrans: trans string to BLAST const
  767. @defgroup ilauplo ilauplo: uplo string to BLAST const
  768. @defgroup la_transtype la_transtype: BLAST const to string
  769. @}
  770. @defgroup xerbla_grp Error reporting
  771. @{
  772. @defgroup xerbla xerbla: error reporting
  773. @defgroup xerbla_array xerbla_array: error reporting, callable from C
  774. @}
  775. @}
  776. @}
  777. @defgroup blas_top BLAS
  778. BLAS are defined by three papers:
  779. Basic linear algebra subprograms for {FORTRAN} usage, Lawson et al, 1979.
  780. An extended set of {FORTRAN} basic linear algebra subprograms, Dongarra et al, 1988.
  781. A set of level 3 basic linear algebra subprograms, Dongarra et al, 1990.
  782. Some BLAS-like routines (e.g., csymv, crot, csum1, icmax1) exist in
  783. LAPACK rather than the classic BLAS.
  784. These were extended by the Extra Precision BLAS (XBLAS, not documented here)
  785. https://www.netlib.org/xblas/
  786. @{
  787. @defgroup scalar_grp Scalar operations
  788. @{
  789. @defgroup abs1 abs1: | real( x ) | + | imag( x ) |
  790. @}
  791. @defgroup blas1_grp Level 1 BLAS: vector ops
  792. @{
  793. @defgroup asum asum: sum | real( x_i ) | + | imag( x_i ) |
  794. @defgroup sum1 sum1: sum | x_i | (in LAPACK)
  795. @defgroup axpy axpy: y = ax + y
  796. @defgroup copy copy: y = x
  797. @defgroup dot dot: x^H x and x^T x
  798. @defgroup iamax iamax: argmax_i | real( x_i ) | + | imag( x_i ) |
  799. @defgroup imax1 imax1: argmax_i | x_i | (in LAPACK)
  800. @defgroup nrm2 nrm2: || x ||_2
  801. @defgroup scal scal: x = alpha x
  802. @defgroup swap swap: x <=> y
  803. @defgroup rot_comp --- Givens/Jacobi plane rotations ---
  804. @defgroup rot rot: apply plane rotation ([cz]rot in LAPACK)
  805. @defgroup rotg rotg: generate plane rotation (cf. lartg)
  806. @defgroup rotm rotm: apply modified (fast) plane rotation
  807. @defgroup rotmg rotmg: generate modified (fast) plane rotation
  808. @}
  809. @defgroup blas2_grp Level 2 BLAS: matrix-vector ops
  810. @{
  811. @defgroup blas2_full --- full ---
  812. @defgroup gemv gemv: general matrix-vector multiply
  813. @defgroup ger ger: general matrix rank-1 update
  814. @defgroup hemv {he,sy}mv: Hermitian/symmetric matrix-vector multiply ([cz]symv in LAPACK)
  815. @defgroup her {he,sy}r: Hermitian/symmetric rank-1 update
  816. @defgroup her2 {he,sy}r2: Hermitian/symmetric rank-2 update
  817. @defgroup trmv trmv: triangular matrix-vector multiply
  818. @defgroup trsv trsv: triangular matrix-vector solve
  819. @defgroup blas2_packed --- packed ---
  820. @defgroup hpmv {hp,sp}mv: Hermitian/symmetric matrix-vector multiply
  821. @defgroup hpr {hp,sp}r: Hermitian/symmetric rank-1 update
  822. @defgroup hpr2 {hp,sp}r2: Hermitian/symmetric rank-2 update
  823. @defgroup tpmv tpmv: triangular matrix-vector multiply
  824. @defgroup tpsv tpsv: triangular matrix-vector solve
  825. @defgroup blas2_banded --- banded ---
  826. @defgroup gbmv gbmv: general matrix-vector multiply
  827. @defgroup hbmv {hb,sb}mv: Hermitian/symmetric matrix-vector multiply
  828. @defgroup tbmv tbmv: triangular matrix-vector multiply
  829. @defgroup tbsv tbsv: triangular matrix-vector solve
  830. @}
  831. @defgroup blas3_grp Level 3 BLAS: matrix-matrix ops
  832. @{
  833. @defgroup gemm gemm: general matrix-matrix multiply
  834. @defgroup hemm {he,sy}mm: Hermitian/symmetric matrix-matrix multiply
  835. @defgroup herk {he,sy}rk: Hermitian/symmetric rank-k update
  836. @defgroup her2k {he,sy}r2k: Hermitian/symmetric rank-2k update
  837. @defgroup trmm trmm: triangular matrix-matrix multiply
  838. @defgroup trsm trsm: triangular matrix-matrix solve
  839. @}
  840. @}
  841. **/