ruby-lapack 1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3419) hide show
  1. data/COPYING +56 -0
  2. data/GPL +340 -0
  3. data/README.rdoc +61 -0
  4. data/Rakefile +115 -0
  5. data/dev/common.rb +9 -0
  6. data/dev/defs/cbbcsd +297 -0
  7. data/dev/defs/cbdsqr +196 -0
  8. data/dev/defs/cgbbrd +174 -0
  9. data/dev/defs/cgbcon +114 -0
  10. data/dev/defs/cgbequ +121 -0
  11. data/dev/defs/cgbequb +128 -0
  12. data/dev/defs/cgbrfs +182 -0
  13. data/dev/defs/cgbrfsx +418 -0
  14. data/dev/defs/cgbsv +134 -0
  15. data/dev/defs/cgbsvx +356 -0
  16. data/dev/defs/cgbsvxx +539 -0
  17. data/dev/defs/cgbtf2 +110 -0
  18. data/dev/defs/cgbtrf +109 -0
  19. data/dev/defs/cgbtrs +106 -0
  20. data/dev/defs/cgebak +95 -0
  21. data/dev/defs/cgebal +125 -0
  22. data/dev/defs/cgebd2 +162 -0
  23. data/dev/defs/cgebrd +178 -0
  24. data/dev/defs/cgecon +90 -0
  25. data/dev/defs/cgeequ +107 -0
  26. data/dev/defs/cgeequb +114 -0
  27. data/dev/defs/cgees +169 -0
  28. data/dev/defs/cgeesx +209 -0
  29. data/dev/defs/cgeev +154 -0
  30. data/dev/defs/cgeevx +263 -0
  31. data/dev/defs/cgegs +204 -0
  32. data/dev/defs/cgegv +261 -0
  33. data/dev/defs/cgehd2 +115 -0
  34. data/dev/defs/cgehrd +136 -0
  35. data/dev/defs/cgelq2 +89 -0
  36. data/dev/defs/cgelqf +113 -0
  37. data/dev/defs/cgels +157 -0
  38. data/dev/defs/cgelsd +211 -0
  39. data/dev/defs/cgelss +156 -0
  40. data/dev/defs/cgelsx +155 -0
  41. data/dev/defs/cgelsy +188 -0
  42. data/dev/defs/cgeql2 +91 -0
  43. data/dev/defs/cgeqlf +116 -0
  44. data/dev/defs/cgeqp3 +127 -0
  45. data/dev/defs/cgeqpf +118 -0
  46. data/dev/defs/cgeqr2 +89 -0
  47. data/dev/defs/cgeqr2p +89 -0
  48. data/dev/defs/cgeqrf +114 -0
  49. data/dev/defs/cgeqrfp +114 -0
  50. data/dev/defs/cgerfs +164 -0
  51. data/dev/defs/cgerfsx +394 -0
  52. data/dev/defs/cgerq2 +91 -0
  53. data/dev/defs/cgerqf +116 -0
  54. data/dev/defs/cgesc2 +87 -0
  55. data/dev/defs/cgesdd +203 -0
  56. data/dev/defs/cgesv +97 -0
  57. data/dev/defs/cgesvd +195 -0
  58. data/dev/defs/cgesvx +333 -0
  59. data/dev/defs/cgesvxx +519 -0
  60. data/dev/defs/cgetc2 +82 -0
  61. data/dev/defs/cgetf2 +76 -0
  62. data/dev/defs/cgetrf +76 -0
  63. data/dev/defs/cgetri +86 -0
  64. data/dev/defs/cgetrs +91 -0
  65. data/dev/defs/cggbak +119 -0
  66. data/dev/defs/cggbal +144 -0
  67. data/dev/defs/cgges +247 -0
  68. data/dev/defs/cggesx +311 -0
  69. data/dev/defs/cggev +197 -0
  70. data/dev/defs/cggevx +353 -0
  71. data/dev/defs/cggglm +160 -0
  72. data/dev/defs/cgghrd +171 -0
  73. data/dev/defs/cgglse +157 -0
  74. data/dev/defs/cggqrf +195 -0
  75. data/dev/defs/cggrqf +194 -0
  76. data/dev/defs/cggsvd +324 -0
  77. data/dev/defs/cggsvp +240 -0
  78. data/dev/defs/cgtcon +112 -0
  79. data/dev/defs/cgtrfs +193 -0
  80. data/dev/defs/cgtsv +97 -0
  81. data/dev/defs/cgtsvx +275 -0
  82. data/dev/defs/cgttrf +97 -0
  83. data/dev/defs/cgttrs +119 -0
  84. data/dev/defs/cgtts2 +108 -0
  85. data/dev/defs/chbev +124 -0
  86. data/dev/defs/chbevd +194 -0
  87. data/dev/defs/chbevx +234 -0
  88. data/dev/defs/chbgst +137 -0
  89. data/dev/defs/chbgv +163 -0
  90. data/dev/defs/chbgvd +231 -0
  91. data/dev/defs/chbgvx +265 -0
  92. data/dev/defs/chbtrd +132 -0
  93. data/dev/defs/checon +91 -0
  94. data/dev/defs/cheequb +87 -0
  95. data/dev/defs/cheev +111 -0
  96. data/dev/defs/cheevd +178 -0
  97. data/dev/defs/cheevr +325 -0
  98. data/dev/defs/cheevx +225 -0
  99. data/dev/defs/chegs2 +96 -0
  100. data/dev/defs/chegst +96 -0
  101. data/dev/defs/chegv +155 -0
  102. data/dev/defs/chegvd +222 -0
  103. data/dev/defs/chegvx +270 -0
  104. data/dev/defs/cherfs +170 -0
  105. data/dev/defs/cherfsx +380 -0
  106. data/dev/defs/chesv +147 -0
  107. data/dev/defs/chesvx +261 -0
  108. data/dev/defs/chesvxx +481 -0
  109. data/dev/defs/chetd2 +143 -0
  110. data/dev/defs/chetf2 +141 -0
  111. data/dev/defs/chetrd +162 -0
  112. data/dev/defs/chetrf +151 -0
  113. data/dev/defs/chetri +83 -0
  114. data/dev/defs/chetrs +90 -0
  115. data/dev/defs/chetrs2 +97 -0
  116. data/dev/defs/chfrk +138 -0
  117. data/dev/defs/chgeqz +258 -0
  118. data/dev/defs/chla_transtype +32 -0
  119. data/dev/defs/chpcon +85 -0
  120. data/dev/defs/chpev +110 -0
  121. data/dev/defs/chpevd +179 -0
  122. data/dev/defs/chpevx +204 -0
  123. data/dev/defs/chpgst +80 -0
  124. data/dev/defs/chpgv +145 -0
  125. data/dev/defs/chpgvd +221 -0
  126. data/dev/defs/chpgvx +247 -0
  127. data/dev/defs/chprfs +156 -0
  128. data/dev/defs/chpsv +134 -0
  129. data/dev/defs/chpsvx +248 -0
  130. data/dev/defs/chptrd +118 -0
  131. data/dev/defs/chptrf +120 -0
  132. data/dev/defs/chptri +77 -0
  133. data/dev/defs/chptrs +84 -0
  134. data/dev/defs/chsein +217 -0
  135. data/dev/defs/chseqr +263 -0
  136. data/dev/defs/cla_gbamv +154 -0
  137. data/dev/defs/cla_gbrcond_c +146 -0
  138. data/dev/defs/cla_gbrcond_x +140 -0
  139. data/dev/defs/cla_gbrfsx_extended +391 -0
  140. data/dev/defs/cla_gbrpvgrw +94 -0
  141. data/dev/defs/cla_geamv +142 -0
  142. data/dev/defs/cla_gercond_c +128 -0
  143. data/dev/defs/cla_gercond_x +122 -0
  144. data/dev/defs/cla_gerfsx_extended +376 -0
  145. data/dev/defs/cla_heamv +142 -0
  146. data/dev/defs/cla_hercond_c +125 -0
  147. data/dev/defs/cla_hercond_x +119 -0
  148. data/dev/defs/cla_herfsx_extended +375 -0
  149. data/dev/defs/cla_herpvgrw +105 -0
  150. data/dev/defs/cla_lin_berr +79 -0
  151. data/dev/defs/cla_porcond_c +116 -0
  152. data/dev/defs/cla_porcond_x +110 -0
  153. data/dev/defs/cla_porfsx_extended +366 -0
  154. data/dev/defs/cla_porpvgrw +85 -0
  155. data/dev/defs/cla_rpvgrw +76 -0
  156. data/dev/defs/cla_syamv +142 -0
  157. data/dev/defs/cla_syrcond_c +125 -0
  158. data/dev/defs/cla_syrcond_x +119 -0
  159. data/dev/defs/cla_syrfsx_extended +375 -0
  160. data/dev/defs/cla_syrpvgrw +105 -0
  161. data/dev/defs/cla_wwaddw +53 -0
  162. data/dev/defs/clabrd +187 -0
  163. data/dev/defs/clacgv +44 -0
  164. data/dev/defs/clacn2 +91 -0
  165. data/dev/defs/clacon +75 -0
  166. data/dev/defs/clacp2 +78 -0
  167. data/dev/defs/clacpy +78 -0
  168. data/dev/defs/clacrm +88 -0
  169. data/dev/defs/clacrt +73 -0
  170. data/dev/defs/cladiv +37 -0
  171. data/dev/defs/claed0 +121 -0
  172. data/dev/defs/claed7 +237 -0
  173. data/dev/defs/claed8 +211 -0
  174. data/dev/defs/claein +117 -0
  175. data/dev/defs/claesy +81 -0
  176. data/dev/defs/claev2 +83 -0
  177. data/dev/defs/clag2z +73 -0
  178. data/dev/defs/clags2 +116 -0
  179. data/dev/defs/clagtm +115 -0
  180. data/dev/defs/clahef +127 -0
  181. data/dev/defs/clahqr +159 -0
  182. data/dev/defs/clahr2 +153 -0
  183. data/dev/defs/clahrd +141 -0
  184. data/dev/defs/claic1 +101 -0
  185. data/dev/defs/clals0 +251 -0
  186. data/dev/defs/clalsa +267 -0
  187. data/dev/defs/clalsd +160 -0
  188. data/dev/defs/clangb +92 -0
  189. data/dev/defs/clange +84 -0
  190. data/dev/defs/clangt +77 -0
  191. data/dev/defs/clanhb +99 -0
  192. data/dev/defs/clanhe +93 -0
  193. data/dev/defs/clanhf +211 -0
  194. data/dev/defs/clanhp +85 -0
  195. data/dev/defs/clanhs +78 -0
  196. data/dev/defs/clanht +69 -0
  197. data/dev/defs/clansb +97 -0
  198. data/dev/defs/clansp +83 -0
  199. data/dev/defs/clansy +92 -0
  200. data/dev/defs/clantb +108 -0
  201. data/dev/defs/clantp +93 -0
  202. data/dev/defs/clantr +109 -0
  203. data/dev/defs/clapll +67 -0
  204. data/dev/defs/clapmr +73 -0
  205. data/dev/defs/clapmt +73 -0
  206. data/dev/defs/claqgb +124 -0
  207. data/dev/defs/claqge +107 -0
  208. data/dev/defs/claqhb +105 -0
  209. data/dev/defs/claqhe +98 -0
  210. data/dev/defs/claqhp +89 -0
  211. data/dev/defs/claqp2 +115 -0
  212. data/dev/defs/claqps +146 -0
  213. data/dev/defs/claqr0 +203 -0
  214. data/dev/defs/claqr1 +66 -0
  215. data/dev/defs/claqr2 +243 -0
  216. data/dev/defs/claqr3 +238 -0
  217. data/dev/defs/claqr4 +203 -0
  218. data/dev/defs/claqr5 +221 -0
  219. data/dev/defs/claqsb +105 -0
  220. data/dev/defs/claqsp +89 -0
  221. data/dev/defs/claqsy +98 -0
  222. data/dev/defs/clar1v +199 -0
  223. data/dev/defs/clar2v +88 -0
  224. data/dev/defs/clarcm +88 -0
  225. data/dev/defs/clarf +97 -0
  226. data/dev/defs/clarfb +139 -0
  227. data/dev/defs/clarfg +71 -0
  228. data/dev/defs/clarfgp +69 -0
  229. data/dev/defs/clarft +133 -0
  230. data/dev/defs/clarfx +88 -0
  231. data/dev/defs/clargv +88 -0
  232. data/dev/defs/clarnv +63 -0
  233. data/dev/defs/clarrv +259 -0
  234. data/dev/defs/clarscl2 +61 -0
  235. data/dev/defs/clartg +66 -0
  236. data/dev/defs/clartv +82 -0
  237. data/dev/defs/clarz +111 -0
  238. data/dev/defs/clarzb +150 -0
  239. data/dev/defs/clarzt +151 -0
  240. data/dev/defs/clascl +102 -0
  241. data/dev/defs/clascl2 +61 -0
  242. data/dev/defs/claset +77 -0
  243. data/dev/defs/clasr +169 -0
  244. data/dev/defs/classq +71 -0
  245. data/dev/defs/claswp +81 -0
  246. data/dev/defs/clasyf +127 -0
  247. data/dev/defs/clatbs +206 -0
  248. data/dev/defs/clatdf +133 -0
  249. data/dev/defs/clatps +193 -0
  250. data/dev/defs/clatrd +168 -0
  251. data/dev/defs/clatrs +202 -0
  252. data/dev/defs/clatrz +106 -0
  253. data/dev/defs/clatzm +124 -0
  254. data/dev/defs/clauu2 +68 -0
  255. data/dev/defs/clauum +68 -0
  256. data/dev/defs/cpbcon +99 -0
  257. data/dev/defs/cpbequ +96 -0
  258. data/dev/defs/cpbrfs +166 -0
  259. data/dev/defs/cpbstf +116 -0
  260. data/dev/defs/cpbsv +136 -0
  261. data/dev/defs/cpbsvx +314 -0
  262. data/dev/defs/cpbtf2 +105 -0
  263. data/dev/defs/cpbtrf +103 -0
  264. data/dev/defs/cpbtrs +98 -0
  265. data/dev/defs/cpftrf +183 -0
  266. data/dev/defs/cpftri +175 -0
  267. data/dev/defs/cpftrs +185 -0
  268. data/dev/defs/cpocon +87 -0
  269. data/dev/defs/cpoequ +80 -0
  270. data/dev/defs/cpoequb +80 -0
  271. data/dev/defs/cporfs +160 -0
  272. data/dev/defs/cporfsx +371 -0
  273. data/dev/defs/cposv +105 -0
  274. data/dev/defs/cposvx +281 -0
  275. data/dev/defs/cposvxx +471 -0
  276. data/dev/defs/cpotf2 +75 -0
  277. data/dev/defs/cpotrf +73 -0
  278. data/dev/defs/cpotri +67 -0
  279. data/dev/defs/cpotrs +79 -0
  280. data/dev/defs/cppcon +85 -0
  281. data/dev/defs/cppequ +82 -0
  282. data/dev/defs/cpprfs +146 -0
  283. data/dev/defs/cppsv +115 -0
  284. data/dev/defs/cppsvx +283 -0
  285. data/dev/defs/cpptrf +81 -0
  286. data/dev/defs/cpptri +58 -0
  287. data/dev/defs/cpptrs +84 -0
  288. data/dev/defs/cpstf2 +108 -0
  289. data/dev/defs/cpstrf +108 -0
  290. data/dev/defs/cptcon +84 -0
  291. data/dev/defs/cpteqr +116 -0
  292. data/dev/defs/cptrfs +161 -0
  293. data/dev/defs/cptsv +89 -0
  294. data/dev/defs/cptsvx +210 -0
  295. data/dev/defs/cpttrf +59 -0
  296. data/dev/defs/cpttrs +98 -0
  297. data/dev/defs/cptts2 +89 -0
  298. data/dev/defs/crot +72 -0
  299. data/dev/defs/cspcon +85 -0
  300. data/dev/defs/cspmv +121 -0
  301. data/dev/defs/cspr +98 -0
  302. data/dev/defs/csprfs +156 -0
  303. data/dev/defs/cspsv +134 -0
  304. data/dev/defs/cspsvx +248 -0
  305. data/dev/defs/csptrf +121 -0
  306. data/dev/defs/csptri +77 -0
  307. data/dev/defs/csptrs +84 -0
  308. data/dev/defs/csrscl +49 -0
  309. data/dev/defs/cstedc +191 -0
  310. data/dev/defs/cstegr +233 -0
  311. data/dev/defs/cstein +159 -0
  312. data/dev/defs/cstemr +302 -0
  313. data/dev/defs/csteqr +103 -0
  314. data/dev/defs/csycon +91 -0
  315. data/dev/defs/csyconv +90 -0
  316. data/dev/defs/csyequb +104 -0
  317. data/dev/defs/csymv +126 -0
  318. data/dev/defs/csyr +102 -0
  319. data/dev/defs/csyrfs +170 -0
  320. data/dev/defs/csyrfsx +380 -0
  321. data/dev/defs/csysv +149 -0
  322. data/dev/defs/csysvx +261 -0
  323. data/dev/defs/csysvxx +485 -0
  324. data/dev/defs/csyswapr +70 -0
  325. data/dev/defs/csytf2 +140 -0
  326. data/dev/defs/csytrf +156 -0
  327. data/dev/defs/csytri +83 -0
  328. data/dev/defs/csytri2 +110 -0
  329. data/dev/defs/csytri2x +90 -0
  330. data/dev/defs/csytrs +90 -0
  331. data/dev/defs/csytrs2 +97 -0
  332. data/dev/defs/ctbcon +109 -0
  333. data/dev/defs/ctbrfs +164 -0
  334. data/dev/defs/ctbtrs +113 -0
  335. data/dev/defs/ctfsm +259 -0
  336. data/dev/defs/ctftri +183 -0
  337. data/dev/defs/ctfttp +172 -0
  338. data/dev/defs/ctfttr +182 -0
  339. data/dev/defs/ctgevc +194 -0
  340. data/dev/defs/ctgex2 +158 -0
  341. data/dev/defs/ctgexc +176 -0
  342. data/dev/defs/ctgsen +406 -0
  343. data/dev/defs/ctgsja +344 -0
  344. data/dev/defs/ctgsna +282 -0
  345. data/dev/defs/ctgsy2 +235 -0
  346. data/dev/defs/ctgsyl +273 -0
  347. data/dev/defs/ctpcon +95 -0
  348. data/dev/defs/ctprfs +150 -0
  349. data/dev/defs/ctptri +79 -0
  350. data/dev/defs/ctptrs +98 -0
  351. data/dev/defs/ctpttf +172 -0
  352. data/dev/defs/ctpttr +73 -0
  353. data/dev/defs/ctrcon +103 -0
  354. data/dev/defs/ctrevc +188 -0
  355. data/dev/defs/ctrexc +99 -0
  356. data/dev/defs/ctrrfs +158 -0
  357. data/dev/defs/ctrsen +234 -0
  358. data/dev/defs/ctrsna +223 -0
  359. data/dev/defs/ctrsyl +126 -0
  360. data/dev/defs/ctrti2 +76 -0
  361. data/dev/defs/ctrtri +75 -0
  362. data/dev/defs/ctrtrs +107 -0
  363. data/dev/defs/ctrttf +181 -0
  364. data/dev/defs/ctrttp +72 -0
  365. data/dev/defs/ctzrqf +104 -0
  366. data/dev/defs/ctzrzf +128 -0
  367. data/dev/defs/cunbdb +270 -0
  368. data/dev/defs/cuncsd +283 -0
  369. data/dev/defs/cung2l +85 -0
  370. data/dev/defs/cung2r +85 -0
  371. data/dev/defs/cungbr +129 -0
  372. data/dev/defs/cunghr +97 -0
  373. data/dev/defs/cungl2 +84 -0
  374. data/dev/defs/cunglq +100 -0
  375. data/dev/defs/cungql +101 -0
  376. data/dev/defs/cungqr +101 -0
  377. data/dev/defs/cungr2 +85 -0
  378. data/dev/defs/cungrq +101 -0
  379. data/dev/defs/cungtr +95 -0
  380. data/dev/defs/cunm2l +130 -0
  381. data/dev/defs/cunm2r +130 -0
  382. data/dev/defs/cunmbr +179 -0
  383. data/dev/defs/cunmhr +157 -0
  384. data/dev/defs/cunml2 +130 -0
  385. data/dev/defs/cunmlq +143 -0
  386. data/dev/defs/cunmql +143 -0
  387. data/dev/defs/cunmqr +143 -0
  388. data/dev/defs/cunmr2 +130 -0
  389. data/dev/defs/cunmr3 +152 -0
  390. data/dev/defs/cunmrq +143 -0
  391. data/dev/defs/cunmrz +157 -0
  392. data/dev/defs/cunmtr +152 -0
  393. data/dev/defs/cupgtr +87 -0
  394. data/dev/defs/cupmtr +120 -0
  395. data/dev/defs/dbbcsd +297 -0
  396. data/dev/defs/dbdsdc +194 -0
  397. data/dev/defs/dbdsqr +203 -0
  398. data/dev/defs/ddisna +84 -0
  399. data/dev/defs/dgbbrd +167 -0
  400. data/dev/defs/dgbcon +114 -0
  401. data/dev/defs/dgbequ +121 -0
  402. data/dev/defs/dgbequb +128 -0
  403. data/dev/defs/dgbrfs +182 -0
  404. data/dev/defs/dgbrfsx +418 -0
  405. data/dev/defs/dgbsv +134 -0
  406. data/dev/defs/dgbsvx +353 -0
  407. data/dev/defs/dgbsvxx +536 -0
  408. data/dev/defs/dgbtf2 +110 -0
  409. data/dev/defs/dgbtrf +109 -0
  410. data/dev/defs/dgbtrs +106 -0
  411. data/dev/defs/dgebak +95 -0
  412. data/dev/defs/dgebal +125 -0
  413. data/dev/defs/dgebd2 +162 -0
  414. data/dev/defs/dgebrd +178 -0
  415. data/dev/defs/dgecon +90 -0
  416. data/dev/defs/dgeequ +107 -0
  417. data/dev/defs/dgeequb +114 -0
  418. data/dev/defs/dgees +188 -0
  419. data/dev/defs/dgeesx +251 -0
  420. data/dev/defs/dgeev +166 -0
  421. data/dev/defs/dgeevx +282 -0
  422. data/dev/defs/dgegs +207 -0
  423. data/dev/defs/dgegv +286 -0
  424. data/dev/defs/dgehd2 +115 -0
  425. data/dev/defs/dgehrd +136 -0
  426. data/dev/defs/dgejsv +862 -0
  427. data/dev/defs/dgelq2 +89 -0
  428. data/dev/defs/dgelqf +113 -0
  429. data/dev/defs/dgels +158 -0
  430. data/dev/defs/dgelsd +193 -0
  431. data/dev/defs/dgelss +149 -0
  432. data/dev/defs/dgelsx +148 -0
  433. data/dev/defs/dgelsy +181 -0
  434. data/dev/defs/dgeql2 +91 -0
  435. data/dev/defs/dgeqlf +116 -0
  436. data/dev/defs/dgeqp3 +120 -0
  437. data/dev/defs/dgeqpf +111 -0
  438. data/dev/defs/dgeqr2 +89 -0
  439. data/dev/defs/dgeqr2p +89 -0
  440. data/dev/defs/dgeqrf +114 -0
  441. data/dev/defs/dgeqrfp +114 -0
  442. data/dev/defs/dgerfs +164 -0
  443. data/dev/defs/dgerfsx +394 -0
  444. data/dev/defs/dgerq2 +91 -0
  445. data/dev/defs/dgerqf +116 -0
  446. data/dev/defs/dgesc2 +86 -0
  447. data/dev/defs/dgesdd +197 -0
  448. data/dev/defs/dgesv +97 -0
  449. data/dev/defs/dgesvd +188 -0
  450. data/dev/defs/dgesvj +308 -0
  451. data/dev/defs/dgesvx +333 -0
  452. data/dev/defs/dgesvxx +516 -0
  453. data/dev/defs/dgetc2 +82 -0
  454. data/dev/defs/dgetf2 +76 -0
  455. data/dev/defs/dgetrf +76 -0
  456. data/dev/defs/dgetri +86 -0
  457. data/dev/defs/dgetrs +91 -0
  458. data/dev/defs/dggbak +119 -0
  459. data/dev/defs/dggbal +145 -0
  460. data/dev/defs/dgges +261 -0
  461. data/dev/defs/dggesx +342 -0
  462. data/dev/defs/dggev +206 -0
  463. data/dev/defs/dggevx +371 -0
  464. data/dev/defs/dggglm +160 -0
  465. data/dev/defs/dgghrd +174 -0
  466. data/dev/defs/dgglse +157 -0
  467. data/dev/defs/dggqrf +195 -0
  468. data/dev/defs/dggrqf +194 -0
  469. data/dev/defs/dggsvd +319 -0
  470. data/dev/defs/dggsvp +233 -0
  471. data/dev/defs/dgsvj0 +200 -0
  472. data/dev/defs/dgsvj1 +220 -0
  473. data/dev/defs/dgtcon +119 -0
  474. data/dev/defs/dgtrfs +193 -0
  475. data/dev/defs/dgtsv +100 -0
  476. data/dev/defs/dgtsvx +275 -0
  477. data/dev/defs/dgttrf +97 -0
  478. data/dev/defs/dgttrs +119 -0
  479. data/dev/defs/dgtts2 +106 -0
  480. data/dev/defs/dhgeqz +282 -0
  481. data/dev/defs/dhsein +234 -0
  482. data/dev/defs/dhseqr +279 -0
  483. data/dev/defs/disnan +29 -0
  484. data/dev/defs/dla_gbamv +152 -0
  485. data/dev/defs/dla_gbrcond +152 -0
  486. data/dev/defs/dla_gbrfsx_extended +393 -0
  487. data/dev/defs/dla_gbrpvgrw +90 -0
  488. data/dev/defs/dla_geamv +142 -0
  489. data/dev/defs/dla_gercond +134 -0
  490. data/dev/defs/dla_gerfsx_extended +379 -0
  491. data/dev/defs/dla_lin_berr +78 -0
  492. data/dev/defs/dla_porcond +122 -0
  493. data/dev/defs/dla_porfsx_extended +366 -0
  494. data/dev/defs/dla_porpvgrw +81 -0
  495. data/dev/defs/dla_rpvgrw +72 -0
  496. data/dev/defs/dla_syamv +142 -0
  497. data/dev/defs/dla_syrcond +131 -0
  498. data/dev/defs/dla_syrfsx_extended +375 -0
  499. data/dev/defs/dla_syrpvgrw +101 -0
  500. data/dev/defs/dla_wwaddw +53 -0
  501. data/dev/defs/dlabad +43 -0
  502. data/dev/defs/dlabrd +186 -0
  503. data/dev/defs/dlacn2 +96 -0
  504. data/dev/defs/dlacon +80 -0
  505. data/dev/defs/dlacpy +78 -0
  506. data/dev/defs/dladiv +57 -0
  507. data/dev/defs/dlae2 +66 -0
  508. data/dev/defs/dlaebz +292 -0
  509. data/dev/defs/dlaed0 +147 -0
  510. data/dev/defs/dlaed1 +141 -0
  511. data/dev/defs/dlaed2 +194 -0
  512. data/dev/defs/dlaed3 +167 -0
  513. data/dev/defs/dlaed4 +113 -0
  514. data/dev/defs/dlaed5 +78 -0
  515. data/dev/defs/dlaed6 +101 -0
  516. data/dev/defs/dlaed7 +241 -0
  517. data/dev/defs/dlaed8 +227 -0
  518. data/dev/defs/dlaed9 +137 -0
  519. data/dev/defs/dlaeda +147 -0
  520. data/dev/defs/dlaein +141 -0
  521. data/dev/defs/dlaev2 +83 -0
  522. data/dev/defs/dlaexc +107 -0
  523. data/dev/defs/dlag2 +123 -0
  524. data/dev/defs/dlag2s +81 -0
  525. data/dev/defs/dlags2 +108 -0
  526. data/dev/defs/dlagtf +128 -0
  527. data/dev/defs/dlagtm +115 -0
  528. data/dev/defs/dlagts +135 -0
  529. data/dev/defs/dlagv2 +128 -0
  530. data/dev/defs/dlahqr +172 -0
  531. data/dev/defs/dlahr2 +153 -0
  532. data/dev/defs/dlahrd +141 -0
  533. data/dev/defs/dlaic1 +101 -0
  534. data/dev/defs/dlaln2 +187 -0
  535. data/dev/defs/dlals0 +250 -0
  536. data/dev/defs/dlalsa +268 -0
  537. data/dev/defs/dlalsd +152 -0
  538. data/dev/defs/dlamrg +66 -0
  539. data/dev/defs/dlaneg +87 -0
  540. data/dev/defs/dlangb +93 -0
  541. data/dev/defs/dlange +84 -0
  542. data/dev/defs/dlangt +77 -0
  543. data/dev/defs/dlanhs +78 -0
  544. data/dev/defs/dlansb +97 -0
  545. data/dev/defs/dlansf +178 -0
  546. data/dev/defs/dlansp +83 -0
  547. data/dev/defs/dlanst +69 -0
  548. data/dev/defs/dlansy +92 -0
  549. data/dev/defs/dlantb +108 -0
  550. data/dev/defs/dlantp +93 -0
  551. data/dev/defs/dlantr +109 -0
  552. data/dev/defs/dlanv2 +84 -0
  553. data/dev/defs/dlapll +69 -0
  554. data/dev/defs/dlapmr +73 -0
  555. data/dev/defs/dlapmt +73 -0
  556. data/dev/defs/dlapy2 +30 -0
  557. data/dev/defs/dlapy3 +34 -0
  558. data/dev/defs/dlaqgb +124 -0
  559. data/dev/defs/dlaqge +107 -0
  560. data/dev/defs/dlaqp2 +115 -0
  561. data/dev/defs/dlaqps +146 -0
  562. data/dev/defs/dlaqr0 +225 -0
  563. data/dev/defs/dlaqr1 +79 -0
  564. data/dev/defs/dlaqr2 +252 -0
  565. data/dev/defs/dlaqr3 +247 -0
  566. data/dev/defs/dlaqr4 +225 -0
  567. data/dev/defs/dlaqr5 +230 -0
  568. data/dev/defs/dlaqsb +105 -0
  569. data/dev/defs/dlaqsp +89 -0
  570. data/dev/defs/dlaqsy +98 -0
  571. data/dev/defs/dlaqtr +134 -0
  572. data/dev/defs/dlar1v +199 -0
  573. data/dev/defs/dlar2v +86 -0
  574. data/dev/defs/dlarf +93 -0
  575. data/dev/defs/dlarfb +139 -0
  576. data/dev/defs/dlarfg +71 -0
  577. data/dev/defs/dlarfgp +69 -0
  578. data/dev/defs/dlarft +133 -0
  579. data/dev/defs/dlarfx +89 -0
  580. data/dev/defs/dlargv +74 -0
  581. data/dev/defs/dlarnv +61 -0
  582. data/dev/defs/dlarra +106 -0
  583. data/dev/defs/dlarrb +167 -0
  584. data/dev/defs/dlarrc +99 -0
  585. data/dev/defs/dlarrd +290 -0
  586. data/dev/defs/dlarre +265 -0
  587. data/dev/defs/dlarrf +168 -0
  588. data/dev/defs/dlarrj +138 -0
  589. data/dev/defs/dlarrk +108 -0
  590. data/dev/defs/dlarrr +62 -0
  591. data/dev/defs/dlarrv +259 -0
  592. data/dev/defs/dlarscl2 +61 -0
  593. data/dev/defs/dlartg +64 -0
  594. data/dev/defs/dlartgp +62 -0
  595. data/dev/defs/dlartgs +57 -0
  596. data/dev/defs/dlartv +82 -0
  597. data/dev/defs/dlaruv +59 -0
  598. data/dev/defs/dlarz +109 -0
  599. data/dev/defs/dlarzb +150 -0
  600. data/dev/defs/dlarzt +151 -0
  601. data/dev/defs/dlas2 +71 -0
  602. data/dev/defs/dlascl +102 -0
  603. data/dev/defs/dlascl2 +61 -0
  604. data/dev/defs/dlasd0 +133 -0
  605. data/dev/defs/dlasd1 +180 -0
  606. data/dev/defs/dlasd2 +254 -0
  607. data/dev/defs/dlasd3 +213 -0
  608. data/dev/defs/dlasd4 +123 -0
  609. data/dev/defs/dlasd5 +88 -0
  610. data/dev/defs/dlasd6 +300 -0
  611. data/dev/defs/dlasd7 +264 -0
  612. data/dev/defs/dlasd8 +144 -0
  613. data/dev/defs/dlasda +276 -0
  614. data/dev/defs/dlasdq +187 -0
  615. data/dev/defs/dlasdt +76 -0
  616. data/dev/defs/dlaset +81 -0
  617. data/dev/defs/dlasq1 +75 -0
  618. data/dev/defs/dlasq2 +73 -0
  619. data/dev/defs/dlasq3 +141 -0
  620. data/dev/defs/dlasq4 +107 -0
  621. data/dev/defs/dlasq5 +100 -0
  622. data/dev/defs/dlasq6 +90 -0
  623. data/dev/defs/dlasr +169 -0
  624. data/dev/defs/dlasrt +53 -0
  625. data/dev/defs/dlassq +68 -0
  626. data/dev/defs/dlasv2 +100 -0
  627. data/dev/defs/dlaswp +81 -0
  628. data/dev/defs/dlasy2 +145 -0
  629. data/dev/defs/dlasyf +126 -0
  630. data/dev/defs/dlat2s +83 -0
  631. data/dev/defs/dlatbs +206 -0
  632. data/dev/defs/dlatdf +131 -0
  633. data/dev/defs/dlatps +192 -0
  634. data/dev/defs/dlatrd +168 -0
  635. data/dev/defs/dlatrs +202 -0
  636. data/dev/defs/dlatrz +106 -0
  637. data/dev/defs/dlatzm +123 -0
  638. data/dev/defs/dlauu2 +68 -0
  639. data/dev/defs/dlauum +68 -0
  640. data/dev/defs/dopgtr +87 -0
  641. data/dev/defs/dopmtr +120 -0
  642. data/dev/defs/dorbdb +270 -0
  643. data/dev/defs/dorcsd +264 -0
  644. data/dev/defs/dorg2l +85 -0
  645. data/dev/defs/dorg2r +85 -0
  646. data/dev/defs/dorgbr +129 -0
  647. data/dev/defs/dorghr +97 -0
  648. data/dev/defs/dorgl2 +84 -0
  649. data/dev/defs/dorglq +100 -0
  650. data/dev/defs/dorgql +101 -0
  651. data/dev/defs/dorgqr +101 -0
  652. data/dev/defs/dorgr2 +85 -0
  653. data/dev/defs/dorgrq +101 -0
  654. data/dev/defs/dorgtr +95 -0
  655. data/dev/defs/dorm2l +130 -0
  656. data/dev/defs/dorm2r +130 -0
  657. data/dev/defs/dormbr +176 -0
  658. data/dev/defs/dormhr +157 -0
  659. data/dev/defs/dorml2 +130 -0
  660. data/dev/defs/dormlq +143 -0
  661. data/dev/defs/dormql +143 -0
  662. data/dev/defs/dormqr +143 -0
  663. data/dev/defs/dormr2 +130 -0
  664. data/dev/defs/dormr3 +152 -0
  665. data/dev/defs/dormrq +143 -0
  666. data/dev/defs/dormrz +157 -0
  667. data/dev/defs/dormtr +152 -0
  668. data/dev/defs/dpbcon +98 -0
  669. data/dev/defs/dpbequ +96 -0
  670. data/dev/defs/dpbrfs +166 -0
  671. data/dev/defs/dpbstf +115 -0
  672. data/dev/defs/dpbsv +136 -0
  673. data/dev/defs/dpbsvx +314 -0
  674. data/dev/defs/dpbtf2 +105 -0
  675. data/dev/defs/dpbtrf +103 -0
  676. data/dev/defs/dpbtrs +98 -0
  677. data/dev/defs/dpftrf +161 -0
  678. data/dev/defs/dpftri +154 -0
  679. data/dev/defs/dpftrs +164 -0
  680. data/dev/defs/dpocon +87 -0
  681. data/dev/defs/dpoequ +80 -0
  682. data/dev/defs/dpoequb +80 -0
  683. data/dev/defs/dporfs +160 -0
  684. data/dev/defs/dporfsx +370 -0
  685. data/dev/defs/dposv +105 -0
  686. data/dev/defs/dposvx +281 -0
  687. data/dev/defs/dposvxx +468 -0
  688. data/dev/defs/dpotf2 +75 -0
  689. data/dev/defs/dpotrf +73 -0
  690. data/dev/defs/dpotri +67 -0
  691. data/dev/defs/dpotrs +79 -0
  692. data/dev/defs/dppcon +85 -0
  693. data/dev/defs/dppequ +82 -0
  694. data/dev/defs/dpprfs +146 -0
  695. data/dev/defs/dppsv +115 -0
  696. data/dev/defs/dppsvx +283 -0
  697. data/dev/defs/dpptrf +81 -0
  698. data/dev/defs/dpptri +58 -0
  699. data/dev/defs/dpptrs +84 -0
  700. data/dev/defs/dpstf2 +108 -0
  701. data/dev/defs/dpstrf +108 -0
  702. data/dev/defs/dptcon +84 -0
  703. data/dev/defs/dpteqr +117 -0
  704. data/dev/defs/dptrfs +141 -0
  705. data/dev/defs/dptsv +89 -0
  706. data/dev/defs/dptsvx +203 -0
  707. data/dev/defs/dpttrf +59 -0
  708. data/dev/defs/dpttrs +88 -0
  709. data/dev/defs/dptts2 +77 -0
  710. data/dev/defs/drscl +49 -0
  711. data/dev/defs/dsbev +117 -0
  712. data/dev/defs/dsbevd +169 -0
  713. data/dev/defs/dsbevx +231 -0
  714. data/dev/defs/dsbgst +130 -0
  715. data/dev/defs/dsbgv +156 -0
  716. data/dev/defs/dsbgvd +206 -0
  717. data/dev/defs/dsbgvx +259 -0
  718. data/dev/defs/dsbtrd +132 -0
  719. data/dev/defs/dsfrk +134 -0
  720. data/dev/defs/dsgesv +170 -0
  721. data/dev/defs/dspcon +92 -0
  722. data/dev/defs/dspev +103 -0
  723. data/dev/defs/dspevd +155 -0
  724. data/dev/defs/dspevx +197 -0
  725. data/dev/defs/dspgst +80 -0
  726. data/dev/defs/dspgv +139 -0
  727. data/dev/defs/dspgvd +188 -0
  728. data/dev/defs/dspgvx +241 -0
  729. data/dev/defs/dsposv +173 -0
  730. data/dev/defs/dsprfs +156 -0
  731. data/dev/defs/dspsv +134 -0
  732. data/dev/defs/dspsvx +249 -0
  733. data/dev/defs/dsptrd +118 -0
  734. data/dev/defs/dsptrf +120 -0
  735. data/dev/defs/dsptri +77 -0
  736. data/dev/defs/dsptrs +84 -0
  737. data/dev/defs/dstebz +229 -0
  738. data/dev/defs/dstedc +165 -0
  739. data/dev/defs/dstegr +233 -0
  740. data/dev/defs/dstein +152 -0
  741. data/dev/defs/dstemr +285 -0
  742. data/dev/defs/dsteqr +103 -0
  743. data/dev/defs/dsterf +54 -0
  744. data/dev/defs/dstev +88 -0
  745. data/dev/defs/dstevd +138 -0
  746. data/dev/defs/dstevr +273 -0
  747. data/dev/defs/dstevx +193 -0
  748. data/dev/defs/dsycon +98 -0
  749. data/dev/defs/dsyconv +90 -0
  750. data/dev/defs/dsyequb +104 -0
  751. data/dev/defs/dsyev +104 -0
  752. data/dev/defs/dsyevd +157 -0
  753. data/dev/defs/dsyevr +300 -0
  754. data/dev/defs/dsyevx +218 -0
  755. data/dev/defs/dsygs2 +96 -0
  756. data/dev/defs/dsygst +96 -0
  757. data/dev/defs/dsygv +148 -0
  758. data/dev/defs/dsygvd +197 -0
  759. data/dev/defs/dsygvx +263 -0
  760. data/dev/defs/dsyrfs +170 -0
  761. data/dev/defs/dsyrfsx +380 -0
  762. data/dev/defs/dsysv +149 -0
  763. data/dev/defs/dsysvx +261 -0
  764. data/dev/defs/dsysvxx +481 -0
  765. data/dev/defs/dsyswapr +70 -0
  766. data/dev/defs/dsytd2 +142 -0
  767. data/dev/defs/dsytf2 +143 -0
  768. data/dev/defs/dsytrd +162 -0
  769. data/dev/defs/dsytrf +156 -0
  770. data/dev/defs/dsytri +83 -0
  771. data/dev/defs/dsytri2 +110 -0
  772. data/dev/defs/dsytri2x +90 -0
  773. data/dev/defs/dsytrs +90 -0
  774. data/dev/defs/dsytrs2 +97 -0
  775. data/dev/defs/dtbcon +109 -0
  776. data/dev/defs/dtbrfs +164 -0
  777. data/dev/defs/dtbtrs +113 -0
  778. data/dev/defs/dtfsm +243 -0
  779. data/dev/defs/dtftri +163 -0
  780. data/dev/defs/dtfttp +151 -0
  781. data/dev/defs/dtfttr +176 -0
  782. data/dev/defs/dtgevc +265 -0
  783. data/dev/defs/dtgex2 +191 -0
  784. data/dev/defs/dtgexc +190 -0
  785. data/dev/defs/dtgsen +422 -0
  786. data/dev/defs/dtgsja +343 -0
  787. data/dev/defs/dtgsna +354 -0
  788. data/dev/defs/dtgsy2 +252 -0
  789. data/dev/defs/dtgsyl +274 -0
  790. data/dev/defs/dtpcon +95 -0
  791. data/dev/defs/dtprfs +150 -0
  792. data/dev/defs/dtptri +79 -0
  793. data/dev/defs/dtptrs +98 -0
  794. data/dev/defs/dtpttf +151 -0
  795. data/dev/defs/dtpttr +73 -0
  796. data/dev/defs/dtrcon +103 -0
  797. data/dev/defs/dtrevc +191 -0
  798. data/dev/defs/dtrexc +113 -0
  799. data/dev/defs/dtrrfs +158 -0
  800. data/dev/defs/dtrsen +284 -0
  801. data/dev/defs/dtrsna +239 -0
  802. data/dev/defs/dtrsyl +133 -0
  803. data/dev/defs/dtrti2 +76 -0
  804. data/dev/defs/dtrtri +75 -0
  805. data/dev/defs/dtrtrs +107 -0
  806. data/dev/defs/dtrttf +171 -0
  807. data/dev/defs/dtrttp +72 -0
  808. data/dev/defs/dtzrqf +104 -0
  809. data/dev/defs/dtzrzf +128 -0
  810. data/dev/defs/dzsum1 +49 -0
  811. data/dev/defs/icmax1 +55 -0
  812. data/dev/defs/ieeeck +49 -0
  813. data/dev/defs/ilaclc +46 -0
  814. data/dev/defs/ilaclr +46 -0
  815. data/dev/defs/iladiag +30 -0
  816. data/dev/defs/iladlc +46 -0
  817. data/dev/defs/iladlr +46 -0
  818. data/dev/defs/ilaenv +133 -0
  819. data/dev/defs/ilaprec +33 -0
  820. data/dev/defs/ilaslc +46 -0
  821. data/dev/defs/ilaslr +46 -0
  822. data/dev/defs/ilatrans +32 -0
  823. data/dev/defs/ilauplo +30 -0
  824. data/dev/defs/ilaver +35 -0
  825. data/dev/defs/ilazlc +46 -0
  826. data/dev/defs/ilazlr +46 -0
  827. data/dev/defs/iparmq +177 -0
  828. data/dev/defs/izmax1 +55 -0
  829. data/dev/defs/lsamen +50 -0
  830. data/dev/defs/sbbcsd +297 -0
  831. data/dev/defs/sbdsdc +192 -0
  832. data/dev/defs/sbdsqr +203 -0
  833. data/dev/defs/scsum1 +49 -0
  834. data/dev/defs/sdisna +84 -0
  835. data/dev/defs/sgbbrd +167 -0
  836. data/dev/defs/sgbcon +114 -0
  837. data/dev/defs/sgbequ +121 -0
  838. data/dev/defs/sgbequb +128 -0
  839. data/dev/defs/sgbrfs +182 -0
  840. data/dev/defs/sgbrfsx +419 -0
  841. data/dev/defs/sgbsv +134 -0
  842. data/dev/defs/sgbsvx +356 -0
  843. data/dev/defs/sgbsvxx +539 -0
  844. data/dev/defs/sgbtf2 +110 -0
  845. data/dev/defs/sgbtrf +109 -0
  846. data/dev/defs/sgbtrs +106 -0
  847. data/dev/defs/sgebak +95 -0
  848. data/dev/defs/sgebal +125 -0
  849. data/dev/defs/sgebd2 +162 -0
  850. data/dev/defs/sgebrd +178 -0
  851. data/dev/defs/sgecon +90 -0
  852. data/dev/defs/sgeequ +107 -0
  853. data/dev/defs/sgeequb +114 -0
  854. data/dev/defs/sgees +188 -0
  855. data/dev/defs/sgeesx +251 -0
  856. data/dev/defs/sgeev +166 -0
  857. data/dev/defs/sgeevx +282 -0
  858. data/dev/defs/sgegs +207 -0
  859. data/dev/defs/sgegv +286 -0
  860. data/dev/defs/sgehd2 +115 -0
  861. data/dev/defs/sgehrd +136 -0
  862. data/dev/defs/sgejsv +860 -0
  863. data/dev/defs/sgelq2 +89 -0
  864. data/dev/defs/sgelqf +113 -0
  865. data/dev/defs/sgels +158 -0
  866. data/dev/defs/sgelsd +194 -0
  867. data/dev/defs/sgelss +149 -0
  868. data/dev/defs/sgelsx +148 -0
  869. data/dev/defs/sgelsy +181 -0
  870. data/dev/defs/sgeql2 +91 -0
  871. data/dev/defs/sgeqlf +116 -0
  872. data/dev/defs/sgeqp3 +120 -0
  873. data/dev/defs/sgeqpf +111 -0
  874. data/dev/defs/sgeqr2 +89 -0
  875. data/dev/defs/sgeqr2p +89 -0
  876. data/dev/defs/sgeqrf +114 -0
  877. data/dev/defs/sgeqrfp +114 -0
  878. data/dev/defs/sgerfs +164 -0
  879. data/dev/defs/sgerfsx +394 -0
  880. data/dev/defs/sgerq2 +91 -0
  881. data/dev/defs/sgerqf +116 -0
  882. data/dev/defs/sgesc2 +86 -0
  883. data/dev/defs/sgesdd +197 -0
  884. data/dev/defs/sgesv +97 -0
  885. data/dev/defs/sgesvd +188 -0
  886. data/dev/defs/sgesvj +304 -0
  887. data/dev/defs/sgesvx +333 -0
  888. data/dev/defs/sgesvxx +519 -0
  889. data/dev/defs/sgetc2 +82 -0
  890. data/dev/defs/sgetf2 +76 -0
  891. data/dev/defs/sgetrf +76 -0
  892. data/dev/defs/sgetri +86 -0
  893. data/dev/defs/sgetrs +91 -0
  894. data/dev/defs/sggbak +119 -0
  895. data/dev/defs/sggbal +144 -0
  896. data/dev/defs/sgges +261 -0
  897. data/dev/defs/sggesx +342 -0
  898. data/dev/defs/sggev +206 -0
  899. data/dev/defs/sggevx +371 -0
  900. data/dev/defs/sggglm +160 -0
  901. data/dev/defs/sgghrd +174 -0
  902. data/dev/defs/sgglse +157 -0
  903. data/dev/defs/sggqrf +195 -0
  904. data/dev/defs/sggrqf +194 -0
  905. data/dev/defs/sggsvd +319 -0
  906. data/dev/defs/sggsvp +233 -0
  907. data/dev/defs/sgsvj0 +200 -0
  908. data/dev/defs/sgsvj1 +220 -0
  909. data/dev/defs/sgtcon +119 -0
  910. data/dev/defs/sgtrfs +193 -0
  911. data/dev/defs/sgtsv +100 -0
  912. data/dev/defs/sgtsvx +275 -0
  913. data/dev/defs/sgttrf +97 -0
  914. data/dev/defs/sgttrs +119 -0
  915. data/dev/defs/sgtts2 +106 -0
  916. data/dev/defs/shgeqz +282 -0
  917. data/dev/defs/shsein +234 -0
  918. data/dev/defs/shseqr +279 -0
  919. data/dev/defs/sisnan +29 -0
  920. data/dev/defs/sla_gbamv +152 -0
  921. data/dev/defs/sla_gbrcond +152 -0
  922. data/dev/defs/sla_gbrfsx_extended +391 -0
  923. data/dev/defs/sla_gbrpvgrw +90 -0
  924. data/dev/defs/sla_geamv +142 -0
  925. data/dev/defs/sla_gercond +134 -0
  926. data/dev/defs/sla_gerfsx_extended +376 -0
  927. data/dev/defs/sla_lin_berr +78 -0
  928. data/dev/defs/sla_porcond +122 -0
  929. data/dev/defs/sla_porfsx_extended +363 -0
  930. data/dev/defs/sla_porpvgrw +81 -0
  931. data/dev/defs/sla_rpvgrw +72 -0
  932. data/dev/defs/sla_syamv +142 -0
  933. data/dev/defs/sla_syrcond +131 -0
  934. data/dev/defs/sla_syrfsx_extended +372 -0
  935. data/dev/defs/sla_syrpvgrw +101 -0
  936. data/dev/defs/sla_wwaddw +53 -0
  937. data/dev/defs/slabad +43 -0
  938. data/dev/defs/slabrd +186 -0
  939. data/dev/defs/slacn2 +96 -0
  940. data/dev/defs/slacon +80 -0
  941. data/dev/defs/slacpy +78 -0
  942. data/dev/defs/sladiv +57 -0
  943. data/dev/defs/slae2 +66 -0
  944. data/dev/defs/slaebz +292 -0
  945. data/dev/defs/slaed0 +147 -0
  946. data/dev/defs/slaed1 +141 -0
  947. data/dev/defs/slaed2 +194 -0
  948. data/dev/defs/slaed3 +167 -0
  949. data/dev/defs/slaed4 +113 -0
  950. data/dev/defs/slaed5 +78 -0
  951. data/dev/defs/slaed6 +101 -0
  952. data/dev/defs/slaed7 +241 -0
  953. data/dev/defs/slaed8 +227 -0
  954. data/dev/defs/slaed9 +137 -0
  955. data/dev/defs/slaeda +147 -0
  956. data/dev/defs/slaein +141 -0
  957. data/dev/defs/slaev2 +83 -0
  958. data/dev/defs/slaexc +107 -0
  959. data/dev/defs/slag2 +123 -0
  960. data/dev/defs/slag2d +74 -0
  961. data/dev/defs/slags2 +108 -0
  962. data/dev/defs/slagtf +128 -0
  963. data/dev/defs/slagtm +115 -0
  964. data/dev/defs/slagts +135 -0
  965. data/dev/defs/slagv2 +128 -0
  966. data/dev/defs/slahqr +172 -0
  967. data/dev/defs/slahr2 +153 -0
  968. data/dev/defs/slahrd +142 -0
  969. data/dev/defs/slaic1 +101 -0
  970. data/dev/defs/slaln2 +187 -0
  971. data/dev/defs/slals0 +250 -0
  972. data/dev/defs/slalsa +268 -0
  973. data/dev/defs/slalsd +150 -0
  974. data/dev/defs/slamrg +66 -0
  975. data/dev/defs/slaneg +87 -0
  976. data/dev/defs/slangb +93 -0
  977. data/dev/defs/slange +84 -0
  978. data/dev/defs/slangt +77 -0
  979. data/dev/defs/slanhs +78 -0
  980. data/dev/defs/slansb +97 -0
  981. data/dev/defs/slansf +179 -0
  982. data/dev/defs/slansp +83 -0
  983. data/dev/defs/slanst +69 -0
  984. data/dev/defs/slansy +92 -0
  985. data/dev/defs/slantb +108 -0
  986. data/dev/defs/slantp +93 -0
  987. data/dev/defs/slantr +109 -0
  988. data/dev/defs/slanv2 +84 -0
  989. data/dev/defs/slapll +69 -0
  990. data/dev/defs/slapmr +73 -0
  991. data/dev/defs/slapmt +73 -0
  992. data/dev/defs/slapy2 +30 -0
  993. data/dev/defs/slapy3 +34 -0
  994. data/dev/defs/slaqgb +124 -0
  995. data/dev/defs/slaqge +107 -0
  996. data/dev/defs/slaqp2 +115 -0
  997. data/dev/defs/slaqps +146 -0
  998. data/dev/defs/slaqr0 +225 -0
  999. data/dev/defs/slaqr1 +79 -0
  1000. data/dev/defs/slaqr2 +252 -0
  1001. data/dev/defs/slaqr3 +247 -0
  1002. data/dev/defs/slaqr4 +225 -0
  1003. data/dev/defs/slaqr5 +230 -0
  1004. data/dev/defs/slaqsb +105 -0
  1005. data/dev/defs/slaqsp +89 -0
  1006. data/dev/defs/slaqsy +98 -0
  1007. data/dev/defs/slaqtr +134 -0
  1008. data/dev/defs/slar1v +199 -0
  1009. data/dev/defs/slar2v +86 -0
  1010. data/dev/defs/slarf +93 -0
  1011. data/dev/defs/slarfb +139 -0
  1012. data/dev/defs/slarfg +71 -0
  1013. data/dev/defs/slarfgp +69 -0
  1014. data/dev/defs/slarft +133 -0
  1015. data/dev/defs/slarfx +89 -0
  1016. data/dev/defs/slargv +74 -0
  1017. data/dev/defs/slarnv +61 -0
  1018. data/dev/defs/slarra +106 -0
  1019. data/dev/defs/slarrb +167 -0
  1020. data/dev/defs/slarrc +99 -0
  1021. data/dev/defs/slarrd +290 -0
  1022. data/dev/defs/slarre +265 -0
  1023. data/dev/defs/slarrf +165 -0
  1024. data/dev/defs/slarrj +138 -0
  1025. data/dev/defs/slarrk +108 -0
  1026. data/dev/defs/slarrr +62 -0
  1027. data/dev/defs/slarrv +259 -0
  1028. data/dev/defs/slarscl2 +61 -0
  1029. data/dev/defs/slartg +64 -0
  1030. data/dev/defs/slartgp +62 -0
  1031. data/dev/defs/slartgs +57 -0
  1032. data/dev/defs/slartv +82 -0
  1033. data/dev/defs/slaruv +59 -0
  1034. data/dev/defs/slarz +109 -0
  1035. data/dev/defs/slarzb +150 -0
  1036. data/dev/defs/slarzt +151 -0
  1037. data/dev/defs/slas2 +71 -0
  1038. data/dev/defs/slascl +102 -0
  1039. data/dev/defs/slascl2 +61 -0
  1040. data/dev/defs/slasd0 +131 -0
  1041. data/dev/defs/slasd1 +179 -0
  1042. data/dev/defs/slasd2 +254 -0
  1043. data/dev/defs/slasd3 +213 -0
  1044. data/dev/defs/slasd4 +123 -0
  1045. data/dev/defs/slasd5 +88 -0
  1046. data/dev/defs/slasd6 +300 -0
  1047. data/dev/defs/slasd7 +264 -0
  1048. data/dev/defs/slasd8 +144 -0
  1049. data/dev/defs/slasda +275 -0
  1050. data/dev/defs/slasdq +187 -0
  1051. data/dev/defs/slasdt +76 -0
  1052. data/dev/defs/slaset +81 -0
  1053. data/dev/defs/slasq1 +75 -0
  1054. data/dev/defs/slasq2 +73 -0
  1055. data/dev/defs/slasq3 +141 -0
  1056. data/dev/defs/slasq4 +107 -0
  1057. data/dev/defs/slasq5 +100 -0
  1058. data/dev/defs/slasq6 +90 -0
  1059. data/dev/defs/slasr +169 -0
  1060. data/dev/defs/slasrt +53 -0
  1061. data/dev/defs/slassq +68 -0
  1062. data/dev/defs/slasv2 +100 -0
  1063. data/dev/defs/slaswp +81 -0
  1064. data/dev/defs/slasy2 +145 -0
  1065. data/dev/defs/slasyf +126 -0
  1066. data/dev/defs/slatbs +206 -0
  1067. data/dev/defs/slatdf +131 -0
  1068. data/dev/defs/slatps +192 -0
  1069. data/dev/defs/slatrd +168 -0
  1070. data/dev/defs/slatrs +202 -0
  1071. data/dev/defs/slatrz +106 -0
  1072. data/dev/defs/slatzm +123 -0
  1073. data/dev/defs/slauu2 +68 -0
  1074. data/dev/defs/slauum +68 -0
  1075. data/dev/defs/sopgtr +87 -0
  1076. data/dev/defs/sopmtr +120 -0
  1077. data/dev/defs/sorbdb +270 -0
  1078. data/dev/defs/sorcsd +264 -0
  1079. data/dev/defs/sorg2l +85 -0
  1080. data/dev/defs/sorg2r +85 -0
  1081. data/dev/defs/sorgbr +129 -0
  1082. data/dev/defs/sorghr +97 -0
  1083. data/dev/defs/sorgl2 +84 -0
  1084. data/dev/defs/sorglq +100 -0
  1085. data/dev/defs/sorgql +101 -0
  1086. data/dev/defs/sorgqr +101 -0
  1087. data/dev/defs/sorgr2 +85 -0
  1088. data/dev/defs/sorgrq +101 -0
  1089. data/dev/defs/sorgtr +95 -0
  1090. data/dev/defs/sorm2l +130 -0
  1091. data/dev/defs/sorm2r +130 -0
  1092. data/dev/defs/sormbr +176 -0
  1093. data/dev/defs/sormhr +157 -0
  1094. data/dev/defs/sorml2 +130 -0
  1095. data/dev/defs/sormlq +143 -0
  1096. data/dev/defs/sormql +143 -0
  1097. data/dev/defs/sormqr +143 -0
  1098. data/dev/defs/sormr2 +130 -0
  1099. data/dev/defs/sormr3 +152 -0
  1100. data/dev/defs/sormrq +143 -0
  1101. data/dev/defs/sormrz +157 -0
  1102. data/dev/defs/sormtr +152 -0
  1103. data/dev/defs/spbcon +98 -0
  1104. data/dev/defs/spbequ +96 -0
  1105. data/dev/defs/spbrfs +166 -0
  1106. data/dev/defs/spbstf +115 -0
  1107. data/dev/defs/spbsv +136 -0
  1108. data/dev/defs/spbsvx +314 -0
  1109. data/dev/defs/spbtf2 +105 -0
  1110. data/dev/defs/spbtrf +103 -0
  1111. data/dev/defs/spbtrs +98 -0
  1112. data/dev/defs/spftrf +161 -0
  1113. data/dev/defs/spftri +154 -0
  1114. data/dev/defs/spftrs +164 -0
  1115. data/dev/defs/spocon +87 -0
  1116. data/dev/defs/spoequ +80 -0
  1117. data/dev/defs/spoequb +80 -0
  1118. data/dev/defs/sporfs +160 -0
  1119. data/dev/defs/sporfsx +370 -0
  1120. data/dev/defs/sposv +105 -0
  1121. data/dev/defs/sposvx +281 -0
  1122. data/dev/defs/sposvxx +471 -0
  1123. data/dev/defs/spotf2 +75 -0
  1124. data/dev/defs/spotrf +73 -0
  1125. data/dev/defs/spotri +67 -0
  1126. data/dev/defs/spotrs +79 -0
  1127. data/dev/defs/sppcon +85 -0
  1128. data/dev/defs/sppequ +82 -0
  1129. data/dev/defs/spprfs +146 -0
  1130. data/dev/defs/sppsv +115 -0
  1131. data/dev/defs/sppsvx +283 -0
  1132. data/dev/defs/spptrf +81 -0
  1133. data/dev/defs/spptri +58 -0
  1134. data/dev/defs/spptrs +84 -0
  1135. data/dev/defs/spstf2 +108 -0
  1136. data/dev/defs/spstrf +108 -0
  1137. data/dev/defs/sptcon +84 -0
  1138. data/dev/defs/spteqr +117 -0
  1139. data/dev/defs/sptrfs +141 -0
  1140. data/dev/defs/sptsv +89 -0
  1141. data/dev/defs/sptsvx +203 -0
  1142. data/dev/defs/spttrf +59 -0
  1143. data/dev/defs/spttrs +88 -0
  1144. data/dev/defs/sptts2 +77 -0
  1145. data/dev/defs/srscl +49 -0
  1146. data/dev/defs/ssbev +117 -0
  1147. data/dev/defs/ssbevd +169 -0
  1148. data/dev/defs/ssbevx +231 -0
  1149. data/dev/defs/ssbgst +130 -0
  1150. data/dev/defs/ssbgv +156 -0
  1151. data/dev/defs/ssbgvd +206 -0
  1152. data/dev/defs/ssbgvx +259 -0
  1153. data/dev/defs/ssbtrd +132 -0
  1154. data/dev/defs/ssfrk +134 -0
  1155. data/dev/defs/sspcon +92 -0
  1156. data/dev/defs/sspev +103 -0
  1157. data/dev/defs/sspevd +154 -0
  1158. data/dev/defs/sspevx +197 -0
  1159. data/dev/defs/sspgst +80 -0
  1160. data/dev/defs/sspgv +139 -0
  1161. data/dev/defs/sspgvd +188 -0
  1162. data/dev/defs/sspgvx +241 -0
  1163. data/dev/defs/ssprfs +156 -0
  1164. data/dev/defs/sspsv +134 -0
  1165. data/dev/defs/sspsvx +249 -0
  1166. data/dev/defs/ssptrd +118 -0
  1167. data/dev/defs/ssptrf +120 -0
  1168. data/dev/defs/ssptri +77 -0
  1169. data/dev/defs/ssptrs +84 -0
  1170. data/dev/defs/sstebz +229 -0
  1171. data/dev/defs/sstedc +164 -0
  1172. data/dev/defs/sstegr +233 -0
  1173. data/dev/defs/sstein +152 -0
  1174. data/dev/defs/sstemr +285 -0
  1175. data/dev/defs/ssteqr +103 -0
  1176. data/dev/defs/ssterf +54 -0
  1177. data/dev/defs/sstev +88 -0
  1178. data/dev/defs/sstevd +138 -0
  1179. data/dev/defs/sstevr +275 -0
  1180. data/dev/defs/sstevx +193 -0
  1181. data/dev/defs/ssycon +98 -0
  1182. data/dev/defs/ssyconv +90 -0
  1183. data/dev/defs/ssyequb +104 -0
  1184. data/dev/defs/ssyev +104 -0
  1185. data/dev/defs/ssyevd +157 -0
  1186. data/dev/defs/ssyevr +302 -0
  1187. data/dev/defs/ssyevx +218 -0
  1188. data/dev/defs/ssygs2 +96 -0
  1189. data/dev/defs/ssygst +96 -0
  1190. data/dev/defs/ssygv +148 -0
  1191. data/dev/defs/ssygvd +197 -0
  1192. data/dev/defs/ssygvx +263 -0
  1193. data/dev/defs/ssyrfs +170 -0
  1194. data/dev/defs/ssyrfsx +380 -0
  1195. data/dev/defs/ssysv +149 -0
  1196. data/dev/defs/ssysvx +261 -0
  1197. data/dev/defs/ssysvxx +484 -0
  1198. data/dev/defs/ssyswapr +70 -0
  1199. data/dev/defs/ssytd2 +142 -0
  1200. data/dev/defs/ssytf2 +143 -0
  1201. data/dev/defs/ssytrd +162 -0
  1202. data/dev/defs/ssytrf +156 -0
  1203. data/dev/defs/ssytri +83 -0
  1204. data/dev/defs/ssytri2 +110 -0
  1205. data/dev/defs/ssytri2x +90 -0
  1206. data/dev/defs/ssytrs +90 -0
  1207. data/dev/defs/ssytrs2 +97 -0
  1208. data/dev/defs/stbcon +109 -0
  1209. data/dev/defs/stbrfs +164 -0
  1210. data/dev/defs/stbtrs +113 -0
  1211. data/dev/defs/stfsm +243 -0
  1212. data/dev/defs/stftri +163 -0
  1213. data/dev/defs/stfttp +151 -0
  1214. data/dev/defs/stfttr +174 -0
  1215. data/dev/defs/stgevc +265 -0
  1216. data/dev/defs/stgex2 +191 -0
  1217. data/dev/defs/stgexc +190 -0
  1218. data/dev/defs/stgsen +421 -0
  1219. data/dev/defs/stgsja +343 -0
  1220. data/dev/defs/stgsna +354 -0
  1221. data/dev/defs/stgsy2 +252 -0
  1222. data/dev/defs/stgsyl +274 -0
  1223. data/dev/defs/stpcon +95 -0
  1224. data/dev/defs/stprfs +150 -0
  1225. data/dev/defs/stptri +79 -0
  1226. data/dev/defs/stptrs +98 -0
  1227. data/dev/defs/stpttf +151 -0
  1228. data/dev/defs/stpttr +73 -0
  1229. data/dev/defs/strcon +103 -0
  1230. data/dev/defs/strevc +191 -0
  1231. data/dev/defs/strexc +113 -0
  1232. data/dev/defs/strrfs +158 -0
  1233. data/dev/defs/strsen +284 -0
  1234. data/dev/defs/strsna +239 -0
  1235. data/dev/defs/strsyl +133 -0
  1236. data/dev/defs/strti2 +76 -0
  1237. data/dev/defs/strtri +75 -0
  1238. data/dev/defs/strtrs +107 -0
  1239. data/dev/defs/strttf +171 -0
  1240. data/dev/defs/strttp +72 -0
  1241. data/dev/defs/stzrqf +104 -0
  1242. data/dev/defs/stzrzf +128 -0
  1243. data/dev/defs/xerbla +40 -0
  1244. data/dev/defs/xerbla_array +65 -0
  1245. data/dev/defs/zbbcsd +297 -0
  1246. data/dev/defs/zbdsqr +196 -0
  1247. data/dev/defs/zcgesv +176 -0
  1248. data/dev/defs/zcposv +182 -0
  1249. data/dev/defs/zdrscl +49 -0
  1250. data/dev/defs/zgbbrd +174 -0
  1251. data/dev/defs/zgbcon +114 -0
  1252. data/dev/defs/zgbequ +121 -0
  1253. data/dev/defs/zgbequb +128 -0
  1254. data/dev/defs/zgbrfs +182 -0
  1255. data/dev/defs/zgbrfsx +418 -0
  1256. data/dev/defs/zgbsv +134 -0
  1257. data/dev/defs/zgbsvx +356 -0
  1258. data/dev/defs/zgbsvxx +536 -0
  1259. data/dev/defs/zgbtf2 +110 -0
  1260. data/dev/defs/zgbtrf +109 -0
  1261. data/dev/defs/zgbtrs +106 -0
  1262. data/dev/defs/zgebak +95 -0
  1263. data/dev/defs/zgebal +125 -0
  1264. data/dev/defs/zgebd2 +162 -0
  1265. data/dev/defs/zgebrd +178 -0
  1266. data/dev/defs/zgecon +90 -0
  1267. data/dev/defs/zgeequ +107 -0
  1268. data/dev/defs/zgeequb +114 -0
  1269. data/dev/defs/zgees +170 -0
  1270. data/dev/defs/zgeesx +209 -0
  1271. data/dev/defs/zgeev +154 -0
  1272. data/dev/defs/zgeevx +263 -0
  1273. data/dev/defs/zgegs +205 -0
  1274. data/dev/defs/zgegv +261 -0
  1275. data/dev/defs/zgehd2 +115 -0
  1276. data/dev/defs/zgehrd +136 -0
  1277. data/dev/defs/zgelq2 +89 -0
  1278. data/dev/defs/zgelqf +113 -0
  1279. data/dev/defs/zgels +157 -0
  1280. data/dev/defs/zgelsd +211 -0
  1281. data/dev/defs/zgelss +156 -0
  1282. data/dev/defs/zgelsx +155 -0
  1283. data/dev/defs/zgelsy +188 -0
  1284. data/dev/defs/zgeql2 +91 -0
  1285. data/dev/defs/zgeqlf +116 -0
  1286. data/dev/defs/zgeqp3 +127 -0
  1287. data/dev/defs/zgeqpf +118 -0
  1288. data/dev/defs/zgeqr2 +89 -0
  1289. data/dev/defs/zgeqr2p +89 -0
  1290. data/dev/defs/zgeqrf +114 -0
  1291. data/dev/defs/zgeqrfp +114 -0
  1292. data/dev/defs/zgerfs +164 -0
  1293. data/dev/defs/zgerfsx +394 -0
  1294. data/dev/defs/zgerq2 +91 -0
  1295. data/dev/defs/zgerqf +116 -0
  1296. data/dev/defs/zgesc2 +87 -0
  1297. data/dev/defs/zgesdd +203 -0
  1298. data/dev/defs/zgesv +97 -0
  1299. data/dev/defs/zgesvd +195 -0
  1300. data/dev/defs/zgesvx +333 -0
  1301. data/dev/defs/zgesvxx +516 -0
  1302. data/dev/defs/zgetc2 +82 -0
  1303. data/dev/defs/zgetf2 +76 -0
  1304. data/dev/defs/zgetrf +76 -0
  1305. data/dev/defs/zgetri +86 -0
  1306. data/dev/defs/zgetrs +91 -0
  1307. data/dev/defs/zggbak +119 -0
  1308. data/dev/defs/zggbal +144 -0
  1309. data/dev/defs/zgges +247 -0
  1310. data/dev/defs/zggesx +311 -0
  1311. data/dev/defs/zggev +197 -0
  1312. data/dev/defs/zggevx +353 -0
  1313. data/dev/defs/zggglm +160 -0
  1314. data/dev/defs/zgghrd +171 -0
  1315. data/dev/defs/zgglse +157 -0
  1316. data/dev/defs/zggqrf +195 -0
  1317. data/dev/defs/zggrqf +194 -0
  1318. data/dev/defs/zggsvd +324 -0
  1319. data/dev/defs/zggsvp +240 -0
  1320. data/dev/defs/zgtcon +112 -0
  1321. data/dev/defs/zgtrfs +193 -0
  1322. data/dev/defs/zgtsv +97 -0
  1323. data/dev/defs/zgtsvx +275 -0
  1324. data/dev/defs/zgttrf +97 -0
  1325. data/dev/defs/zgttrs +119 -0
  1326. data/dev/defs/zgtts2 +108 -0
  1327. data/dev/defs/zhbev +124 -0
  1328. data/dev/defs/zhbevd +194 -0
  1329. data/dev/defs/zhbevx +234 -0
  1330. data/dev/defs/zhbgst +137 -0
  1331. data/dev/defs/zhbgv +163 -0
  1332. data/dev/defs/zhbgvd +231 -0
  1333. data/dev/defs/zhbgvx +265 -0
  1334. data/dev/defs/zhbtrd +132 -0
  1335. data/dev/defs/zhecon +91 -0
  1336. data/dev/defs/zheequb +87 -0
  1337. data/dev/defs/zheev +111 -0
  1338. data/dev/defs/zheevd +178 -0
  1339. data/dev/defs/zheevr +325 -0
  1340. data/dev/defs/zheevx +225 -0
  1341. data/dev/defs/zhegs2 +96 -0
  1342. data/dev/defs/zhegst +96 -0
  1343. data/dev/defs/zhegv +155 -0
  1344. data/dev/defs/zhegvd +222 -0
  1345. data/dev/defs/zhegvx +270 -0
  1346. data/dev/defs/zherfs +170 -0
  1347. data/dev/defs/zherfsx +380 -0
  1348. data/dev/defs/zhesv +147 -0
  1349. data/dev/defs/zhesvx +261 -0
  1350. data/dev/defs/zhesvxx +478 -0
  1351. data/dev/defs/zhetd2 +143 -0
  1352. data/dev/defs/zhetf2 +141 -0
  1353. data/dev/defs/zhetrd +162 -0
  1354. data/dev/defs/zhetrf +151 -0
  1355. data/dev/defs/zhetri +83 -0
  1356. data/dev/defs/zhetrs +90 -0
  1357. data/dev/defs/zhetrs2 +97 -0
  1358. data/dev/defs/zhfrk +138 -0
  1359. data/dev/defs/zhgeqz +258 -0
  1360. data/dev/defs/zhpcon +85 -0
  1361. data/dev/defs/zhpev +110 -0
  1362. data/dev/defs/zhpevd +180 -0
  1363. data/dev/defs/zhpevx +204 -0
  1364. data/dev/defs/zhpgst +80 -0
  1365. data/dev/defs/zhpgv +145 -0
  1366. data/dev/defs/zhpgvd +221 -0
  1367. data/dev/defs/zhpgvx +247 -0
  1368. data/dev/defs/zhprfs +156 -0
  1369. data/dev/defs/zhpsv +134 -0
  1370. data/dev/defs/zhpsvx +248 -0
  1371. data/dev/defs/zhptrd +118 -0
  1372. data/dev/defs/zhptrf +120 -0
  1373. data/dev/defs/zhptri +77 -0
  1374. data/dev/defs/zhptrs +84 -0
  1375. data/dev/defs/zhsein +217 -0
  1376. data/dev/defs/zhseqr +263 -0
  1377. data/dev/defs/zla_gbamv +154 -0
  1378. data/dev/defs/zla_gbrcond_c +146 -0
  1379. data/dev/defs/zla_gbrcond_x +140 -0
  1380. data/dev/defs/zla_gbrfsx_extended +391 -0
  1381. data/dev/defs/zla_gbrpvgrw +94 -0
  1382. data/dev/defs/zla_geamv +142 -0
  1383. data/dev/defs/zla_gercond_c +128 -0
  1384. data/dev/defs/zla_gercond_x +122 -0
  1385. data/dev/defs/zla_gerfsx_extended +378 -0
  1386. data/dev/defs/zla_heamv +142 -0
  1387. data/dev/defs/zla_hercond_c +125 -0
  1388. data/dev/defs/zla_hercond_x +119 -0
  1389. data/dev/defs/zla_herfsx_extended +375 -0
  1390. data/dev/defs/zla_herpvgrw +105 -0
  1391. data/dev/defs/zla_lin_berr +79 -0
  1392. data/dev/defs/zla_porcond_c +116 -0
  1393. data/dev/defs/zla_porcond_x +110 -0
  1394. data/dev/defs/zla_porfsx_extended +366 -0
  1395. data/dev/defs/zla_porpvgrw +85 -0
  1396. data/dev/defs/zla_rpvgrw +76 -0
  1397. data/dev/defs/zla_syamv +142 -0
  1398. data/dev/defs/zla_syrcond_c +125 -0
  1399. data/dev/defs/zla_syrcond_x +119 -0
  1400. data/dev/defs/zla_syrfsx_extended +375 -0
  1401. data/dev/defs/zla_syrpvgrw +105 -0
  1402. data/dev/defs/zla_wwaddw +53 -0
  1403. data/dev/defs/zlabrd +187 -0
  1404. data/dev/defs/zlacgv +44 -0
  1405. data/dev/defs/zlacn2 +91 -0
  1406. data/dev/defs/zlacon +75 -0
  1407. data/dev/defs/zlacp2 +78 -0
  1408. data/dev/defs/zlacpy +78 -0
  1409. data/dev/defs/zlacrm +88 -0
  1410. data/dev/defs/zlacrt +73 -0
  1411. data/dev/defs/zladiv +37 -0
  1412. data/dev/defs/zlaed0 +121 -0
  1413. data/dev/defs/zlaed7 +237 -0
  1414. data/dev/defs/zlaed8 +211 -0
  1415. data/dev/defs/zlaein +117 -0
  1416. data/dev/defs/zlaesy +81 -0
  1417. data/dev/defs/zlaev2 +83 -0
  1418. data/dev/defs/zlag2c +82 -0
  1419. data/dev/defs/zlags2 +116 -0
  1420. data/dev/defs/zlagtm +115 -0
  1421. data/dev/defs/zlahef +127 -0
  1422. data/dev/defs/zlahqr +159 -0
  1423. data/dev/defs/zlahr2 +153 -0
  1424. data/dev/defs/zlahrd +141 -0
  1425. data/dev/defs/zlaic1 +101 -0
  1426. data/dev/defs/zlals0 +251 -0
  1427. data/dev/defs/zlalsa +267 -0
  1428. data/dev/defs/zlalsd +160 -0
  1429. data/dev/defs/zlangb +92 -0
  1430. data/dev/defs/zlange +84 -0
  1431. data/dev/defs/zlangt +77 -0
  1432. data/dev/defs/zlanhb +99 -0
  1433. data/dev/defs/zlanhe +93 -0
  1434. data/dev/defs/zlanhf +211 -0
  1435. data/dev/defs/zlanhp +85 -0
  1436. data/dev/defs/zlanhs +78 -0
  1437. data/dev/defs/zlanht +69 -0
  1438. data/dev/defs/zlansb +97 -0
  1439. data/dev/defs/zlansp +83 -0
  1440. data/dev/defs/zlansy +92 -0
  1441. data/dev/defs/zlantb +108 -0
  1442. data/dev/defs/zlantp +93 -0
  1443. data/dev/defs/zlantr +109 -0
  1444. data/dev/defs/zlapll +67 -0
  1445. data/dev/defs/zlapmr +73 -0
  1446. data/dev/defs/zlapmt +73 -0
  1447. data/dev/defs/zlaqgb +124 -0
  1448. data/dev/defs/zlaqge +107 -0
  1449. data/dev/defs/zlaqhb +105 -0
  1450. data/dev/defs/zlaqhe +98 -0
  1451. data/dev/defs/zlaqhp +89 -0
  1452. data/dev/defs/zlaqp2 +115 -0
  1453. data/dev/defs/zlaqps +141 -0
  1454. data/dev/defs/zlaqr0 +203 -0
  1455. data/dev/defs/zlaqr1 +66 -0
  1456. data/dev/defs/zlaqr2 +243 -0
  1457. data/dev/defs/zlaqr3 +238 -0
  1458. data/dev/defs/zlaqr4 +203 -0
  1459. data/dev/defs/zlaqr5 +221 -0
  1460. data/dev/defs/zlaqsb +105 -0
  1461. data/dev/defs/zlaqsp +89 -0
  1462. data/dev/defs/zlaqsy +98 -0
  1463. data/dev/defs/zlar1v +199 -0
  1464. data/dev/defs/zlar2v +88 -0
  1465. data/dev/defs/zlarcm +88 -0
  1466. data/dev/defs/zlarf +97 -0
  1467. data/dev/defs/zlarfb +139 -0
  1468. data/dev/defs/zlarfg +71 -0
  1469. data/dev/defs/zlarfgp +69 -0
  1470. data/dev/defs/zlarft +133 -0
  1471. data/dev/defs/zlarfx +88 -0
  1472. data/dev/defs/zlargv +88 -0
  1473. data/dev/defs/zlarnv +63 -0
  1474. data/dev/defs/zlarrv +259 -0
  1475. data/dev/defs/zlarscl2 +61 -0
  1476. data/dev/defs/zlartg +66 -0
  1477. data/dev/defs/zlartv +82 -0
  1478. data/dev/defs/zlarz +111 -0
  1479. data/dev/defs/zlarzb +150 -0
  1480. data/dev/defs/zlarzt +151 -0
  1481. data/dev/defs/zlascl +102 -0
  1482. data/dev/defs/zlascl2 +61 -0
  1483. data/dev/defs/zlaset +77 -0
  1484. data/dev/defs/zlasr +169 -0
  1485. data/dev/defs/zlassq +71 -0
  1486. data/dev/defs/zlaswp +81 -0
  1487. data/dev/defs/zlasyf +127 -0
  1488. data/dev/defs/zlat2c +85 -0
  1489. data/dev/defs/zlatbs +206 -0
  1490. data/dev/defs/zlatdf +133 -0
  1491. data/dev/defs/zlatps +193 -0
  1492. data/dev/defs/zlatrd +168 -0
  1493. data/dev/defs/zlatrs +202 -0
  1494. data/dev/defs/zlatrz +106 -0
  1495. data/dev/defs/zlatzm +124 -0
  1496. data/dev/defs/zlauu2 +68 -0
  1497. data/dev/defs/zlauum +68 -0
  1498. data/dev/defs/zpbcon +99 -0
  1499. data/dev/defs/zpbequ +96 -0
  1500. data/dev/defs/zpbrfs +166 -0
  1501. data/dev/defs/zpbstf +116 -0
  1502. data/dev/defs/zpbsv +136 -0
  1503. data/dev/defs/zpbsvx +314 -0
  1504. data/dev/defs/zpbtf2 +105 -0
  1505. data/dev/defs/zpbtrf +103 -0
  1506. data/dev/defs/zpbtrs +98 -0
  1507. data/dev/defs/zpftrf +182 -0
  1508. data/dev/defs/zpftri +175 -0
  1509. data/dev/defs/zpftrs +185 -0
  1510. data/dev/defs/zpocon +87 -0
  1511. data/dev/defs/zpoequ +80 -0
  1512. data/dev/defs/zpoequb +80 -0
  1513. data/dev/defs/zporfs +160 -0
  1514. data/dev/defs/zporfsx +370 -0
  1515. data/dev/defs/zposv +105 -0
  1516. data/dev/defs/zposvx +281 -0
  1517. data/dev/defs/zposvxx +468 -0
  1518. data/dev/defs/zpotf2 +75 -0
  1519. data/dev/defs/zpotrf +73 -0
  1520. data/dev/defs/zpotri +67 -0
  1521. data/dev/defs/zpotrs +79 -0
  1522. data/dev/defs/zppcon +85 -0
  1523. data/dev/defs/zppequ +82 -0
  1524. data/dev/defs/zpprfs +146 -0
  1525. data/dev/defs/zppsv +115 -0
  1526. data/dev/defs/zppsvx +283 -0
  1527. data/dev/defs/zpptrf +81 -0
  1528. data/dev/defs/zpptri +58 -0
  1529. data/dev/defs/zpptrs +84 -0
  1530. data/dev/defs/zpstf2 +108 -0
  1531. data/dev/defs/zpstrf +108 -0
  1532. data/dev/defs/zptcon +84 -0
  1533. data/dev/defs/zpteqr +116 -0
  1534. data/dev/defs/zptrfs +161 -0
  1535. data/dev/defs/zptsv +89 -0
  1536. data/dev/defs/zptsvx +210 -0
  1537. data/dev/defs/zpttrf +59 -0
  1538. data/dev/defs/zpttrs +98 -0
  1539. data/dev/defs/zptts2 +89 -0
  1540. data/dev/defs/zrot +72 -0
  1541. data/dev/defs/zspcon +85 -0
  1542. data/dev/defs/zspmv +119 -0
  1543. data/dev/defs/zspr +98 -0
  1544. data/dev/defs/zsprfs +156 -0
  1545. data/dev/defs/zspsv +134 -0
  1546. data/dev/defs/zspsvx +248 -0
  1547. data/dev/defs/zsptrf +121 -0
  1548. data/dev/defs/zsptri +77 -0
  1549. data/dev/defs/zsptrs +84 -0
  1550. data/dev/defs/zstedc +192 -0
  1551. data/dev/defs/zstegr +233 -0
  1552. data/dev/defs/zstein +159 -0
  1553. data/dev/defs/zstemr +302 -0
  1554. data/dev/defs/zsteqr +103 -0
  1555. data/dev/defs/zsycon +91 -0
  1556. data/dev/defs/zsyconv +90 -0
  1557. data/dev/defs/zsyequb +104 -0
  1558. data/dev/defs/zsymv +126 -0
  1559. data/dev/defs/zsyr +102 -0
  1560. data/dev/defs/zsyrfs +170 -0
  1561. data/dev/defs/zsyrfsx +380 -0
  1562. data/dev/defs/zsysv +149 -0
  1563. data/dev/defs/zsysvx +261 -0
  1564. data/dev/defs/zsysvxx +482 -0
  1565. data/dev/defs/zsyswapr +70 -0
  1566. data/dev/defs/zsytf2 +140 -0
  1567. data/dev/defs/zsytrf +156 -0
  1568. data/dev/defs/zsytri +83 -0
  1569. data/dev/defs/zsytri2 +111 -0
  1570. data/dev/defs/zsytri2x +90 -0
  1571. data/dev/defs/zsytrs +90 -0
  1572. data/dev/defs/zsytrs2 +97 -0
  1573. data/dev/defs/ztbcon +109 -0
  1574. data/dev/defs/ztbrfs +164 -0
  1575. data/dev/defs/ztbtrs +113 -0
  1576. data/dev/defs/ztfsm +259 -0
  1577. data/dev/defs/ztftri +183 -0
  1578. data/dev/defs/ztfttp +172 -0
  1579. data/dev/defs/ztfttr +182 -0
  1580. data/dev/defs/ztgevc +194 -0
  1581. data/dev/defs/ztgex2 +158 -0
  1582. data/dev/defs/ztgexc +176 -0
  1583. data/dev/defs/ztgsen +406 -0
  1584. data/dev/defs/ztgsja +344 -0
  1585. data/dev/defs/ztgsna +282 -0
  1586. data/dev/defs/ztgsy2 +235 -0
  1587. data/dev/defs/ztgsyl +273 -0
  1588. data/dev/defs/ztpcon +95 -0
  1589. data/dev/defs/ztprfs +150 -0
  1590. data/dev/defs/ztptri +79 -0
  1591. data/dev/defs/ztptrs +98 -0
  1592. data/dev/defs/ztpttf +172 -0
  1593. data/dev/defs/ztpttr +73 -0
  1594. data/dev/defs/ztrcon +103 -0
  1595. data/dev/defs/ztrevc +188 -0
  1596. data/dev/defs/ztrexc +99 -0
  1597. data/dev/defs/ztrrfs +158 -0
  1598. data/dev/defs/ztrsen +234 -0
  1599. data/dev/defs/ztrsna +223 -0
  1600. data/dev/defs/ztrsyl +126 -0
  1601. data/dev/defs/ztrti2 +76 -0
  1602. data/dev/defs/ztrtri +75 -0
  1603. data/dev/defs/ztrtrs +107 -0
  1604. data/dev/defs/ztrttf +181 -0
  1605. data/dev/defs/ztrttp +72 -0
  1606. data/dev/defs/ztzrqf +104 -0
  1607. data/dev/defs/ztzrzf +128 -0
  1608. data/dev/defs/zunbdb +270 -0
  1609. data/dev/defs/zuncsd +283 -0
  1610. data/dev/defs/zung2l +85 -0
  1611. data/dev/defs/zung2r +85 -0
  1612. data/dev/defs/zungbr +129 -0
  1613. data/dev/defs/zunghr +97 -0
  1614. data/dev/defs/zungl2 +84 -0
  1615. data/dev/defs/zunglq +100 -0
  1616. data/dev/defs/zungql +101 -0
  1617. data/dev/defs/zungqr +101 -0
  1618. data/dev/defs/zungr2 +85 -0
  1619. data/dev/defs/zungrq +101 -0
  1620. data/dev/defs/zungtr +95 -0
  1621. data/dev/defs/zunm2l +130 -0
  1622. data/dev/defs/zunm2r +130 -0
  1623. data/dev/defs/zunmbr +177 -0
  1624. data/dev/defs/zunmhr +157 -0
  1625. data/dev/defs/zunml2 +130 -0
  1626. data/dev/defs/zunmlq +143 -0
  1627. data/dev/defs/zunmql +143 -0
  1628. data/dev/defs/zunmqr +143 -0
  1629. data/dev/defs/zunmr2 +130 -0
  1630. data/dev/defs/zunmr3 +152 -0
  1631. data/dev/defs/zunmrq +143 -0
  1632. data/dev/defs/zunmrz +157 -0
  1633. data/dev/defs/zunmtr +152 -0
  1634. data/dev/defs/zupgtr +87 -0
  1635. data/dev/defs/zupmtr +120 -0
  1636. data/dev/make_csrc.rb +857 -0
  1637. data/dev/mkdoc.rb +265 -0
  1638. data/dev/parse.rb +1972 -0
  1639. data/doc/bd.html +16 -0
  1640. data/doc/c.html +36 -0
  1641. data/doc/cbd.html +161 -0
  1642. data/doc/cgb.html +1865 -0
  1643. data/doc/cge.html +5261 -0
  1644. data/doc/cgg.html +2027 -0
  1645. data/doc/cgt.html +711 -0
  1646. data/doc/chb.html +1031 -0
  1647. data/doc/che.html +3165 -0
  1648. data/doc/chg.html +201 -0
  1649. data/doc/chp.html +1696 -0
  1650. data/doc/chs.html +386 -0
  1651. data/doc/cpb.html +994 -0
  1652. data/doc/cpo.html +1520 -0
  1653. data/doc/cpp.html +770 -0
  1654. data/doc/cpt.html +706 -0
  1655. data/doc/csp.html +905 -0
  1656. data/doc/cst.html +742 -0
  1657. data/doc/csy.html +2194 -0
  1658. data/doc/ctb.html +284 -0
  1659. data/doc/ctg.html +1544 -0
  1660. data/doc/ctp.html +553 -0
  1661. data/doc/ctr.html +1281 -0
  1662. data/doc/ctz.html +211 -0
  1663. data/doc/cun.html +2553 -0
  1664. data/doc/cup.html +166 -0
  1665. data/doc/d.html +35 -0
  1666. data/doc/dbd.html +304 -0
  1667. data/doc/ddi.html +87 -0
  1668. data/doc/dgb.html +1857 -0
  1669. data/doc/dge.html +7267 -0
  1670. data/doc/dgg.html +2102 -0
  1671. data/doc/dgt.html +713 -0
  1672. data/doc/dhg.html +225 -0
  1673. data/doc/dhs.html +414 -0
  1674. data/doc/di.html +14 -0
  1675. data/doc/dop.html +166 -0
  1676. data/doc/dor.html +2540 -0
  1677. data/doc/dpb.html +992 -0
  1678. data/doc/dpo.html +1517 -0
  1679. data/doc/dpp.html +770 -0
  1680. data/doc/dpt.html +675 -0
  1681. data/doc/dsb.html +995 -0
  1682. data/doc/dsp.html +1777 -0
  1683. data/doc/dst.html +1422 -0
  1684. data/doc/dsy.html +3433 -0
  1685. data/doc/dtb.html +284 -0
  1686. data/doc/dtg.html +1730 -0
  1687. data/doc/dtp.html +532 -0
  1688. data/doc/dtr.html +1346 -0
  1689. data/doc/dtz.html +211 -0
  1690. data/doc/gb.html +16 -0
  1691. data/doc/ge.html +16 -0
  1692. data/doc/gg.html +16 -0
  1693. data/doc/gt.html +16 -0
  1694. data/doc/hb.html +14 -0
  1695. data/doc/he.html +14 -0
  1696. data/doc/hg.html +16 -0
  1697. data/doc/hp.html +14 -0
  1698. data/doc/hs.html +16 -0
  1699. data/doc/index.html +53 -0
  1700. data/doc/op.html +14 -0
  1701. data/doc/or.html +14 -0
  1702. data/doc/others.html +1142 -0
  1703. data/doc/pb.html +16 -0
  1704. data/doc/po.html +16 -0
  1705. data/doc/pp.html +16 -0
  1706. data/doc/pt.html +16 -0
  1707. data/doc/s.html +35 -0
  1708. data/doc/sb.html +14 -0
  1709. data/doc/sbd.html +303 -0
  1710. data/doc/sdi.html +87 -0
  1711. data/doc/sgb.html +1863 -0
  1712. data/doc/sge.html +7263 -0
  1713. data/doc/sgg.html +2102 -0
  1714. data/doc/sgt.html +713 -0
  1715. data/doc/shg.html +225 -0
  1716. data/doc/shs.html +414 -0
  1717. data/doc/sop.html +166 -0
  1718. data/doc/sor.html +2540 -0
  1719. data/doc/sp.html +16 -0
  1720. data/doc/spb.html +992 -0
  1721. data/doc/spo.html +1520 -0
  1722. data/doc/spp.html +770 -0
  1723. data/doc/spt.html +675 -0
  1724. data/doc/ssb.html +995 -0
  1725. data/doc/ssp.html +1647 -0
  1726. data/doc/sst.html +1423 -0
  1727. data/doc/ssy.html +3438 -0
  1728. data/doc/st.html +16 -0
  1729. data/doc/stb.html +284 -0
  1730. data/doc/stg.html +1729 -0
  1731. data/doc/stp.html +532 -0
  1732. data/doc/str.html +1346 -0
  1733. data/doc/stz.html +211 -0
  1734. data/doc/sy.html +16 -0
  1735. data/doc/tb.html +16 -0
  1736. data/doc/tg.html +16 -0
  1737. data/doc/tp.html +16 -0
  1738. data/doc/tr.html +16 -0
  1739. data/doc/tz.html +16 -0
  1740. data/doc/un.html +14 -0
  1741. data/doc/up.html +14 -0
  1742. data/doc/z.html +36 -0
  1743. data/doc/zbd.html +161 -0
  1744. data/doc/zgb.html +1862 -0
  1745. data/doc/zge.html +5258 -0
  1746. data/doc/zgg.html +2027 -0
  1747. data/doc/zgt.html +711 -0
  1748. data/doc/zhb.html +1031 -0
  1749. data/doc/zhe.html +3162 -0
  1750. data/doc/zhg.html +201 -0
  1751. data/doc/zhp.html +1697 -0
  1752. data/doc/zhs.html +386 -0
  1753. data/doc/zpb.html +994 -0
  1754. data/doc/zpo.html +1517 -0
  1755. data/doc/zpp.html +770 -0
  1756. data/doc/zpt.html +706 -0
  1757. data/doc/zsp.html +905 -0
  1758. data/doc/zst.html +743 -0
  1759. data/doc/zsy.html +2191 -0
  1760. data/doc/ztb.html +284 -0
  1761. data/doc/ztg.html +1544 -0
  1762. data/doc/ztp.html +553 -0
  1763. data/doc/ztr.html +1281 -0
  1764. data/doc/ztz.html +211 -0
  1765. data/doc/zun.html +2553 -0
  1766. data/doc/zup.html +166 -0
  1767. data/ext/cbbcsd.c +279 -0
  1768. data/ext/cbdsqr.c +178 -0
  1769. data/ext/cgbbrd.c +153 -0
  1770. data/ext/cgbcon.c +94 -0
  1771. data/ext/cgbequ.c +94 -0
  1772. data/ext/cgbequb.c +92 -0
  1773. data/ext/cgbrfs.c +157 -0
  1774. data/ext/cgbrfsx.c +245 -0
  1775. data/ext/cgbsv.c +111 -0
  1776. data/ext/cgbsvx.c +282 -0
  1777. data/ext/cgbsvxx.c +285 -0
  1778. data/ext/cgbtf2.c +89 -0
  1779. data/ext/cgbtrf.c +89 -0
  1780. data/ext/cgbtrs.c +107 -0
  1781. data/ext/cgebak.c +97 -0
  1782. data/ext/cgebal.c +87 -0
  1783. data/ext/cgebd2.c +108 -0
  1784. data/ext/cgebrd.c +123 -0
  1785. data/ext/cgecon.c +74 -0
  1786. data/ext/cgeequ.c +84 -0
  1787. data/ext/cgeequb.c +84 -0
  1788. data/ext/cgees.c +138 -0
  1789. data/ext/cgeesx.c +148 -0
  1790. data/ext/cgeev.c +128 -0
  1791. data/ext/cgeevx.c +169 -0
  1792. data/ext/cgegs.c +162 -0
  1793. data/ext/cgegv.c +167 -0
  1794. data/ext/cgehd2.c +88 -0
  1795. data/ext/cgehrd.c +103 -0
  1796. data/ext/cgelq2.c +82 -0
  1797. data/ext/cgelqf.c +99 -0
  1798. data/ext/cgels.c +133 -0
  1799. data/ext/cgelsd.c +150 -0
  1800. data/ext/cgelss.c +147 -0
  1801. data/ext/cgelsx.c +135 -0
  1802. data/ext/cgelsy.c +162 -0
  1803. data/ext/cgeql2.c +84 -0
  1804. data/ext/cgeqlf.c +99 -0
  1805. data/ext/cgeqp3.c +125 -0
  1806. data/ext/cgeqpf.c +110 -0
  1807. data/ext/cgeqr2.c +84 -0
  1808. data/ext/cgeqr2p.c +84 -0
  1809. data/ext/cgeqrf.c +99 -0
  1810. data/ext/cgeqrfp.c +99 -0
  1811. data/ext/cgerfs.c +149 -0
  1812. data/ext/cgerfsx.c +215 -0
  1813. data/ext/cgerq2.c +82 -0
  1814. data/ext/cgerqf.c +99 -0
  1815. data/ext/cgesc2.c +104 -0
  1816. data/ext/cgesdd.c +131 -0
  1817. data/ext/cgesv.c +103 -0
  1818. data/ext/cgesvd.c +142 -0
  1819. data/ext/cgesvx.c +274 -0
  1820. data/ext/cgesvxx.c +277 -0
  1821. data/ext/cgetc2.c +85 -0
  1822. data/ext/cgetf2.c +81 -0
  1823. data/ext/cgetrf.c +81 -0
  1824. data/ext/cgetri.c +99 -0
  1825. data/ext/cgetrs.c +99 -0
  1826. data/ext/cggbak.c +109 -0
  1827. data/ext/cggbal.c +124 -0
  1828. data/ext/cgges.c +188 -0
  1829. data/ext/cggesx.c +226 -0
  1830. data/ext/cggev.c +167 -0
  1831. data/ext/cggevx.c +222 -0
  1832. data/ext/cggglm.c +152 -0
  1833. data/ext/cgghrd.c +163 -0
  1834. data/ext/cgglse.c +167 -0
  1835. data/ext/cggqrf.c +133 -0
  1836. data/ext/cggrqf.c +137 -0
  1837. data/ext/cggsvd.c +180 -0
  1838. data/ext/cggsvp.c +170 -0
  1839. data/ext/cgtcon.c +117 -0
  1840. data/ext/cgtrfs.c +205 -0
  1841. data/ext/cgtsv.c +138 -0
  1842. data/ext/cgtsvx.c +252 -0
  1843. data/ext/cgttrf.c +128 -0
  1844. data/ext/cgttrs.c +133 -0
  1845. data/ext/cgtts2.c +130 -0
  1846. data/ext/chbev.c +106 -0
  1847. data/ext/chbevd.c +154 -0
  1848. data/ext/chbevx.c +156 -0
  1849. data/ext/chbgst.c +116 -0
  1850. data/ext/chbgv.c +136 -0
  1851. data/ext/chbgvd.c +184 -0
  1852. data/ext/chbgvx.c +185 -0
  1853. data/ext/chbtrd.c +126 -0
  1854. data/ext/checon.c +83 -0
  1855. data/ext/cheequb.c +78 -0
  1856. data/ext/cheev.c +106 -0
  1857. data/ext/cheevd.c +139 -0
  1858. data/ext/cheevr.c +186 -0
  1859. data/ext/cheevx.c +156 -0
  1860. data/ext/chegs2.c +91 -0
  1861. data/ext/chegst.c +91 -0
  1862. data/ext/chegv.c +136 -0
  1863. data/ext/chegvd.c +169 -0
  1864. data/ext/chegvx.c +186 -0
  1865. data/ext/cherfs.c +149 -0
  1866. data/ext/cherfsx.c +214 -0
  1867. data/ext/chesv.c +119 -0
  1868. data/ext/chesvx.c +179 -0
  1869. data/ext/chesvxx.c +254 -0
  1870. data/ext/chetd2.c +97 -0
  1871. data/ext/chetf2.c +81 -0
  1872. data/ext/chetrd.c +109 -0
  1873. data/ext/chetrf.c +93 -0
  1874. data/ext/chetri.c +88 -0
  1875. data/ext/chetrs.c +99 -0
  1876. data/ext/chetrs2.c +102 -0
  1877. data/ext/chfrk.c +105 -0
  1878. data/ext/chgeqz.c +204 -0
  1879. data/ext/chla_transtype.c +47 -0
  1880. data/ext/chpcon.c +81 -0
  1881. data/ext/chpev.c +101 -0
  1882. data/ext/chpevd.c +149 -0
  1883. data/ext/chpevx.c +140 -0
  1884. data/ext/chpgst.c +90 -0
  1885. data/ext/chpgv.c +128 -0
  1886. data/ext/chpgvd.c +166 -0
  1887. data/ext/chpgvx.c +166 -0
  1888. data/ext/chprfs.c +145 -0
  1889. data/ext/chpsv.c +106 -0
  1890. data/ext/chpsvx.c +159 -0
  1891. data/ext/chptrd.c +96 -0
  1892. data/ext/chptrf.c +80 -0
  1893. data/ext/chptri.c +85 -0
  1894. data/ext/chptrs.c +97 -0
  1895. data/ext/chsein.c +181 -0
  1896. data/ext/chseqr.c +141 -0
  1897. data/ext/cla_gbamv.c +123 -0
  1898. data/ext/cla_gbrcond_c.c +138 -0
  1899. data/ext/cla_gbrcond_x.c +134 -0
  1900. data/ext/cla_gbrfsx_extended.c +291 -0
  1901. data/ext/cla_gbrpvgrw.c +83 -0
  1902. data/ext/cla_geamv.c +113 -0
  1903. data/ext/cla_gercond_c.c +130 -0
  1904. data/ext/cla_gercond_x.c +126 -0
  1905. data/ext/cla_gerfsx_extended.c +277 -0
  1906. data/ext/cla_heamv.c +112 -0
  1907. data/ext/cla_hercond_c.c +130 -0
  1908. data/ext/cla_hercond_x.c +126 -0
  1909. data/ext/cla_herfsx_extended.c +279 -0
  1910. data/ext/cla_herpvgrw.c +103 -0
  1911. data/ext/cla_lin_berr.c +80 -0
  1912. data/ext/cla_porcond_c.c +118 -0
  1913. data/ext/cla_porcond_x.c +114 -0
  1914. data/ext/cla_porfsx_extended.c +267 -0
  1915. data/ext/cla_porpvgrw.c +91 -0
  1916. data/ext/cla_rpvgrw.c +75 -0
  1917. data/ext/cla_syamv.c +111 -0
  1918. data/ext/cla_syrcond_c.c +130 -0
  1919. data/ext/cla_syrcond_x.c +126 -0
  1920. data/ext/cla_syrfsx_extended.c +279 -0
  1921. data/ext/cla_syrpvgrw.c +103 -0
  1922. data/ext/cla_wwaddw.c +98 -0
  1923. data/ext/clabrd.c +128 -0
  1924. data/ext/clacgv.c +71 -0
  1925. data/ext/clacn2.c +99 -0
  1926. data/ext/clacon.c +76 -0
  1927. data/ext/clacp2.c +73 -0
  1928. data/ext/clacpy.c +73 -0
  1929. data/ext/clacrm.c +86 -0
  1930. data/ext/clacrt.c +104 -0
  1931. data/ext/cladiv.c +53 -0
  1932. data/ext/claed0.c +130 -0
  1933. data/ext/claed7.c +243 -0
  1934. data/ext/claed8.c +194 -0
  1935. data/ext/claein.c +109 -0
  1936. data/ext/claesy.c +70 -0
  1937. data/ext/claev2.c +67 -0
  1938. data/ext/clag2z.c +72 -0
  1939. data/ext/clags2.c +88 -0
  1940. data/ext/clagtm.c +128 -0
  1941. data/ext/clahef.c +93 -0
  1942. data/ext/clahqr.c +131 -0
  1943. data/ext/clahr2.c +108 -0
  1944. data/ext/clahrd.c +108 -0
  1945. data/ext/claic1.c +86 -0
  1946. data/ext/clals0.c +197 -0
  1947. data/ext/clalsa.c +266 -0
  1948. data/ext/clalsd.c +141 -0
  1949. data/ext/clangb.c +72 -0
  1950. data/ext/clange.c +70 -0
  1951. data/ext/clangt.c +83 -0
  1952. data/ext/clanhb.c +74 -0
  1953. data/ext/clanhe.c +68 -0
  1954. data/ext/clanhf.c +76 -0
  1955. data/ext/clanhp.c +70 -0
  1956. data/ext/clanhs.c +66 -0
  1957. data/ext/clanht.c +71 -0
  1958. data/ext/clansb.c +74 -0
  1959. data/ext/clansp.c +70 -0
  1960. data/ext/clansy.c +68 -0
  1961. data/ext/clantb.c +76 -0
  1962. data/ext/clantp.c +76 -0
  1963. data/ext/clantr.c +78 -0
  1964. data/ext/clapll.c +101 -0
  1965. data/ext/clapmr.c +93 -0
  1966. data/ext/clapmt.c +97 -0
  1967. data/ext/claqgb.c +113 -0
  1968. data/ext/claqge.c +105 -0
  1969. data/ext/claqhb.c +93 -0
  1970. data/ext/claqhe.c +93 -0
  1971. data/ext/claqhp.c +90 -0
  1972. data/ext/claqp2.c +154 -0
  1973. data/ext/claqps.c +204 -0
  1974. data/ext/claqr0.c +141 -0
  1975. data/ext/claqr1.c +72 -0
  1976. data/ext/claqr2.c +170 -0
  1977. data/ext/claqr3.c +170 -0
  1978. data/ext/claqr4.c +141 -0
  1979. data/ext/claqr5.c +175 -0
  1980. data/ext/claqsb.c +97 -0
  1981. data/ext/claqsp.c +90 -0
  1982. data/ext/claqsy.c +93 -0
  1983. data/ext/clar1v.c +169 -0
  1984. data/ext/clar2v.c +145 -0
  1985. data/ext/clarcm.c +82 -0
  1986. data/ext/clarf.c +98 -0
  1987. data/ext/clarfb.c +119 -0
  1988. data/ext/clarfg.c +80 -0
  1989. data/ext/clarfgp.c +80 -0
  1990. data/ext/clarft.c +101 -0
  1991. data/ext/clarfx.c +90 -0
  1992. data/ext/clargv.c +110 -0
  1993. data/ext/clarnv.c +79 -0
  1994. data/ext/clarrv.c +267 -0
  1995. data/ext/clarscl2.c +78 -0
  1996. data/ext/clartg.c +59 -0
  1997. data/ext/clartv.c +126 -0
  1998. data/ext/clarz.c +102 -0
  1999. data/ext/clarzb.c +123 -0
  2000. data/ext/clarzt.c +101 -0
  2001. data/ext/clascl.c +93 -0
  2002. data/ext/clascl2.c +78 -0
  2003. data/ext/claset.c +84 -0
  2004. data/ext/clasr.c +106 -0
  2005. data/ext/classq.c +66 -0
  2006. data/ext/claswp.c +90 -0
  2007. data/ext/clasyf.c +93 -0
  2008. data/ext/clatbs.c +126 -0
  2009. data/ext/clatdf.c +115 -0
  2010. data/ext/clatps.c +120 -0
  2011. data/ext/clatrd.c +101 -0
  2012. data/ext/clatrs.c +122 -0
  2013. data/ext/clatrz.c +83 -0
  2014. data/ext/clatzm.c +128 -0
  2015. data/ext/clauu2.c +73 -0
  2016. data/ext/clauum.c +73 -0
  2017. data/ext/cpbcon.c +78 -0
  2018. data/ext/cpbequ.c +79 -0
  2019. data/ext/cpbrfs.c +141 -0
  2020. data/ext/cpbstf.c +77 -0
  2021. data/ext/cpbsv.c +103 -0
  2022. data/ext/cpbsvx.c +197 -0
  2023. data/ext/cpbtf2.c +77 -0
  2024. data/ext/cpbtrf.c +77 -0
  2025. data/ext/cpbtrs.c +91 -0
  2026. data/ext/cpftrf.c +78 -0
  2027. data/ext/cpftri.c +78 -0
  2028. data/ext/cpftrs.c +93 -0
  2029. data/ext/cpocon.c +74 -0
  2030. data/ext/cpoequ.c +71 -0
  2031. data/ext/cpoequb.c +71 -0
  2032. data/ext/cporfs.c +137 -0
  2033. data/ext/cporfsx.c +202 -0
  2034. data/ext/cposv.c +99 -0
  2035. data/ext/cposvx.c +193 -0
  2036. data/ext/cposvxx.c +231 -0
  2037. data/ext/cpotf2.c +73 -0
  2038. data/ext/cpotrf.c +73 -0
  2039. data/ext/cpotri.c +73 -0
  2040. data/ext/cpotrs.c +87 -0
  2041. data/ext/cppcon.c +74 -0
  2042. data/ext/cppequ.c +75 -0
  2043. data/ext/cpprfs.c +135 -0
  2044. data/ext/cppsv.c +100 -0
  2045. data/ext/cppsvx.c +187 -0
  2046. data/ext/cpptrf.c +74 -0
  2047. data/ext/cpptri.c +74 -0
  2048. data/ext/cpptrs.c +89 -0
  2049. data/ext/cpstf2.c +91 -0
  2050. data/ext/cpstrf.c +91 -0
  2051. data/ext/cptcon.c +77 -0
  2052. data/ext/cpteqr.c +122 -0
  2053. data/ext/cptrfs.c +157 -0
  2054. data/ext/cptsv.c +115 -0
  2055. data/ext/cptsvx.c +167 -0
  2056. data/ext/cpttrf.c +89 -0
  2057. data/ext/cpttrs.c +97 -0
  2058. data/ext/cptts2.c +94 -0
  2059. data/ext/crot.c +103 -0
  2060. data/ext/cspcon.c +81 -0
  2061. data/ext/cspmv.c +111 -0
  2062. data/ext/cspr.c +92 -0
  2063. data/ext/csprfs.c +145 -0
  2064. data/ext/cspsv.c +106 -0
  2065. data/ext/cspsvx.c +159 -0
  2066. data/ext/csptrf.c +80 -0
  2067. data/ext/csptri.c +85 -0
  2068. data/ext/csptrs.c +97 -0
  2069. data/ext/csrscl.c +75 -0
  2070. data/ext/cstedc.c +173 -0
  2071. data/ext/cstegr.c +184 -0
  2072. data/ext/cstein.c +130 -0
  2073. data/ext/cstemr.c +189 -0
  2074. data/ext/csteqr.c +122 -0
  2075. data/ext/csycon.c +83 -0
  2076. data/ext/csyconv.c +80 -0
  2077. data/ext/csyequb.c +78 -0
  2078. data/ext/csymv.c +111 -0
  2079. data/ext/csyr.c +91 -0
  2080. data/ext/csyrfs.c +149 -0
  2081. data/ext/csyrfsx.c +214 -0
  2082. data/ext/csysv.c +125 -0
  2083. data/ext/csysvx.c +179 -0
  2084. data/ext/csysvxx.c +254 -0
  2085. data/ext/csyswapr.c +78 -0
  2086. data/ext/csytf2.c +81 -0
  2087. data/ext/csytrf.c +93 -0
  2088. data/ext/csytri.c +88 -0
  2089. data/ext/csytri2.c +104 -0
  2090. data/ext/csytri2x.c +92 -0
  2091. data/ext/csytrs.c +99 -0
  2092. data/ext/csytrs2.c +102 -0
  2093. data/ext/ctbcon.c +82 -0
  2094. data/ext/ctbrfs.c +123 -0
  2095. data/ext/ctbtrs.c +99 -0
  2096. data/ext/ctfsm.c +107 -0
  2097. data/ext/ctftri.c +82 -0
  2098. data/ext/ctfttp.c +75 -0
  2099. data/ext/ctfttr.c +76 -0
  2100. data/ext/ctgevc.c +152 -0
  2101. data/ext/ctgex2.c +167 -0
  2102. data/ext/ctgexc.c +168 -0
  2103. data/ext/ctgsen.c +240 -0
  2104. data/ext/ctgsja.c +223 -0
  2105. data/ext/ctgsna.c +160 -0
  2106. data/ext/ctgsy2.c +172 -0
  2107. data/ext/ctgsyl.c +186 -0
  2108. data/ext/ctpcon.c +78 -0
  2109. data/ext/ctprfs.c +119 -0
  2110. data/ext/ctptri.c +78 -0
  2111. data/ext/ctptrs.c +97 -0
  2112. data/ext/ctpttf.c +75 -0
  2113. data/ext/ctpttr.c +72 -0
  2114. data/ext/ctrcon.c +78 -0
  2115. data/ext/ctrevc.c +150 -0
  2116. data/ext/ctrexc.c +107 -0
  2117. data/ext/ctrrfs.c +119 -0
  2118. data/ext/ctrsen.c +150 -0
  2119. data/ext/ctrsna.c +133 -0
  2120. data/ext/ctrsyl.c +112 -0
  2121. data/ext/ctrti2.c +77 -0
  2122. data/ext/ctrtri.c +77 -0
  2123. data/ext/ctrtrs.c +95 -0
  2124. data/ext/ctrttf.c +73 -0
  2125. data/ext/ctrttp.c +69 -0
  2126. data/ext/ctzrqf.c +79 -0
  2127. data/ext/ctzrzf.c +97 -0
  2128. data/ext/cunbdb.c +228 -0
  2129. data/ext/cuncsd.c +200 -0
  2130. data/ext/cung2l.c +88 -0
  2131. data/ext/cung2r.c +88 -0
  2132. data/ext/cungbr.c +111 -0
  2133. data/ext/cunghr.c +107 -0
  2134. data/ext/cungl2.c +86 -0
  2135. data/ext/cunglq.c +103 -0
  2136. data/ext/cungql.c +103 -0
  2137. data/ext/cungqr.c +103 -0
  2138. data/ext/cungr2.c +86 -0
  2139. data/ext/cungrq.c +103 -0
  2140. data/ext/cungtr.c +103 -0
  2141. data/ext/cunm2l.c +110 -0
  2142. data/ext/cunm2r.c +110 -0
  2143. data/ext/cunmbr.c +135 -0
  2144. data/ext/cunmhr.c +129 -0
  2145. data/ext/cunml2.c +106 -0
  2146. data/ext/cunmlq.c +121 -0
  2147. data/ext/cunmql.c +125 -0
  2148. data/ext/cunmqr.c +125 -0
  2149. data/ext/cunmr2.c +106 -0
  2150. data/ext/cunmr3.c +110 -0
  2151. data/ext/cunmrq.c +121 -0
  2152. data/ext/cunmrz.c +125 -0
  2153. data/ext/cunmtr.c +125 -0
  2154. data/ext/cupgtr.c +87 -0
  2155. data/ext/cupmtr.c +112 -0
  2156. data/ext/dbbcsd.c +283 -0
  2157. data/ext/dbdsdc.c +147 -0
  2158. data/ext/dbdsqr.c +178 -0
  2159. data/ext/ddisna.c +71 -0
  2160. data/ext/dgbbrd.c +150 -0
  2161. data/ext/dgbcon.c +94 -0
  2162. data/ext/dgbequ.c +94 -0
  2163. data/ext/dgbequb.c +92 -0
  2164. data/ext/dgbrfs.c +157 -0
  2165. data/ext/dgbrfsx.c +245 -0
  2166. data/ext/dgbsv.c +111 -0
  2167. data/ext/dgbsvx.c +282 -0
  2168. data/ext/dgbsvxx.c +285 -0
  2169. data/ext/dgbtf2.c +89 -0
  2170. data/ext/dgbtrf.c +89 -0
  2171. data/ext/dgbtrs.c +107 -0
  2172. data/ext/dgebak.c +97 -0
  2173. data/ext/dgebal.c +87 -0
  2174. data/ext/dgebd2.c +108 -0
  2175. data/ext/dgebrd.c +123 -0
  2176. data/ext/dgecon.c +74 -0
  2177. data/ext/dgeequ.c +84 -0
  2178. data/ext/dgeequb.c +84 -0
  2179. data/ext/dgees.c +144 -0
  2180. data/ext/dgeesx.c +166 -0
  2181. data/ext/dgeev.c +133 -0
  2182. data/ext/dgeevx.c +177 -0
  2183. data/ext/dgegs.c +167 -0
  2184. data/ext/dgegv.c +167 -0
  2185. data/ext/dgehd2.c +88 -0
  2186. data/ext/dgehrd.c +103 -0
  2187. data/ext/dgejsv.c +155 -0
  2188. data/ext/dgelq2.c +82 -0
  2189. data/ext/dgelqf.c +99 -0
  2190. data/ext/dgels.c +133 -0
  2191. data/ext/dgelsd.c +145 -0
  2192. data/ext/dgelss.c +144 -0
  2193. data/ext/dgelsx.c +132 -0
  2194. data/ext/dgelsy.c +159 -0
  2195. data/ext/dgeql2.c +84 -0
  2196. data/ext/dgeqlf.c +99 -0
  2197. data/ext/dgeqp3.c +122 -0
  2198. data/ext/dgeqpf.c +107 -0
  2199. data/ext/dgeqr2.c +84 -0
  2200. data/ext/dgeqr2p.c +84 -0
  2201. data/ext/dgeqrf.c +99 -0
  2202. data/ext/dgeqrfp.c +99 -0
  2203. data/ext/dgerfs.c +149 -0
  2204. data/ext/dgerfsx.c +215 -0
  2205. data/ext/dgerq2.c +82 -0
  2206. data/ext/dgerqf.c +99 -0
  2207. data/ext/dgesc2.c +104 -0
  2208. data/ext/dgesdd.c +128 -0
  2209. data/ext/dgesv.c +103 -0
  2210. data/ext/dgesvd.c +139 -0
  2211. data/ext/dgesvj.c +152 -0
  2212. data/ext/dgesvx.c +274 -0
  2213. data/ext/dgesvxx.c +277 -0
  2214. data/ext/dgetc2.c +85 -0
  2215. data/ext/dgetf2.c +81 -0
  2216. data/ext/dgetrf.c +81 -0
  2217. data/ext/dgetri.c +99 -0
  2218. data/ext/dgetrs.c +99 -0
  2219. data/ext/dggbak.c +109 -0
  2220. data/ext/dggbal.c +124 -0
  2221. data/ext/dgges.c +194 -0
  2222. data/ext/dggesx.c +227 -0
  2223. data/ext/dggev.c +167 -0
  2224. data/ext/dggevx.c +225 -0
  2225. data/ext/dggglm.c +152 -0
  2226. data/ext/dgghrd.c +163 -0
  2227. data/ext/dgglse.c +167 -0
  2228. data/ext/dggqrf.c +133 -0
  2229. data/ext/dggrqf.c +137 -0
  2230. data/ext/dggsvd.c +177 -0
  2231. data/ext/dggsvp.c +167 -0
  2232. data/ext/dgsvj0.c +178 -0
  2233. data/ext/dgsvj1.c +182 -0
  2234. data/ext/dgtcon.c +120 -0
  2235. data/ext/dgtrfs.c +205 -0
  2236. data/ext/dgtsv.c +138 -0
  2237. data/ext/dgtsvx.c +252 -0
  2238. data/ext/dgttrf.c +128 -0
  2239. data/ext/dgttrs.c +133 -0
  2240. data/ext/dgtts2.c +130 -0
  2241. data/ext/dhgeqz.c +209 -0
  2242. data/ext/dhsein.c +201 -0
  2243. data/ext/dhseqr.c +149 -0
  2244. data/ext/disnan.c +47 -0
  2245. data/ext/dla_gbamv.c +125 -0
  2246. data/ext/dla_gbrcond.c +138 -0
  2247. data/ext/dla_gbrfsx_extended.c +289 -0
  2248. data/ext/dla_gbrpvgrw.c +83 -0
  2249. data/ext/dla_geamv.c +115 -0
  2250. data/ext/dla_gercond.c +130 -0
  2251. data/ext/dla_gerfsx_extended.c +277 -0
  2252. data/ext/dla_lin_berr.c +80 -0
  2253. data/ext/dla_porcond.c +118 -0
  2254. data/ext/dla_porfsx_extended.c +267 -0
  2255. data/ext/dla_porpvgrw.c +91 -0
  2256. data/ext/dla_rpvgrw.c +75 -0
  2257. data/ext/dla_syamv.c +109 -0
  2258. data/ext/dla_syrcond.c +130 -0
  2259. data/ext/dla_syrfsx_extended.c +279 -0
  2260. data/ext/dla_syrpvgrw.c +103 -0
  2261. data/ext/dla_wwaddw.c +98 -0
  2262. data/ext/dlabad.c +50 -0
  2263. data/ext/dlabrd.c +128 -0
  2264. data/ext/dlacn2.c +102 -0
  2265. data/ext/dlacon.c +79 -0
  2266. data/ext/dlacpy.c +73 -0
  2267. data/ext/dladiv.c +62 -0
  2268. data/ext/dlae2.c +58 -0
  2269. data/ext/dlaebz.c +214 -0
  2270. data/ext/dlaed0.c +123 -0
  2271. data/ext/dlaed1.c +129 -0
  2272. data/ext/dlaed2.c +185 -0
  2273. data/ext/dlaed3.c +157 -0
  2274. data/ext/dlaed4.c +86 -0
  2275. data/ext/dlaed5.c +83 -0
  2276. data/ext/dlaed6.c +86 -0
  2277. data/ext/dlaed7.c +244 -0
  2278. data/ext/dlaed8.c +202 -0
  2279. data/ext/dlaed9.c +107 -0
  2280. data/ext/dlaeda.c +156 -0
  2281. data/ext/dlaein.c +139 -0
  2282. data/ext/dlaev2.c +64 -0
  2283. data/ext/dlaexc.c +114 -0
  2284. data/ext/dlag2.c +87 -0
  2285. data/ext/dlag2s.c +72 -0
  2286. data/ext/dlags2.c +86 -0
  2287. data/ext/dlagtf.c +136 -0
  2288. data/ext/dlagtm.c +128 -0
  2289. data/ext/dlagts.c +135 -0
  2290. data/ext/dlagv2.c +128 -0
  2291. data/ext/dlahqr.c +139 -0
  2292. data/ext/dlahr2.c +108 -0
  2293. data/ext/dlahrd.c +108 -0
  2294. data/ext/dlaic1.c +85 -0
  2295. data/ext/dlaln2.c +116 -0
  2296. data/ext/dlals0.c +197 -0
  2297. data/ext/dlalsa.c +266 -0
  2298. data/ext/dlalsd.c +138 -0
  2299. data/ext/dlamrg.c +76 -0
  2300. data/ext/dlaneg.c +79 -0
  2301. data/ext/dlangb.c +74 -0
  2302. data/ext/dlange.c +70 -0
  2303. data/ext/dlangt.c +83 -0
  2304. data/ext/dlanhs.c +66 -0
  2305. data/ext/dlansb.c +74 -0
  2306. data/ext/dlansf.c +76 -0
  2307. data/ext/dlansp.c +72 -0
  2308. data/ext/dlanst.c +71 -0
  2309. data/ext/dlansy.c +70 -0
  2310. data/ext/dlantb.c +78 -0
  2311. data/ext/dlantp.c +76 -0
  2312. data/ext/dlantr.c +78 -0
  2313. data/ext/dlanv2.c +78 -0
  2314. data/ext/dlapll.c +101 -0
  2315. data/ext/dlapmr.c +93 -0
  2316. data/ext/dlapmt.c +97 -0
  2317. data/ext/dlapy2.c +51 -0
  2318. data/ext/dlapy3.c +55 -0
  2319. data/ext/dlaqgb.c +113 -0
  2320. data/ext/dlaqge.c +105 -0
  2321. data/ext/dlaqp2.c +154 -0
  2322. data/ext/dlaqps.c +204 -0
  2323. data/ext/dlaqr0.c +149 -0
  2324. data/ext/dlaqr1.c +78 -0
  2325. data/ext/dlaqr2.c +178 -0
  2326. data/ext/dlaqr3.c +178 -0
  2327. data/ext/dlaqr4.c +149 -0
  2328. data/ext/dlaqr5.c +196 -0
  2329. data/ext/dlaqsb.c +97 -0
  2330. data/ext/dlaqsp.c +90 -0
  2331. data/ext/dlaqsy.c +93 -0
  2332. data/ext/dlaqtr.c +110 -0
  2333. data/ext/dlar1v.c +169 -0
  2334. data/ext/dlar2v.c +145 -0
  2335. data/ext/dlarf.c +97 -0
  2336. data/ext/dlarfb.c +119 -0
  2337. data/ext/dlarfg.c +79 -0
  2338. data/ext/dlarfgp.c +79 -0
  2339. data/ext/dlarft.c +101 -0
  2340. data/ext/dlarfx.c +89 -0
  2341. data/ext/dlargv.c +110 -0
  2342. data/ext/dlarnv.c +79 -0
  2343. data/ext/dlarra.c +120 -0
  2344. data/ext/dlarrb.c +174 -0
  2345. data/ext/dlarrc.c +92 -0
  2346. data/ext/dlarrd.c +186 -0
  2347. data/ext/dlarre.c +217 -0
  2348. data/ext/dlarrf.c +172 -0
  2349. data/ext/dlarrj.c +143 -0
  2350. data/ext/dlarrk.c +93 -0
  2351. data/ext/dlarrr.c +78 -0
  2352. data/ext/dlarrv.c +267 -0
  2353. data/ext/dlarscl2.c +78 -0
  2354. data/ext/dlartg.c +57 -0
  2355. data/ext/dlartgp.c +57 -0
  2356. data/ext/dlartgs.c +58 -0
  2357. data/ext/dlartv.c +126 -0
  2358. data/ext/dlaruv.c +75 -0
  2359. data/ext/dlarz.c +101 -0
  2360. data/ext/dlarzb.c +123 -0
  2361. data/ext/dlarzt.c +101 -0
  2362. data/ext/dlas2.c +58 -0
  2363. data/ext/dlascl.c +93 -0
  2364. data/ext/dlascl2.c +78 -0
  2365. data/ext/dlasd0.c +116 -0
  2366. data/ext/dlasd1.c +158 -0
  2367. data/ext/dlasd2.c +224 -0
  2368. data/ext/dlasd3.c +198 -0
  2369. data/ext/dlasd4.c +89 -0
  2370. data/ext/dlasd5.c +86 -0
  2371. data/ext/dlasd6.c +232 -0
  2372. data/ext/dlasd7.c +221 -0
  2373. data/ext/dlasd8.c +169 -0
  2374. data/ext/dlasda.c +217 -0
  2375. data/ext/dlasdq.c +182 -0
  2376. data/ext/dlasdt.c +78 -0
  2377. data/ext/dlaset.c +82 -0
  2378. data/ext/dlasq1.c +92 -0
  2379. data/ext/dlasq2.c +70 -0
  2380. data/ext/dlasq3.c +134 -0
  2381. data/ext/dlasq4.c +103 -0
  2382. data/ext/dlasq5.c +90 -0
  2383. data/ext/dlasq6.c +82 -0
  2384. data/ext/dlasr.c +106 -0
  2385. data/ext/dlasrt.c +70 -0
  2386. data/ext/dlassq.c +66 -0
  2387. data/ext/dlasv2.c +70 -0
  2388. data/ext/dlaswp.c +90 -0
  2389. data/ext/dlasy2.c +122 -0
  2390. data/ext/dlasyf.c +93 -0
  2391. data/ext/dlat2s.c +72 -0
  2392. data/ext/dlatbs.c +126 -0
  2393. data/ext/dlatdf.c +115 -0
  2394. data/ext/dlatps.c +120 -0
  2395. data/ext/dlatrd.c +101 -0
  2396. data/ext/dlatrs.c +122 -0
  2397. data/ext/dlatrz.c +83 -0
  2398. data/ext/dlatzm.c +127 -0
  2399. data/ext/dlauu2.c +73 -0
  2400. data/ext/dlauum.c +73 -0
  2401. data/ext/dopgtr.c +87 -0
  2402. data/ext/dopmtr.c +112 -0
  2403. data/ext/dorbdb.c +228 -0
  2404. data/ext/dorcsd.c +193 -0
  2405. data/ext/dorg2l.c +88 -0
  2406. data/ext/dorg2r.c +88 -0
  2407. data/ext/dorgbr.c +111 -0
  2408. data/ext/dorghr.c +107 -0
  2409. data/ext/dorgl2.c +86 -0
  2410. data/ext/dorglq.c +103 -0
  2411. data/ext/dorgql.c +103 -0
  2412. data/ext/dorgqr.c +103 -0
  2413. data/ext/dorgr2.c +86 -0
  2414. data/ext/dorgrq.c +103 -0
  2415. data/ext/dorgtr.c +103 -0
  2416. data/ext/dorm2l.c +110 -0
  2417. data/ext/dorm2r.c +110 -0
  2418. data/ext/dormbr.c +135 -0
  2419. data/ext/dormhr.c +129 -0
  2420. data/ext/dorml2.c +106 -0
  2421. data/ext/dormlq.c +121 -0
  2422. data/ext/dormql.c +125 -0
  2423. data/ext/dormqr.c +125 -0
  2424. data/ext/dormr2.c +106 -0
  2425. data/ext/dormr3.c +110 -0
  2426. data/ext/dormrq.c +121 -0
  2427. data/ext/dormrz.c +125 -0
  2428. data/ext/dormtr.c +125 -0
  2429. data/ext/dpbcon.c +78 -0
  2430. data/ext/dpbequ.c +79 -0
  2431. data/ext/dpbrfs.c +141 -0
  2432. data/ext/dpbstf.c +77 -0
  2433. data/ext/dpbsv.c +103 -0
  2434. data/ext/dpbsvx.c +197 -0
  2435. data/ext/dpbtf2.c +77 -0
  2436. data/ext/dpbtrf.c +77 -0
  2437. data/ext/dpbtrs.c +91 -0
  2438. data/ext/dpftrf.c +78 -0
  2439. data/ext/dpftri.c +78 -0
  2440. data/ext/dpftrs.c +93 -0
  2441. data/ext/dpocon.c +74 -0
  2442. data/ext/dpoequ.c +71 -0
  2443. data/ext/dpoequb.c +71 -0
  2444. data/ext/dporfs.c +137 -0
  2445. data/ext/dporfsx.c +202 -0
  2446. data/ext/dposv.c +99 -0
  2447. data/ext/dposvx.c +193 -0
  2448. data/ext/dposvxx.c +231 -0
  2449. data/ext/dpotf2.c +73 -0
  2450. data/ext/dpotrf.c +73 -0
  2451. data/ext/dpotri.c +73 -0
  2452. data/ext/dpotrs.c +87 -0
  2453. data/ext/dppcon.c +74 -0
  2454. data/ext/dppequ.c +75 -0
  2455. data/ext/dpprfs.c +135 -0
  2456. data/ext/dppsv.c +100 -0
  2457. data/ext/dppsvx.c +187 -0
  2458. data/ext/dpptrf.c +74 -0
  2459. data/ext/dpptri.c +74 -0
  2460. data/ext/dpptrs.c +89 -0
  2461. data/ext/dpstf2.c +91 -0
  2462. data/ext/dpstrf.c +91 -0
  2463. data/ext/dptcon.c +77 -0
  2464. data/ext/dpteqr.c +122 -0
  2465. data/ext/dptrfs.c +150 -0
  2466. data/ext/dptsv.c +115 -0
  2467. data/ext/dptsvx.c +164 -0
  2468. data/ext/dpttrf.c +89 -0
  2469. data/ext/dpttrs.c +93 -0
  2470. data/ext/dptts2.c +90 -0
  2471. data/ext/drscl.c +75 -0
  2472. data/ext/dsbev.c +103 -0
  2473. data/ext/dsbevd.c +136 -0
  2474. data/ext/dsbevx.c +153 -0
  2475. data/ext/dsbgst.c +113 -0
  2476. data/ext/dsbgv.c +133 -0
  2477. data/ext/dsbgvd.c +166 -0
  2478. data/ext/dsbgvx.c +193 -0
  2479. data/ext/dsbtrd.c +126 -0
  2480. data/ext/dsfrk.c +105 -0
  2481. data/ext/dsgesv.c +111 -0
  2482. data/ext/dspcon.c +84 -0
  2483. data/ext/dspev.c +98 -0
  2484. data/ext/dspevd.c +131 -0
  2485. data/ext/dspevx.c +137 -0
  2486. data/ext/dspgst.c +90 -0
  2487. data/ext/dspgv.c +125 -0
  2488. data/ext/dspgvd.c +158 -0
  2489. data/ext/dspgvx.c +164 -0
  2490. data/ext/dsposv.c +107 -0
  2491. data/ext/dsprfs.c +145 -0
  2492. data/ext/dspsv.c +106 -0
  2493. data/ext/dspsvx.c +159 -0
  2494. data/ext/dsptrd.c +96 -0
  2495. data/ext/dsptrf.c +80 -0
  2496. data/ext/dsptri.c +85 -0
  2497. data/ext/dsptrs.c +97 -0
  2498. data/ext/dstebz.c +131 -0
  2499. data/ext/dstedc.c +155 -0
  2500. data/ext/dstegr.c +184 -0
  2501. data/ext/dstein.c +130 -0
  2502. data/ext/dstemr.c +189 -0
  2503. data/ext/dsteqr.c +122 -0
  2504. data/ext/dsterf.c +89 -0
  2505. data/ext/dstev.c +107 -0
  2506. data/ext/dstevd.c +140 -0
  2507. data/ext/dstevr.c +184 -0
  2508. data/ext/dstevx.c +154 -0
  2509. data/ext/dsycon.c +86 -0
  2510. data/ext/dsyconv.c +80 -0
  2511. data/ext/dsyequb.c +78 -0
  2512. data/ext/dsyev.c +103 -0
  2513. data/ext/dsyevd.c +121 -0
  2514. data/ext/dsyevr.c +168 -0
  2515. data/ext/dsyevx.c +153 -0
  2516. data/ext/dsygs2.c +91 -0
  2517. data/ext/dsygst.c +91 -0
  2518. data/ext/dsygv.c +133 -0
  2519. data/ext/dsygvd.c +151 -0
  2520. data/ext/dsygvx.c +183 -0
  2521. data/ext/dsyrfs.c +149 -0
  2522. data/ext/dsyrfsx.c +214 -0
  2523. data/ext/dsysv.c +125 -0
  2524. data/ext/dsysvx.c +179 -0
  2525. data/ext/dsysvxx.c +254 -0
  2526. data/ext/dsyswapr.c +78 -0
  2527. data/ext/dsytd2.c +97 -0
  2528. data/ext/dsytf2.c +81 -0
  2529. data/ext/dsytrd.c +109 -0
  2530. data/ext/dsytrf.c +93 -0
  2531. data/ext/dsytri.c +88 -0
  2532. data/ext/dsytri2.c +104 -0
  2533. data/ext/dsytri2x.c +92 -0
  2534. data/ext/dsytrs.c +99 -0
  2535. data/ext/dsytrs2.c +102 -0
  2536. data/ext/dtbcon.c +82 -0
  2537. data/ext/dtbrfs.c +123 -0
  2538. data/ext/dtbtrs.c +99 -0
  2539. data/ext/dtfsm.c +106 -0
  2540. data/ext/dtftri.c +82 -0
  2541. data/ext/dtfttp.c +75 -0
  2542. data/ext/dtfttr.c +76 -0
  2543. data/ext/dtgevc.c +149 -0
  2544. data/ext/dtgex2.c +176 -0
  2545. data/ext/dtgexc.c +183 -0
  2546. data/ext/dtgsen.c +248 -0
  2547. data/ext/dtgsja.c +223 -0
  2548. data/ext/dtgsna.c +160 -0
  2549. data/ext/dtgsy2.c +178 -0
  2550. data/ext/dtgsyl.c +186 -0
  2551. data/ext/dtpcon.c +78 -0
  2552. data/ext/dtprfs.c +119 -0
  2553. data/ext/dtptri.c +78 -0
  2554. data/ext/dtptrs.c +97 -0
  2555. data/ext/dtpttf.c +75 -0
  2556. data/ext/dtpttr.c +72 -0
  2557. data/ext/dtrcon.c +78 -0
  2558. data/ext/dtrevc.c +146 -0
  2559. data/ext/dtrexc.c +112 -0
  2560. data/ext/dtrrfs.c +119 -0
  2561. data/ext/dtrsen.c +165 -0
  2562. data/ext/dtrsna.c +133 -0
  2563. data/ext/dtrsyl.c +112 -0
  2564. data/ext/dtrti2.c +77 -0
  2565. data/ext/dtrtri.c +77 -0
  2566. data/ext/dtrtrs.c +95 -0
  2567. data/ext/dtrttf.c +73 -0
  2568. data/ext/dtrttp.c +69 -0
  2569. data/ext/dtzrqf.c +79 -0
  2570. data/ext/dtzrzf.c +97 -0
  2571. data/ext/dzsum1.c +59 -0
  2572. data/ext/extconf.rb +136 -0
  2573. data/ext/f2c_minimal.h +36 -0
  2574. data/ext/icmax1.c +59 -0
  2575. data/ext/ieeeck.c +55 -0
  2576. data/ext/ilaclc.c +61 -0
  2577. data/ext/ilaclr.c +61 -0
  2578. data/ext/iladiag.c +47 -0
  2579. data/ext/iladlc.c +61 -0
  2580. data/ext/iladlr.c +61 -0
  2581. data/ext/ilaenv.c +71 -0
  2582. data/ext/ilaprec.c +47 -0
  2583. data/ext/ilaslc.c +61 -0
  2584. data/ext/ilaslr.c +61 -0
  2585. data/ext/ilatrans.c +47 -0
  2586. data/ext/ilauplo.c +47 -0
  2587. data/ext/ilaver.c +49 -0
  2588. data/ext/ilazlc.c +61 -0
  2589. data/ext/ilazlr.c +61 -0
  2590. data/ext/iparmq.c +71 -0
  2591. data/ext/izmax1.c +59 -0
  2592. data/ext/lsamen.c +55 -0
  2593. data/ext/rb_lapack.c +3279 -0
  2594. data/ext/rb_lapack.h +18 -0
  2595. data/ext/sbbcsd.c +283 -0
  2596. data/ext/sbdsdc.c +153 -0
  2597. data/ext/sbdsqr.c +178 -0
  2598. data/ext/scsum1.c +59 -0
  2599. data/ext/sdisna.c +71 -0
  2600. data/ext/sgbbrd.c +150 -0
  2601. data/ext/sgbcon.c +94 -0
  2602. data/ext/sgbequ.c +94 -0
  2603. data/ext/sgbequb.c +92 -0
  2604. data/ext/sgbrfs.c +157 -0
  2605. data/ext/sgbrfsx.c +245 -0
  2606. data/ext/sgbsv.c +111 -0
  2607. data/ext/sgbsvx.c +282 -0
  2608. data/ext/sgbsvxx.c +285 -0
  2609. data/ext/sgbtf2.c +89 -0
  2610. data/ext/sgbtrf.c +89 -0
  2611. data/ext/sgbtrs.c +107 -0
  2612. data/ext/sgebak.c +97 -0
  2613. data/ext/sgebal.c +87 -0
  2614. data/ext/sgebd2.c +108 -0
  2615. data/ext/sgebrd.c +123 -0
  2616. data/ext/sgecon.c +74 -0
  2617. data/ext/sgeequ.c +84 -0
  2618. data/ext/sgeequb.c +84 -0
  2619. data/ext/sgees.c +144 -0
  2620. data/ext/sgeesx.c +166 -0
  2621. data/ext/sgeev.c +133 -0
  2622. data/ext/sgeevx.c +177 -0
  2623. data/ext/sgegs.c +167 -0
  2624. data/ext/sgegv.c +167 -0
  2625. data/ext/sgehd2.c +88 -0
  2626. data/ext/sgehrd.c +103 -0
  2627. data/ext/sgejsv.c +155 -0
  2628. data/ext/sgelq2.c +82 -0
  2629. data/ext/sgelqf.c +99 -0
  2630. data/ext/sgels.c +133 -0
  2631. data/ext/sgelsd.c +145 -0
  2632. data/ext/sgelss.c +144 -0
  2633. data/ext/sgelsx.c +132 -0
  2634. data/ext/sgelsy.c +159 -0
  2635. data/ext/sgeql2.c +84 -0
  2636. data/ext/sgeqlf.c +99 -0
  2637. data/ext/sgeqp3.c +122 -0
  2638. data/ext/sgeqpf.c +107 -0
  2639. data/ext/sgeqr2.c +84 -0
  2640. data/ext/sgeqr2p.c +84 -0
  2641. data/ext/sgeqrf.c +99 -0
  2642. data/ext/sgeqrfp.c +99 -0
  2643. data/ext/sgerfs.c +149 -0
  2644. data/ext/sgerfsx.c +215 -0
  2645. data/ext/sgerq2.c +82 -0
  2646. data/ext/sgerqf.c +99 -0
  2647. data/ext/sgesc2.c +104 -0
  2648. data/ext/sgesdd.c +128 -0
  2649. data/ext/sgesv.c +103 -0
  2650. data/ext/sgesvd.c +139 -0
  2651. data/ext/sgesvj.c +152 -0
  2652. data/ext/sgesvx.c +274 -0
  2653. data/ext/sgesvxx.c +277 -0
  2654. data/ext/sgetc2.c +85 -0
  2655. data/ext/sgetf2.c +81 -0
  2656. data/ext/sgetrf.c +81 -0
  2657. data/ext/sgetri.c +99 -0
  2658. data/ext/sgetrs.c +99 -0
  2659. data/ext/sggbak.c +109 -0
  2660. data/ext/sggbal.c +124 -0
  2661. data/ext/sgges.c +194 -0
  2662. data/ext/sggesx.c +227 -0
  2663. data/ext/sggev.c +167 -0
  2664. data/ext/sggevx.c +225 -0
  2665. data/ext/sggglm.c +152 -0
  2666. data/ext/sgghrd.c +163 -0
  2667. data/ext/sgglse.c +167 -0
  2668. data/ext/sggqrf.c +133 -0
  2669. data/ext/sggrqf.c +137 -0
  2670. data/ext/sggsvd.c +177 -0
  2671. data/ext/sggsvp.c +167 -0
  2672. data/ext/sgsvj0.c +178 -0
  2673. data/ext/sgsvj1.c +182 -0
  2674. data/ext/sgtcon.c +120 -0
  2675. data/ext/sgtrfs.c +205 -0
  2676. data/ext/sgtsv.c +138 -0
  2677. data/ext/sgtsvx.c +252 -0
  2678. data/ext/sgttrf.c +128 -0
  2679. data/ext/sgttrs.c +133 -0
  2680. data/ext/sgtts2.c +130 -0
  2681. data/ext/shgeqz.c +209 -0
  2682. data/ext/shsein.c +201 -0
  2683. data/ext/shseqr.c +149 -0
  2684. data/ext/sisnan.c +47 -0
  2685. data/ext/sla_gbamv.c +125 -0
  2686. data/ext/sla_gbrcond.c +138 -0
  2687. data/ext/sla_gbrfsx_extended.c +287 -0
  2688. data/ext/sla_gbrpvgrw.c +83 -0
  2689. data/ext/sla_geamv.c +115 -0
  2690. data/ext/sla_gercond.c +130 -0
  2691. data/ext/sla_gerfsx_extended.c +279 -0
  2692. data/ext/sla_lin_berr.c +80 -0
  2693. data/ext/sla_porcond.c +118 -0
  2694. data/ext/sla_porfsx_extended.c +267 -0
  2695. data/ext/sla_porpvgrw.c +91 -0
  2696. data/ext/sla_rpvgrw.c +75 -0
  2697. data/ext/sla_syamv.c +112 -0
  2698. data/ext/sla_syrcond.c +130 -0
  2699. data/ext/sla_syrfsx_extended.c +279 -0
  2700. data/ext/sla_syrpvgrw.c +103 -0
  2701. data/ext/sla_wwaddw.c +98 -0
  2702. data/ext/slabad.c +50 -0
  2703. data/ext/slabrd.c +128 -0
  2704. data/ext/slacn2.c +102 -0
  2705. data/ext/slacon.c +79 -0
  2706. data/ext/slacpy.c +73 -0
  2707. data/ext/sladiv.c +62 -0
  2708. data/ext/slae2.c +58 -0
  2709. data/ext/slaebz.c +214 -0
  2710. data/ext/slaed0.c +123 -0
  2711. data/ext/slaed1.c +129 -0
  2712. data/ext/slaed2.c +185 -0
  2713. data/ext/slaed3.c +157 -0
  2714. data/ext/slaed4.c +86 -0
  2715. data/ext/slaed5.c +83 -0
  2716. data/ext/slaed6.c +86 -0
  2717. data/ext/slaed7.c +244 -0
  2718. data/ext/slaed8.c +202 -0
  2719. data/ext/slaed9.c +107 -0
  2720. data/ext/slaeda.c +156 -0
  2721. data/ext/slaein.c +139 -0
  2722. data/ext/slaev2.c +64 -0
  2723. data/ext/slaexc.c +114 -0
  2724. data/ext/slag2.c +87 -0
  2725. data/ext/slag2d.c +72 -0
  2726. data/ext/slags2.c +86 -0
  2727. data/ext/slagtf.c +136 -0
  2728. data/ext/slagtm.c +128 -0
  2729. data/ext/slagts.c +135 -0
  2730. data/ext/slagv2.c +128 -0
  2731. data/ext/slahqr.c +139 -0
  2732. data/ext/slahr2.c +108 -0
  2733. data/ext/slahrd.c +110 -0
  2734. data/ext/slaic1.c +85 -0
  2735. data/ext/slaln2.c +116 -0
  2736. data/ext/slals0.c +197 -0
  2737. data/ext/slalsa.c +266 -0
  2738. data/ext/slalsd.c +138 -0
  2739. data/ext/slamrg.c +76 -0
  2740. data/ext/slaneg.c +79 -0
  2741. data/ext/slangb.c +74 -0
  2742. data/ext/slange.c +70 -0
  2743. data/ext/slangt.c +83 -0
  2744. data/ext/slanhs.c +66 -0
  2745. data/ext/slansb.c +74 -0
  2746. data/ext/slansf.c +74 -0
  2747. data/ext/slansp.c +72 -0
  2748. data/ext/slanst.c +71 -0
  2749. data/ext/slansy.c +70 -0
  2750. data/ext/slantb.c +78 -0
  2751. data/ext/slantp.c +76 -0
  2752. data/ext/slantr.c +78 -0
  2753. data/ext/slanv2.c +78 -0
  2754. data/ext/slapll.c +101 -0
  2755. data/ext/slapmr.c +93 -0
  2756. data/ext/slapmt.c +97 -0
  2757. data/ext/slapy2.c +51 -0
  2758. data/ext/slapy3.c +55 -0
  2759. data/ext/slaqgb.c +113 -0
  2760. data/ext/slaqge.c +105 -0
  2761. data/ext/slaqp2.c +154 -0
  2762. data/ext/slaqps.c +204 -0
  2763. data/ext/slaqr0.c +149 -0
  2764. data/ext/slaqr1.c +78 -0
  2765. data/ext/slaqr2.c +178 -0
  2766. data/ext/slaqr3.c +178 -0
  2767. data/ext/slaqr4.c +149 -0
  2768. data/ext/slaqr5.c +196 -0
  2769. data/ext/slaqsb.c +97 -0
  2770. data/ext/slaqsp.c +90 -0
  2771. data/ext/slaqsy.c +93 -0
  2772. data/ext/slaqtr.c +110 -0
  2773. data/ext/slar1v.c +169 -0
  2774. data/ext/slar2v.c +145 -0
  2775. data/ext/slarf.c +97 -0
  2776. data/ext/slarfb.c +119 -0
  2777. data/ext/slarfg.c +79 -0
  2778. data/ext/slarfgp.c +79 -0
  2779. data/ext/slarft.c +101 -0
  2780. data/ext/slarfx.c +89 -0
  2781. data/ext/slargv.c +110 -0
  2782. data/ext/slarnv.c +79 -0
  2783. data/ext/slarra.c +120 -0
  2784. data/ext/slarrb.c +174 -0
  2785. data/ext/slarrc.c +92 -0
  2786. data/ext/slarrd.c +186 -0
  2787. data/ext/slarre.c +217 -0
  2788. data/ext/slarrf.c +172 -0
  2789. data/ext/slarrj.c +143 -0
  2790. data/ext/slarrk.c +93 -0
  2791. data/ext/slarrr.c +78 -0
  2792. data/ext/slarrv.c +267 -0
  2793. data/ext/slarscl2.c +78 -0
  2794. data/ext/slartg.c +57 -0
  2795. data/ext/slartgp.c +57 -0
  2796. data/ext/slartgs.c +58 -0
  2797. data/ext/slartv.c +126 -0
  2798. data/ext/slaruv.c +75 -0
  2799. data/ext/slarz.c +101 -0
  2800. data/ext/slarzb.c +123 -0
  2801. data/ext/slarzt.c +101 -0
  2802. data/ext/slas2.c +58 -0
  2803. data/ext/slascl.c +93 -0
  2804. data/ext/slascl2.c +78 -0
  2805. data/ext/slasd0.c +116 -0
  2806. data/ext/slasd1.c +156 -0
  2807. data/ext/slasd2.c +224 -0
  2808. data/ext/slasd3.c +208 -0
  2809. data/ext/slasd4.c +89 -0
  2810. data/ext/slasd5.c +86 -0
  2811. data/ext/slasd6.c +232 -0
  2812. data/ext/slasd7.c +221 -0
  2813. data/ext/slasd8.c +169 -0
  2814. data/ext/slasda.c +217 -0
  2815. data/ext/slasdq.c +182 -0
  2816. data/ext/slasdt.c +78 -0
  2817. data/ext/slaset.c +82 -0
  2818. data/ext/slasq1.c +92 -0
  2819. data/ext/slasq2.c +70 -0
  2820. data/ext/slasq3.c +134 -0
  2821. data/ext/slasq4.c +103 -0
  2822. data/ext/slasq5.c +90 -0
  2823. data/ext/slasq6.c +82 -0
  2824. data/ext/slasr.c +106 -0
  2825. data/ext/slasrt.c +70 -0
  2826. data/ext/slassq.c +66 -0
  2827. data/ext/slasv2.c +70 -0
  2828. data/ext/slaswp.c +90 -0
  2829. data/ext/slasy2.c +122 -0
  2830. data/ext/slasyf.c +93 -0
  2831. data/ext/slatbs.c +126 -0
  2832. data/ext/slatdf.c +115 -0
  2833. data/ext/slatps.c +120 -0
  2834. data/ext/slatrd.c +101 -0
  2835. data/ext/slatrs.c +122 -0
  2836. data/ext/slatrz.c +83 -0
  2837. data/ext/slatzm.c +127 -0
  2838. data/ext/slauu2.c +73 -0
  2839. data/ext/slauum.c +73 -0
  2840. data/ext/sopgtr.c +87 -0
  2841. data/ext/sopmtr.c +112 -0
  2842. data/ext/sorbdb.c +228 -0
  2843. data/ext/sorcsd.c +193 -0
  2844. data/ext/sorg2l.c +88 -0
  2845. data/ext/sorg2r.c +88 -0
  2846. data/ext/sorgbr.c +111 -0
  2847. data/ext/sorghr.c +107 -0
  2848. data/ext/sorgl2.c +86 -0
  2849. data/ext/sorglq.c +103 -0
  2850. data/ext/sorgql.c +103 -0
  2851. data/ext/sorgqr.c +103 -0
  2852. data/ext/sorgr2.c +86 -0
  2853. data/ext/sorgrq.c +103 -0
  2854. data/ext/sorgtr.c +103 -0
  2855. data/ext/sorm2l.c +110 -0
  2856. data/ext/sorm2r.c +110 -0
  2857. data/ext/sormbr.c +135 -0
  2858. data/ext/sormhr.c +129 -0
  2859. data/ext/sorml2.c +106 -0
  2860. data/ext/sormlq.c +121 -0
  2861. data/ext/sormql.c +125 -0
  2862. data/ext/sormqr.c +125 -0
  2863. data/ext/sormr2.c +106 -0
  2864. data/ext/sormr3.c +110 -0
  2865. data/ext/sormrq.c +121 -0
  2866. data/ext/sormrz.c +125 -0
  2867. data/ext/sormtr.c +125 -0
  2868. data/ext/spbcon.c +78 -0
  2869. data/ext/spbequ.c +79 -0
  2870. data/ext/spbrfs.c +141 -0
  2871. data/ext/spbstf.c +77 -0
  2872. data/ext/spbsv.c +103 -0
  2873. data/ext/spbsvx.c +197 -0
  2874. data/ext/spbtf2.c +77 -0
  2875. data/ext/spbtrf.c +77 -0
  2876. data/ext/spbtrs.c +91 -0
  2877. data/ext/spftrf.c +78 -0
  2878. data/ext/spftri.c +78 -0
  2879. data/ext/spftrs.c +93 -0
  2880. data/ext/spocon.c +74 -0
  2881. data/ext/spoequ.c +71 -0
  2882. data/ext/spoequb.c +71 -0
  2883. data/ext/sporfs.c +137 -0
  2884. data/ext/sporfsx.c +202 -0
  2885. data/ext/sposv.c +99 -0
  2886. data/ext/sposvx.c +193 -0
  2887. data/ext/sposvxx.c +231 -0
  2888. data/ext/spotf2.c +73 -0
  2889. data/ext/spotrf.c +73 -0
  2890. data/ext/spotri.c +73 -0
  2891. data/ext/spotrs.c +87 -0
  2892. data/ext/sppcon.c +74 -0
  2893. data/ext/sppequ.c +75 -0
  2894. data/ext/spprfs.c +135 -0
  2895. data/ext/sppsv.c +100 -0
  2896. data/ext/sppsvx.c +187 -0
  2897. data/ext/spptrf.c +74 -0
  2898. data/ext/spptri.c +74 -0
  2899. data/ext/spptrs.c +89 -0
  2900. data/ext/spstf2.c +91 -0
  2901. data/ext/spstrf.c +91 -0
  2902. data/ext/sptcon.c +77 -0
  2903. data/ext/spteqr.c +122 -0
  2904. data/ext/sptrfs.c +150 -0
  2905. data/ext/sptsv.c +115 -0
  2906. data/ext/sptsvx.c +164 -0
  2907. data/ext/spttrf.c +89 -0
  2908. data/ext/spttrs.c +93 -0
  2909. data/ext/sptts2.c +90 -0
  2910. data/ext/srscl.c +75 -0
  2911. data/ext/ssbev.c +103 -0
  2912. data/ext/ssbevd.c +136 -0
  2913. data/ext/ssbevx.c +153 -0
  2914. data/ext/ssbgst.c +113 -0
  2915. data/ext/ssbgv.c +133 -0
  2916. data/ext/ssbgvd.c +166 -0
  2917. data/ext/ssbgvx.c +193 -0
  2918. data/ext/ssbtrd.c +126 -0
  2919. data/ext/ssfrk.c +105 -0
  2920. data/ext/sspcon.c +84 -0
  2921. data/ext/sspev.c +98 -0
  2922. data/ext/sspevd.c +131 -0
  2923. data/ext/sspevx.c +137 -0
  2924. data/ext/sspgst.c +90 -0
  2925. data/ext/sspgv.c +125 -0
  2926. data/ext/sspgvd.c +158 -0
  2927. data/ext/sspgvx.c +164 -0
  2928. data/ext/ssprfs.c +145 -0
  2929. data/ext/sspsv.c +106 -0
  2930. data/ext/sspsvx.c +159 -0
  2931. data/ext/ssptrd.c +96 -0
  2932. data/ext/ssptrf.c +80 -0
  2933. data/ext/ssptri.c +85 -0
  2934. data/ext/ssptrs.c +97 -0
  2935. data/ext/sstebz.c +131 -0
  2936. data/ext/sstedc.c +155 -0
  2937. data/ext/sstegr.c +184 -0
  2938. data/ext/sstein.c +130 -0
  2939. data/ext/sstemr.c +189 -0
  2940. data/ext/ssteqr.c +122 -0
  2941. data/ext/ssterf.c +89 -0
  2942. data/ext/sstev.c +107 -0
  2943. data/ext/sstevd.c +140 -0
  2944. data/ext/sstevr.c +184 -0
  2945. data/ext/sstevx.c +154 -0
  2946. data/ext/ssycon.c +86 -0
  2947. data/ext/ssyconv.c +80 -0
  2948. data/ext/ssyequb.c +78 -0
  2949. data/ext/ssyev.c +103 -0
  2950. data/ext/ssyevd.c +121 -0
  2951. data/ext/ssyevr.c +168 -0
  2952. data/ext/ssyevx.c +153 -0
  2953. data/ext/ssygs2.c +91 -0
  2954. data/ext/ssygst.c +91 -0
  2955. data/ext/ssygv.c +133 -0
  2956. data/ext/ssygvd.c +151 -0
  2957. data/ext/ssygvx.c +187 -0
  2958. data/ext/ssyrfs.c +149 -0
  2959. data/ext/ssyrfsx.c +214 -0
  2960. data/ext/ssysv.c +125 -0
  2961. data/ext/ssysvx.c +179 -0
  2962. data/ext/ssysvxx.c +254 -0
  2963. data/ext/ssyswapr.c +78 -0
  2964. data/ext/ssytd2.c +97 -0
  2965. data/ext/ssytf2.c +81 -0
  2966. data/ext/ssytrd.c +109 -0
  2967. data/ext/ssytrf.c +93 -0
  2968. data/ext/ssytri.c +88 -0
  2969. data/ext/ssytri2.c +123 -0
  2970. data/ext/ssytri2x.c +92 -0
  2971. data/ext/ssytrs.c +99 -0
  2972. data/ext/ssytrs2.c +102 -0
  2973. data/ext/stbcon.c +82 -0
  2974. data/ext/stbrfs.c +123 -0
  2975. data/ext/stbtrs.c +99 -0
  2976. data/ext/stfsm.c +108 -0
  2977. data/ext/stftri.c +82 -0
  2978. data/ext/stfttp.c +75 -0
  2979. data/ext/stfttr.c +76 -0
  2980. data/ext/stgevc.c +149 -0
  2981. data/ext/stgex2.c +180 -0
  2982. data/ext/stgexc.c +187 -0
  2983. data/ext/stgsen.c +248 -0
  2984. data/ext/stgsja.c +223 -0
  2985. data/ext/stgsna.c +160 -0
  2986. data/ext/stgsy2.c +178 -0
  2987. data/ext/stgsyl.c +186 -0
  2988. data/ext/stpcon.c +78 -0
  2989. data/ext/stprfs.c +119 -0
  2990. data/ext/stptri.c +78 -0
  2991. data/ext/stptrs.c +97 -0
  2992. data/ext/stpttf.c +75 -0
  2993. data/ext/stpttr.c +72 -0
  2994. data/ext/strcon.c +78 -0
  2995. data/ext/strevc.c +146 -0
  2996. data/ext/strexc.c +112 -0
  2997. data/ext/strrfs.c +119 -0
  2998. data/ext/strsen.c +165 -0
  2999. data/ext/strsna.c +133 -0
  3000. data/ext/strsyl.c +112 -0
  3001. data/ext/strti2.c +77 -0
  3002. data/ext/strtri.c +77 -0
  3003. data/ext/strtrs.c +95 -0
  3004. data/ext/strttf.c +73 -0
  3005. data/ext/strttp.c +69 -0
  3006. data/ext/stzrqf.c +79 -0
  3007. data/ext/stzrzf.c +97 -0
  3008. data/ext/xerbla.c +48 -0
  3009. data/ext/xerbla_array.c +49 -0
  3010. data/ext/zbbcsd.c +279 -0
  3011. data/ext/zbdsqr.c +178 -0
  3012. data/ext/zcgesv.c +114 -0
  3013. data/ext/zcposv.c +110 -0
  3014. data/ext/zdrscl.c +75 -0
  3015. data/ext/zgbbrd.c +153 -0
  3016. data/ext/zgbcon.c +94 -0
  3017. data/ext/zgbequ.c +94 -0
  3018. data/ext/zgbequb.c +92 -0
  3019. data/ext/zgbrfs.c +157 -0
  3020. data/ext/zgbrfsx.c +245 -0
  3021. data/ext/zgbsv.c +111 -0
  3022. data/ext/zgbsvx.c +282 -0
  3023. data/ext/zgbsvxx.c +285 -0
  3024. data/ext/zgbtf2.c +89 -0
  3025. data/ext/zgbtrf.c +89 -0
  3026. data/ext/zgbtrs.c +107 -0
  3027. data/ext/zgebak.c +97 -0
  3028. data/ext/zgebal.c +87 -0
  3029. data/ext/zgebd2.c +108 -0
  3030. data/ext/zgebrd.c +123 -0
  3031. data/ext/zgecon.c +74 -0
  3032. data/ext/zgeequ.c +84 -0
  3033. data/ext/zgeequb.c +84 -0
  3034. data/ext/zgees.c +138 -0
  3035. data/ext/zgeesx.c +148 -0
  3036. data/ext/zgeev.c +128 -0
  3037. data/ext/zgeevx.c +169 -0
  3038. data/ext/zgegs.c +162 -0
  3039. data/ext/zgegv.c +167 -0
  3040. data/ext/zgehd2.c +88 -0
  3041. data/ext/zgehrd.c +103 -0
  3042. data/ext/zgelq2.c +82 -0
  3043. data/ext/zgelqf.c +99 -0
  3044. data/ext/zgels.c +133 -0
  3045. data/ext/zgelsd.c +150 -0
  3046. data/ext/zgelss.c +147 -0
  3047. data/ext/zgelsx.c +135 -0
  3048. data/ext/zgelsy.c +162 -0
  3049. data/ext/zgeql2.c +84 -0
  3050. data/ext/zgeqlf.c +99 -0
  3051. data/ext/zgeqp3.c +125 -0
  3052. data/ext/zgeqpf.c +110 -0
  3053. data/ext/zgeqr2.c +84 -0
  3054. data/ext/zgeqr2p.c +84 -0
  3055. data/ext/zgeqrf.c +99 -0
  3056. data/ext/zgeqrfp.c +99 -0
  3057. data/ext/zgerfs.c +149 -0
  3058. data/ext/zgerfsx.c +215 -0
  3059. data/ext/zgerq2.c +82 -0
  3060. data/ext/zgerqf.c +99 -0
  3061. data/ext/zgesc2.c +104 -0
  3062. data/ext/zgesdd.c +131 -0
  3063. data/ext/zgesv.c +103 -0
  3064. data/ext/zgesvd.c +142 -0
  3065. data/ext/zgesvx.c +274 -0
  3066. data/ext/zgesvxx.c +277 -0
  3067. data/ext/zgetc2.c +85 -0
  3068. data/ext/zgetf2.c +81 -0
  3069. data/ext/zgetrf.c +81 -0
  3070. data/ext/zgetri.c +99 -0
  3071. data/ext/zgetrs.c +99 -0
  3072. data/ext/zggbak.c +109 -0
  3073. data/ext/zggbal.c +124 -0
  3074. data/ext/zgges.c +188 -0
  3075. data/ext/zggesx.c +226 -0
  3076. data/ext/zggev.c +167 -0
  3077. data/ext/zggevx.c +222 -0
  3078. data/ext/zggglm.c +152 -0
  3079. data/ext/zgghrd.c +163 -0
  3080. data/ext/zgglse.c +167 -0
  3081. data/ext/zggqrf.c +133 -0
  3082. data/ext/zggrqf.c +137 -0
  3083. data/ext/zggsvd.c +180 -0
  3084. data/ext/zggsvp.c +170 -0
  3085. data/ext/zgtcon.c +117 -0
  3086. data/ext/zgtrfs.c +205 -0
  3087. data/ext/zgtsv.c +138 -0
  3088. data/ext/zgtsvx.c +252 -0
  3089. data/ext/zgttrf.c +128 -0
  3090. data/ext/zgttrs.c +133 -0
  3091. data/ext/zgtts2.c +130 -0
  3092. data/ext/zhbev.c +106 -0
  3093. data/ext/zhbevd.c +154 -0
  3094. data/ext/zhbevx.c +156 -0
  3095. data/ext/zhbgst.c +116 -0
  3096. data/ext/zhbgv.c +136 -0
  3097. data/ext/zhbgvd.c +184 -0
  3098. data/ext/zhbgvx.c +185 -0
  3099. data/ext/zhbtrd.c +126 -0
  3100. data/ext/zhecon.c +83 -0
  3101. data/ext/zheequb.c +78 -0
  3102. data/ext/zheev.c +106 -0
  3103. data/ext/zheevd.c +139 -0
  3104. data/ext/zheevr.c +186 -0
  3105. data/ext/zheevx.c +156 -0
  3106. data/ext/zhegs2.c +91 -0
  3107. data/ext/zhegst.c +91 -0
  3108. data/ext/zhegv.c +136 -0
  3109. data/ext/zhegvd.c +169 -0
  3110. data/ext/zhegvx.c +186 -0
  3111. data/ext/zherfs.c +149 -0
  3112. data/ext/zherfsx.c +214 -0
  3113. data/ext/zhesv.c +119 -0
  3114. data/ext/zhesvx.c +179 -0
  3115. data/ext/zhesvxx.c +254 -0
  3116. data/ext/zhetd2.c +97 -0
  3117. data/ext/zhetf2.c +81 -0
  3118. data/ext/zhetrd.c +109 -0
  3119. data/ext/zhetrf.c +93 -0
  3120. data/ext/zhetri.c +88 -0
  3121. data/ext/zhetrs.c +99 -0
  3122. data/ext/zhetrs2.c +102 -0
  3123. data/ext/zhfrk.c +105 -0
  3124. data/ext/zhgeqz.c +204 -0
  3125. data/ext/zhpcon.c +81 -0
  3126. data/ext/zhpev.c +101 -0
  3127. data/ext/zhpevd.c +149 -0
  3128. data/ext/zhpevx.c +140 -0
  3129. data/ext/zhpgst.c +90 -0
  3130. data/ext/zhpgv.c +128 -0
  3131. data/ext/zhpgvd.c +166 -0
  3132. data/ext/zhpgvx.c +166 -0
  3133. data/ext/zhprfs.c +145 -0
  3134. data/ext/zhpsv.c +106 -0
  3135. data/ext/zhpsvx.c +159 -0
  3136. data/ext/zhptrd.c +96 -0
  3137. data/ext/zhptrf.c +80 -0
  3138. data/ext/zhptri.c +85 -0
  3139. data/ext/zhptrs.c +97 -0
  3140. data/ext/zhsein.c +181 -0
  3141. data/ext/zhseqr.c +141 -0
  3142. data/ext/zla_gbamv.c +123 -0
  3143. data/ext/zla_gbrcond_c.c +138 -0
  3144. data/ext/zla_gbrcond_x.c +134 -0
  3145. data/ext/zla_gbrfsx_extended.c +291 -0
  3146. data/ext/zla_gbrpvgrw.c +83 -0
  3147. data/ext/zla_geamv.c +115 -0
  3148. data/ext/zla_gercond_c.c +130 -0
  3149. data/ext/zla_gercond_x.c +126 -0
  3150. data/ext/zla_gerfsx_extended.c +277 -0
  3151. data/ext/zla_heamv.c +112 -0
  3152. data/ext/zla_hercond_c.c +130 -0
  3153. data/ext/zla_hercond_x.c +126 -0
  3154. data/ext/zla_herfsx_extended.c +279 -0
  3155. data/ext/zla_herpvgrw.c +103 -0
  3156. data/ext/zla_lin_berr.c +80 -0
  3157. data/ext/zla_porcond_c.c +118 -0
  3158. data/ext/zla_porcond_x.c +114 -0
  3159. data/ext/zla_porfsx_extended.c +267 -0
  3160. data/ext/zla_porpvgrw.c +91 -0
  3161. data/ext/zla_rpvgrw.c +75 -0
  3162. data/ext/zla_syamv.c +112 -0
  3163. data/ext/zla_syrcond_c.c +130 -0
  3164. data/ext/zla_syrcond_x.c +126 -0
  3165. data/ext/zla_syrfsx_extended.c +279 -0
  3166. data/ext/zla_syrpvgrw.c +103 -0
  3167. data/ext/zla_wwaddw.c +98 -0
  3168. data/ext/zlabrd.c +128 -0
  3169. data/ext/zlacgv.c +71 -0
  3170. data/ext/zlacn2.c +99 -0
  3171. data/ext/zlacon.c +76 -0
  3172. data/ext/zlacp2.c +73 -0
  3173. data/ext/zlacpy.c +73 -0
  3174. data/ext/zlacrm.c +86 -0
  3175. data/ext/zlacrt.c +104 -0
  3176. data/ext/zladiv.c +53 -0
  3177. data/ext/zlaed0.c +130 -0
  3178. data/ext/zlaed7.c +243 -0
  3179. data/ext/zlaed8.c +194 -0
  3180. data/ext/zlaein.c +109 -0
  3181. data/ext/zlaesy.c +70 -0
  3182. data/ext/zlaev2.c +67 -0
  3183. data/ext/zlag2c.c +72 -0
  3184. data/ext/zlags2.c +88 -0
  3185. data/ext/zlagtm.c +128 -0
  3186. data/ext/zlahef.c +93 -0
  3187. data/ext/zlahqr.c +131 -0
  3188. data/ext/zlahr2.c +108 -0
  3189. data/ext/zlahrd.c +108 -0
  3190. data/ext/zlaic1.c +86 -0
  3191. data/ext/zlals0.c +197 -0
  3192. data/ext/zlalsa.c +266 -0
  3193. data/ext/zlalsd.c +141 -0
  3194. data/ext/zlangb.c +72 -0
  3195. data/ext/zlange.c +70 -0
  3196. data/ext/zlangt.c +83 -0
  3197. data/ext/zlanhb.c +74 -0
  3198. data/ext/zlanhe.c +70 -0
  3199. data/ext/zlanhf.c +76 -0
  3200. data/ext/zlanhp.c +72 -0
  3201. data/ext/zlanhs.c +66 -0
  3202. data/ext/zlanht.c +71 -0
  3203. data/ext/zlansb.c +74 -0
  3204. data/ext/zlansp.c +72 -0
  3205. data/ext/zlansy.c +70 -0
  3206. data/ext/zlantb.c +78 -0
  3207. data/ext/zlantp.c +76 -0
  3208. data/ext/zlantr.c +78 -0
  3209. data/ext/zlapll.c +101 -0
  3210. data/ext/zlapmr.c +93 -0
  3211. data/ext/zlapmt.c +97 -0
  3212. data/ext/zlaqgb.c +113 -0
  3213. data/ext/zlaqge.c +105 -0
  3214. data/ext/zlaqhb.c +93 -0
  3215. data/ext/zlaqhe.c +93 -0
  3216. data/ext/zlaqhp.c +90 -0
  3217. data/ext/zlaqp2.c +154 -0
  3218. data/ext/zlaqps.c +204 -0
  3219. data/ext/zlaqr0.c +149 -0
  3220. data/ext/zlaqr1.c +72 -0
  3221. data/ext/zlaqr2.c +170 -0
  3222. data/ext/zlaqr3.c +170 -0
  3223. data/ext/zlaqr4.c +143 -0
  3224. data/ext/zlaqr5.c +175 -0
  3225. data/ext/zlaqsb.c +97 -0
  3226. data/ext/zlaqsp.c +90 -0
  3227. data/ext/zlaqsy.c +93 -0
  3228. data/ext/zlar1v.c +169 -0
  3229. data/ext/zlar2v.c +145 -0
  3230. data/ext/zlarcm.c +82 -0
  3231. data/ext/zlarf.c +98 -0
  3232. data/ext/zlarfb.c +119 -0
  3233. data/ext/zlarfg.c +80 -0
  3234. data/ext/zlarfgp.c +80 -0
  3235. data/ext/zlarft.c +101 -0
  3236. data/ext/zlarfx.c +90 -0
  3237. data/ext/zlargv.c +110 -0
  3238. data/ext/zlarnv.c +79 -0
  3239. data/ext/zlarrv.c +267 -0
  3240. data/ext/zlarscl2.c +78 -0
  3241. data/ext/zlartg.c +59 -0
  3242. data/ext/zlartv.c +126 -0
  3243. data/ext/zlarz.c +102 -0
  3244. data/ext/zlarzb.c +123 -0
  3245. data/ext/zlarzt.c +101 -0
  3246. data/ext/zlascl.c +93 -0
  3247. data/ext/zlascl2.c +78 -0
  3248. data/ext/zlaset.c +84 -0
  3249. data/ext/zlasr.c +106 -0
  3250. data/ext/zlassq.c +66 -0
  3251. data/ext/zlaswp.c +90 -0
  3252. data/ext/zlasyf.c +93 -0
  3253. data/ext/zlat2c.c +72 -0
  3254. data/ext/zlatbs.c +126 -0
  3255. data/ext/zlatdf.c +115 -0
  3256. data/ext/zlatps.c +120 -0
  3257. data/ext/zlatrd.c +101 -0
  3258. data/ext/zlatrs.c +122 -0
  3259. data/ext/zlatrz.c +83 -0
  3260. data/ext/zlatzm.c +128 -0
  3261. data/ext/zlauu2.c +73 -0
  3262. data/ext/zlauum.c +73 -0
  3263. data/ext/zpbcon.c +78 -0
  3264. data/ext/zpbequ.c +79 -0
  3265. data/ext/zpbrfs.c +141 -0
  3266. data/ext/zpbstf.c +77 -0
  3267. data/ext/zpbsv.c +103 -0
  3268. data/ext/zpbsvx.c +197 -0
  3269. data/ext/zpbtf2.c +77 -0
  3270. data/ext/zpbtrf.c +77 -0
  3271. data/ext/zpbtrs.c +91 -0
  3272. data/ext/zpftrf.c +78 -0
  3273. data/ext/zpftri.c +78 -0
  3274. data/ext/zpftrs.c +93 -0
  3275. data/ext/zpocon.c +74 -0
  3276. data/ext/zpoequ.c +71 -0
  3277. data/ext/zpoequb.c +71 -0
  3278. data/ext/zporfs.c +137 -0
  3279. data/ext/zporfsx.c +202 -0
  3280. data/ext/zposv.c +99 -0
  3281. data/ext/zposvx.c +193 -0
  3282. data/ext/zposvxx.c +231 -0
  3283. data/ext/zpotf2.c +73 -0
  3284. data/ext/zpotrf.c +73 -0
  3285. data/ext/zpotri.c +73 -0
  3286. data/ext/zpotrs.c +87 -0
  3287. data/ext/zppcon.c +74 -0
  3288. data/ext/zppequ.c +75 -0
  3289. data/ext/zpprfs.c +135 -0
  3290. data/ext/zppsv.c +100 -0
  3291. data/ext/zppsvx.c +187 -0
  3292. data/ext/zpptrf.c +74 -0
  3293. data/ext/zpptri.c +74 -0
  3294. data/ext/zpptrs.c +89 -0
  3295. data/ext/zpstf2.c +91 -0
  3296. data/ext/zpstrf.c +91 -0
  3297. data/ext/zptcon.c +77 -0
  3298. data/ext/zpteqr.c +122 -0
  3299. data/ext/zptrfs.c +157 -0
  3300. data/ext/zptsv.c +119 -0
  3301. data/ext/zptsvx.c +167 -0
  3302. data/ext/zpttrf.c +89 -0
  3303. data/ext/zpttrs.c +97 -0
  3304. data/ext/zptts2.c +94 -0
  3305. data/ext/zrot.c +103 -0
  3306. data/ext/zspcon.c +81 -0
  3307. data/ext/zspmv.c +113 -0
  3308. data/ext/zspr.c +92 -0
  3309. data/ext/zsprfs.c +145 -0
  3310. data/ext/zspsv.c +106 -0
  3311. data/ext/zspsvx.c +159 -0
  3312. data/ext/zsptrf.c +80 -0
  3313. data/ext/zsptri.c +85 -0
  3314. data/ext/zsptrs.c +97 -0
  3315. data/ext/zstedc.c +173 -0
  3316. data/ext/zstegr.c +184 -0
  3317. data/ext/zstein.c +130 -0
  3318. data/ext/zstemr.c +189 -0
  3319. data/ext/zsteqr.c +122 -0
  3320. data/ext/zsycon.c +83 -0
  3321. data/ext/zsyconv.c +80 -0
  3322. data/ext/zsyequb.c +78 -0
  3323. data/ext/zsymv.c +111 -0
  3324. data/ext/zsyr.c +91 -0
  3325. data/ext/zsyrfs.c +149 -0
  3326. data/ext/zsyrfsx.c +214 -0
  3327. data/ext/zsysv.c +125 -0
  3328. data/ext/zsysvx.c +179 -0
  3329. data/ext/zsysvxx.c +254 -0
  3330. data/ext/zsyswapr.c +78 -0
  3331. data/ext/zsytf2.c +81 -0
  3332. data/ext/zsytrf.c +93 -0
  3333. data/ext/zsytri.c +88 -0
  3334. data/ext/zsytri2.c +100 -0
  3335. data/ext/zsytri2x.c +92 -0
  3336. data/ext/zsytrs.c +99 -0
  3337. data/ext/zsytrs2.c +102 -0
  3338. data/ext/ztbcon.c +82 -0
  3339. data/ext/ztbrfs.c +123 -0
  3340. data/ext/ztbtrs.c +99 -0
  3341. data/ext/ztfsm.c +107 -0
  3342. data/ext/ztftri.c +82 -0
  3343. data/ext/ztfttp.c +75 -0
  3344. data/ext/ztfttr.c +76 -0
  3345. data/ext/ztgevc.c +152 -0
  3346. data/ext/ztgex2.c +167 -0
  3347. data/ext/ztgexc.c +168 -0
  3348. data/ext/ztgsen.c +240 -0
  3349. data/ext/ztgsja.c +223 -0
  3350. data/ext/ztgsna.c +160 -0
  3351. data/ext/ztgsy2.c +172 -0
  3352. data/ext/ztgsyl.c +186 -0
  3353. data/ext/ztpcon.c +78 -0
  3354. data/ext/ztprfs.c +119 -0
  3355. data/ext/ztptri.c +78 -0
  3356. data/ext/ztptrs.c +97 -0
  3357. data/ext/ztpttf.c +75 -0
  3358. data/ext/ztpttr.c +72 -0
  3359. data/ext/ztrcon.c +78 -0
  3360. data/ext/ztrevc.c +150 -0
  3361. data/ext/ztrexc.c +107 -0
  3362. data/ext/ztrrfs.c +119 -0
  3363. data/ext/ztrsen.c +150 -0
  3364. data/ext/ztrsna.c +133 -0
  3365. data/ext/ztrsyl.c +112 -0
  3366. data/ext/ztrti2.c +77 -0
  3367. data/ext/ztrtri.c +77 -0
  3368. data/ext/ztrtrs.c +95 -0
  3369. data/ext/ztrttf.c +73 -0
  3370. data/ext/ztrttp.c +69 -0
  3371. data/ext/ztzrqf.c +79 -0
  3372. data/ext/ztzrzf.c +97 -0
  3373. data/ext/zunbdb.c +228 -0
  3374. data/ext/zuncsd.c +200 -0
  3375. data/ext/zung2l.c +88 -0
  3376. data/ext/zung2r.c +88 -0
  3377. data/ext/zungbr.c +111 -0
  3378. data/ext/zunghr.c +107 -0
  3379. data/ext/zungl2.c +86 -0
  3380. data/ext/zunglq.c +103 -0
  3381. data/ext/zungql.c +103 -0
  3382. data/ext/zungqr.c +103 -0
  3383. data/ext/zungr2.c +86 -0
  3384. data/ext/zungrq.c +103 -0
  3385. data/ext/zungtr.c +103 -0
  3386. data/ext/zunm2l.c +110 -0
  3387. data/ext/zunm2r.c +110 -0
  3388. data/ext/zunmbr.c +135 -0
  3389. data/ext/zunmhr.c +129 -0
  3390. data/ext/zunml2.c +106 -0
  3391. data/ext/zunmlq.c +121 -0
  3392. data/ext/zunmql.c +125 -0
  3393. data/ext/zunmqr.c +125 -0
  3394. data/ext/zunmr2.c +106 -0
  3395. data/ext/zunmr3.c +110 -0
  3396. data/ext/zunmrq.c +121 -0
  3397. data/ext/zunmrz.c +125 -0
  3398. data/ext/zunmtr.c +125 -0
  3399. data/ext/zupgtr.c +87 -0
  3400. data/ext/zupmtr.c +112 -0
  3401. data/lib/numru/lapack.rb +51 -0
  3402. data/samples/dsyevr.rb +25 -0
  3403. data/tests/eig/ge/test_gesdd.rb +90 -0
  3404. data/tests/eig/ge/test_gesvd.rb +99 -0
  3405. data/tests/eig/gg/test_ggev.rb +124 -0
  3406. data/tests/eig/gg/test_ggsvd.rb +76 -0
  3407. data/tests/eig/sb/test_sbev.rb +39 -0
  3408. data/tests/lapack_test.rb +50 -0
  3409. data/tests/lin/gb/test_gbsv.rb +46 -0
  3410. data/tests/lin/gb/test_gbsvx.rb +56 -0
  3411. data/tests/lin/ge/test_gels.rb +63 -0
  3412. data/tests/lin/ge/test_gelsd.rb +54 -0
  3413. data/tests/lin/ge/test_gelss.rb +73 -0
  3414. data/tests/lin/ge/test_gelsy.rb +73 -0
  3415. data/tests/lin/ge/test_gesv.rb +43 -0
  3416. data/tests/lin/ge/test_gesvx.rb +52 -0
  3417. data/tests/lin/gt/test_gtsv.rb +39 -0
  3418. data/tests/test_all.rb +7 -0
  3419. metadata +3513 -0
data/doc/di.html ADDED
@@ -0,0 +1,14 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>diagonal routines</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <H1>diagonal routines</H1>
7
+ <UL>
8
+ <LI><A HREF="sdi.html">S: REAL</A></LI>
9
+ <LI><A HREF="ddi.html">D: DOUBLE PRECISION</A></LI>
10
+ </UL>
11
+ <HR />
12
+ <A HREF="index.html">back to index.html</A>
13
+ </BODY>
14
+ </HTML>
data/doc/dop.html ADDED
@@ -0,0 +1,166 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>DOUBLE PRECISION routines for (real) orthogonal, packed storage matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>DOUBLE PRECISION routines for (real) orthogonal, packed storage matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#dopgtr">dopgtr</A></LI>
10
+ <LI><A HREF="#dopmtr">dopmtr</A></LI>
11
+ </UL>
12
+
13
+ <A NAME="dopgtr"></A>
14
+ <H2>dopgtr</H2>
15
+ <PRE>
16
+ USAGE:
17
+ q, info = NumRu::Lapack.dopgtr( uplo, ap, tau, [:usage => usage, :help => help])
18
+
19
+
20
+ FORTRAN MANUAL
21
+ SUBROUTINE DOPGTR( UPLO, N, AP, TAU, Q, LDQ, WORK, INFO )
22
+
23
+ * Purpose
24
+ * =======
25
+ *
26
+ * DOPGTR generates a real orthogonal matrix Q which is defined as the
27
+ * product of n-1 elementary reflectors H(i) of order n, as returned by
28
+ * DSPTRD using packed storage:
29
+ *
30
+ * if UPLO = 'U', Q = H(n-1) . . . H(2) H(1),
31
+ *
32
+ * if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).
33
+ *
34
+
35
+ * Arguments
36
+ * =========
37
+ *
38
+ * UPLO (input) CHARACTER*1
39
+ * = 'U': Upper triangular packed storage used in previous
40
+ * call to DSPTRD;
41
+ * = 'L': Lower triangular packed storage used in previous
42
+ * call to DSPTRD.
43
+ *
44
+ * N (input) INTEGER
45
+ * The order of the matrix Q. N >= 0.
46
+ *
47
+ * AP (input) DOUBLE PRECISION array, dimension (N*(N+1)/2)
48
+ * The vectors which define the elementary reflectors, as
49
+ * returned by DSPTRD.
50
+ *
51
+ * TAU (input) DOUBLE PRECISION array, dimension (N-1)
52
+ * TAU(i) must contain the scalar factor of the elementary
53
+ * reflector H(i), as returned by DSPTRD.
54
+ *
55
+ * Q (output) DOUBLE PRECISION array, dimension (LDQ,N)
56
+ * The N-by-N orthogonal matrix Q.
57
+ *
58
+ * LDQ (input) INTEGER
59
+ * The leading dimension of the array Q. LDQ >= max(1,N).
60
+ *
61
+ * WORK (workspace) DOUBLE PRECISION array, dimension (N-1)
62
+ *
63
+ * INFO (output) INTEGER
64
+ * = 0: successful exit
65
+ * < 0: if INFO = -i, the i-th argument had an illegal value
66
+ *
67
+
68
+ * =====================================================================
69
+ *
70
+
71
+
72
+ </PRE>
73
+ <A HREF="#top">go to the page top</A>
74
+
75
+ <A NAME="dopmtr"></A>
76
+ <H2>dopmtr</H2>
77
+ <PRE>
78
+ USAGE:
79
+ info, c = NumRu::Lapack.dopmtr( side, uplo, trans, m, ap, tau, c, [:usage => usage, :help => help])
80
+
81
+
82
+ FORTRAN MANUAL
83
+ SUBROUTINE DOPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO )
84
+
85
+ * Purpose
86
+ * =======
87
+ *
88
+ * DOPMTR overwrites the general real M-by-N matrix C with
89
+ *
90
+ * SIDE = 'L' SIDE = 'R'
91
+ * TRANS = 'N': Q * C C * Q
92
+ * TRANS = 'T': Q**T * C C * Q**T
93
+ *
94
+ * where Q is a real orthogonal matrix of order nq, with nq = m if
95
+ * SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
96
+ * nq-1 elementary reflectors, as returned by DSPTRD using packed
97
+ * storage:
98
+ *
99
+ * if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
100
+ *
101
+ * if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
102
+ *
103
+
104
+ * Arguments
105
+ * =========
106
+ *
107
+ * SIDE (input) CHARACTER*1
108
+ * = 'L': apply Q or Q**T from the Left;
109
+ * = 'R': apply Q or Q**T from the Right.
110
+ *
111
+ * UPLO (input) CHARACTER*1
112
+ * = 'U': Upper triangular packed storage used in previous
113
+ * call to DSPTRD;
114
+ * = 'L': Lower triangular packed storage used in previous
115
+ * call to DSPTRD.
116
+ *
117
+ * TRANS (input) CHARACTER*1
118
+ * = 'N': No transpose, apply Q;
119
+ * = 'T': Transpose, apply Q**T.
120
+ *
121
+ * M (input) INTEGER
122
+ * The number of rows of the matrix C. M >= 0.
123
+ *
124
+ * N (input) INTEGER
125
+ * The number of columns of the matrix C. N >= 0.
126
+ *
127
+ * AP (input) DOUBLE PRECISION array, dimension
128
+ * (M*(M+1)/2) if SIDE = 'L'
129
+ * (N*(N+1)/2) if SIDE = 'R'
130
+ * The vectors which define the elementary reflectors, as
131
+ * returned by DSPTRD. AP is modified by the routine but
132
+ * restored on exit.
133
+ *
134
+ * TAU (input) DOUBLE PRECISION array, dimension (M-1) if SIDE = 'L'
135
+ * or (N-1) if SIDE = 'R'
136
+ * TAU(i) must contain the scalar factor of the elementary
137
+ * reflector H(i), as returned by DSPTRD.
138
+ *
139
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
140
+ * On entry, the M-by-N matrix C.
141
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
142
+ *
143
+ * LDC (input) INTEGER
144
+ * The leading dimension of the array C. LDC >= max(1,M).
145
+ *
146
+ * WORK (workspace) DOUBLE PRECISION array, dimension
147
+ * (N) if SIDE = 'L'
148
+ * (M) if SIDE = 'R'
149
+ *
150
+ * INFO (output) INTEGER
151
+ * = 0: successful exit
152
+ * < 0: if INFO = -i, the i-th argument had an illegal value
153
+ *
154
+
155
+ * =====================================================================
156
+ *
157
+
158
+
159
+ </PRE>
160
+ <A HREF="#top">go to the page top</A>
161
+
162
+ <HR />
163
+ <A HREF="d.html">back to matrix types</A><BR>
164
+ <A HREF="d.html">back to data types</A>
165
+ </BODY>
166
+ </HTML>
data/doc/dor.html ADDED
@@ -0,0 +1,2540 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>DOUBLE PRECISION routines for (real) orthogonal matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>DOUBLE PRECISION routines for (real) orthogonal matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#dorbdb">dorbdb</A></LI>
10
+ <LI><A HREF="#dorcsd">dorcsd</A></LI>
11
+ <LI><A HREF="#dorg2l">dorg2l</A></LI>
12
+ <LI><A HREF="#dorg2r">dorg2r</A></LI>
13
+ <LI><A HREF="#dorgbr">dorgbr</A></LI>
14
+ <LI><A HREF="#dorghr">dorghr</A></LI>
15
+ <LI><A HREF="#dorgl2">dorgl2</A></LI>
16
+ <LI><A HREF="#dorglq">dorglq</A></LI>
17
+ <LI><A HREF="#dorgql">dorgql</A></LI>
18
+ <LI><A HREF="#dorgqr">dorgqr</A></LI>
19
+ <LI><A HREF="#dorgr2">dorgr2</A></LI>
20
+ <LI><A HREF="#dorgrq">dorgrq</A></LI>
21
+ <LI><A HREF="#dorgtr">dorgtr</A></LI>
22
+ <LI><A HREF="#dorm2l">dorm2l</A></LI>
23
+ <LI><A HREF="#dorm2r">dorm2r</A></LI>
24
+ <LI><A HREF="#dormbr">dormbr</A></LI>
25
+ <LI><A HREF="#dormhr">dormhr</A></LI>
26
+ <LI><A HREF="#dorml2">dorml2</A></LI>
27
+ <LI><A HREF="#dormlq">dormlq</A></LI>
28
+ <LI><A HREF="#dormql">dormql</A></LI>
29
+ <LI><A HREF="#dormqr">dormqr</A></LI>
30
+ <LI><A HREF="#dormr2">dormr2</A></LI>
31
+ <LI><A HREF="#dormr3">dormr3</A></LI>
32
+ <LI><A HREF="#dormrq">dormrq</A></LI>
33
+ <LI><A HREF="#dormrz">dormrz</A></LI>
34
+ <LI><A HREF="#dormtr">dormtr</A></LI>
35
+ </UL>
36
+
37
+ <A NAME="dorbdb"></A>
38
+ <H2>dorbdb</H2>
39
+ <PRE>
40
+ USAGE:
41
+ theta, phi, taup1, taup2, tauq1, tauq2, info, x11, x12, x21, x22 = NumRu::Lapack.dorbdb( trans, signs, m, x11, x12, x21, x22, [:lwork => lwork, :usage => usage, :help => help])
42
+
43
+
44
+ FORTRAN MANUAL
45
+ SUBROUTINE DORBDB( TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21, LDX21, X22, LDX22, THETA, PHI, TAUP1, TAUP2, TAUQ1, TAUQ2, WORK, LWORK, INFO )
46
+
47
+ * Purpose
48
+ * =======
49
+ *
50
+ * DORBDB simultaneously bidiagonalizes the blocks of an M-by-M
51
+ * partitioned orthogonal matrix X:
52
+ *
53
+ * [ B11 | B12 0 0 ]
54
+ * [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**T
55
+ * X = [-----------] = [---------] [----------------] [---------] .
56
+ * [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ]
57
+ * [ 0 | 0 0 I ]
58
+ *
59
+ * X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is
60
+ * not the case, then X must be transposed and/or permuted. This can be
61
+ * done in constant time using the TRANS and SIGNS options. See DORCSD
62
+ * for details.)
63
+ *
64
+ * The orthogonal matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by-
65
+ * (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are
66
+ * represented implicitly by Householder vectors.
67
+ *
68
+ * B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented
69
+ * implicitly by angles THETA, PHI.
70
+ *
71
+
72
+ * Arguments
73
+ * =========
74
+ *
75
+ * TRANS (input) CHARACTER
76
+ * = 'T': X, U1, U2, V1T, and V2T are stored in row-major
77
+ * order;
78
+ * otherwise: X, U1, U2, V1T, and V2T are stored in column-
79
+ * major order.
80
+ *
81
+ * SIGNS (input) CHARACTER
82
+ * = 'O': The lower-left block is made nonpositive (the
83
+ * "other" convention);
84
+ * otherwise: The upper-right block is made nonpositive (the
85
+ * "default" convention).
86
+ *
87
+ * M (input) INTEGER
88
+ * The number of rows and columns in X.
89
+ *
90
+ * P (input) INTEGER
91
+ * The number of rows in X11 and X12. 0 <= P <= M.
92
+ *
93
+ * Q (input) INTEGER
94
+ * The number of columns in X11 and X21. 0 <= Q <=
95
+ * MIN(P,M-P,M-Q).
96
+ *
97
+ * X11 (input/output) DOUBLE PRECISION array, dimension (LDX11,Q)
98
+ * On entry, the top-left block of the orthogonal matrix to be
99
+ * reduced. On exit, the form depends on TRANS:
100
+ * If TRANS = 'N', then
101
+ * the columns of tril(X11) specify reflectors for P1,
102
+ * the rows of triu(X11,1) specify reflectors for Q1;
103
+ * else TRANS = 'T', and
104
+ * the rows of triu(X11) specify reflectors for P1,
105
+ * the columns of tril(X11,-1) specify reflectors for Q1.
106
+ *
107
+ * LDX11 (input) INTEGER
108
+ * The leading dimension of X11. If TRANS = 'N', then LDX11 >=
109
+ * P; else LDX11 >= Q.
110
+ *
111
+ * X12 (input/output) DOUBLE PRECISION array, dimension (LDX12,M-Q)
112
+ * On entry, the top-right block of the orthogonal matrix to
113
+ * be reduced. On exit, the form depends on TRANS:
114
+ * If TRANS = 'N', then
115
+ * the rows of triu(X12) specify the first P reflectors for
116
+ * Q2;
117
+ * else TRANS = 'T', and
118
+ * the columns of tril(X12) specify the first P reflectors
119
+ * for Q2.
120
+ *
121
+ * LDX12 (input) INTEGER
122
+ * The leading dimension of X12. If TRANS = 'N', then LDX12 >=
123
+ * P; else LDX11 >= M-Q.
124
+ *
125
+ * X21 (input/output) DOUBLE PRECISION array, dimension (LDX21,Q)
126
+ * On entry, the bottom-left block of the orthogonal matrix to
127
+ * be reduced. On exit, the form depends on TRANS:
128
+ * If TRANS = 'N', then
129
+ * the columns of tril(X21) specify reflectors for P2;
130
+ * else TRANS = 'T', and
131
+ * the rows of triu(X21) specify reflectors for P2.
132
+ *
133
+ * LDX21 (input) INTEGER
134
+ * The leading dimension of X21. If TRANS = 'N', then LDX21 >=
135
+ * M-P; else LDX21 >= Q.
136
+ *
137
+ * X22 (input/output) DOUBLE PRECISION array, dimension (LDX22,M-Q)
138
+ * On entry, the bottom-right block of the orthogonal matrix to
139
+ * be reduced. On exit, the form depends on TRANS:
140
+ * If TRANS = 'N', then
141
+ * the rows of triu(X22(Q+1:M-P,P+1:M-Q)) specify the last
142
+ * M-P-Q reflectors for Q2,
143
+ * else TRANS = 'T', and
144
+ * the columns of tril(X22(P+1:M-Q,Q+1:M-P)) specify the last
145
+ * M-P-Q reflectors for P2.
146
+ *
147
+ * LDX22 (input) INTEGER
148
+ * The leading dimension of X22. If TRANS = 'N', then LDX22 >=
149
+ * M-P; else LDX22 >= M-Q.
150
+ *
151
+ * THETA (output) DOUBLE PRECISION array, dimension (Q)
152
+ * The entries of the bidiagonal blocks B11, B12, B21, B22 can
153
+ * be computed from the angles THETA and PHI. See Further
154
+ * Details.
155
+ *
156
+ * PHI (output) DOUBLE PRECISION array, dimension (Q-1)
157
+ * The entries of the bidiagonal blocks B11, B12, B21, B22 can
158
+ * be computed from the angles THETA and PHI. See Further
159
+ * Details.
160
+ *
161
+ * TAUP1 (output) DOUBLE PRECISION array, dimension (P)
162
+ * The scalar factors of the elementary reflectors that define
163
+ * P1.
164
+ *
165
+ * TAUP2 (output) DOUBLE PRECISION array, dimension (M-P)
166
+ * The scalar factors of the elementary reflectors that define
167
+ * P2.
168
+ *
169
+ * TAUQ1 (output) DOUBLE PRECISION array, dimension (Q)
170
+ * The scalar factors of the elementary reflectors that define
171
+ * Q1.
172
+ *
173
+ * TAUQ2 (output) DOUBLE PRECISION array, dimension (M-Q)
174
+ * The scalar factors of the elementary reflectors that define
175
+ * Q2.
176
+ *
177
+ * WORK (workspace) DOUBLE PRECISION array, dimension (LWORK)
178
+ *
179
+ * LWORK (input) INTEGER
180
+ * The dimension of the array WORK. LWORK >= M-Q.
181
+ *
182
+ * If LWORK = -1, then a workspace query is assumed; the routine
183
+ * only calculates the optimal size of the WORK array, returns
184
+ * this value as the first entry of the WORK array, and no error
185
+ * message related to LWORK is issued by XERBLA.
186
+ *
187
+ * INFO (output) INTEGER
188
+ * = 0: successful exit.
189
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
190
+ *
191
+
192
+ * Further Details
193
+ * ===============
194
+ *
195
+ * The bidiagonal blocks B11, B12, B21, and B22 are represented
196
+ * implicitly by angles THETA(1), ..., THETA(Q) and PHI(1), ...,
197
+ * PHI(Q-1). B11 and B21 are upper bidiagonal, while B21 and B22 are
198
+ * lower bidiagonal. Every entry in each bidiagonal band is a product
199
+ * of a sine or cosine of a THETA with a sine or cosine of a PHI. See
200
+ * [1] or DORCSD for details.
201
+ *
202
+ * P1, P2, Q1, and Q2 are represented as products of elementary
203
+ * reflectors. See DORCSD for details on generating P1, P2, Q1, and Q2
204
+ * using DORGQR and DORGLQ.
205
+ *
206
+ * Reference
207
+ * =========
208
+ *
209
+ * [1] Brian D. Sutton. Computing the complete CS decomposition. Numer.
210
+ * Algorithms, 50(1):33-65, 2009.
211
+ *
212
+ * ====================================================================
213
+ *
214
+
215
+
216
+ </PRE>
217
+ <A HREF="#top">go to the page top</A>
218
+
219
+ <A NAME="dorcsd"></A>
220
+ <H2>dorcsd</H2>
221
+ <PRE>
222
+ USAGE:
223
+ theta, u1, u2, v1t, v2t, info = NumRu::Lapack.dorcsd( jobu1, jobu2, jobv1t, jobv2t, trans, signs, m, x11, x12, x21, x22, lwork, [:usage => usage, :help => help])
224
+
225
+
226
+ FORTRAN MANUAL
227
+ RECURSIVE SUBROUTINE DORCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21, LDX21, X22, LDX22, THETA, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, WORK, LWORK, IWORK, INFO )
228
+
229
+ * Purpose
230
+ * =======
231
+ *
232
+ * DORCSD computes the CS decomposition of an M-by-M partitioned
233
+ * orthogonal matrix X:
234
+ *
235
+ * [ I 0 0 | 0 0 0 ]
236
+ * [ 0 C 0 | 0 -S 0 ]
237
+ * [ X11 | X12 ] [ U1 | ] [ 0 0 0 | 0 0 -I ] [ V1 | ]**T
238
+ * X = [-----------] = [---------] [---------------------] [---------] .
239
+ * [ X21 | X22 ] [ | U2 ] [ 0 0 0 | I 0 0 ] [ | V2 ]
240
+ * [ 0 S 0 | 0 C 0 ]
241
+ * [ 0 0 I | 0 0 0 ]
242
+ *
243
+ * X11 is P-by-Q. The orthogonal matrices U1, U2, V1, and V2 are P-by-P,
244
+ * (M-P)-by-(M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. C and S are
245
+ * R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in
246
+ * which R = MIN(P,M-P,Q,M-Q).
247
+ *
248
+
249
+ * Arguments
250
+ * =========
251
+ *
252
+ * JOBU1 (input) CHARACTER
253
+ * = 'Y': U1 is computed;
254
+ * otherwise: U1 is not computed.
255
+ *
256
+ * JOBU2 (input) CHARACTER
257
+ * = 'Y': U2 is computed;
258
+ * otherwise: U2 is not computed.
259
+ *
260
+ * JOBV1T (input) CHARACTER
261
+ * = 'Y': V1T is computed;
262
+ * otherwise: V1T is not computed.
263
+ *
264
+ * JOBV2T (input) CHARACTER
265
+ * = 'Y': V2T is computed;
266
+ * otherwise: V2T is not computed.
267
+ *
268
+ * TRANS (input) CHARACTER
269
+ * = 'T': X, U1, U2, V1T, and V2T are stored in row-major
270
+ * order;
271
+ * otherwise: X, U1, U2, V1T, and V2T are stored in column-
272
+ * major order.
273
+ *
274
+ * SIGNS (input) CHARACTER
275
+ * = 'O': The lower-left block is made nonpositive (the
276
+ * "other" convention);
277
+ * otherwise: The upper-right block is made nonpositive (the
278
+ * "default" convention).
279
+ *
280
+ * M (input) INTEGER
281
+ * The number of rows and columns in X.
282
+ *
283
+ * P (input) INTEGER
284
+ * The number of rows in X11 and X12. 0 <= P <= M.
285
+ *
286
+ * Q (input) INTEGER
287
+ * The number of columns in X11 and X21. 0 <= Q <= M.
288
+ *
289
+ * X (input/workspace) DOUBLE PRECISION array, dimension (LDX,M)
290
+ * On entry, the orthogonal matrix whose CSD is desired.
291
+ *
292
+ * LDX (input) INTEGER
293
+ * The leading dimension of X. LDX >= MAX(1,M).
294
+ *
295
+ * THETA (output) DOUBLE PRECISION array, dimension (R), in which R =
296
+ * MIN(P,M-P,Q,M-Q).
297
+ * C = DIAG( COS(THETA(1)), ... , COS(THETA(R)) ) and
298
+ * S = DIAG( SIN(THETA(1)), ... , SIN(THETA(R)) ).
299
+ *
300
+ * U1 (output) DOUBLE PRECISION array, dimension (P)
301
+ * If JOBU1 = 'Y', U1 contains the P-by-P orthogonal matrix U1.
302
+ *
303
+ * LDU1 (input) INTEGER
304
+ * The leading dimension of U1. If JOBU1 = 'Y', LDU1 >=
305
+ * MAX(1,P).
306
+ *
307
+ * U2 (output) DOUBLE PRECISION array, dimension (M-P)
308
+ * If JOBU2 = 'Y', U2 contains the (M-P)-by-(M-P) orthogonal
309
+ * matrix U2.
310
+ *
311
+ * LDU2 (input) INTEGER
312
+ * The leading dimension of U2. If JOBU2 = 'Y', LDU2 >=
313
+ * MAX(1,M-P).
314
+ *
315
+ * V1T (output) DOUBLE PRECISION array, dimension (Q)
316
+ * If JOBV1T = 'Y', V1T contains the Q-by-Q matrix orthogonal
317
+ * matrix V1**T.
318
+ *
319
+ * LDV1T (input) INTEGER
320
+ * The leading dimension of V1T. If JOBV1T = 'Y', LDV1T >=
321
+ * MAX(1,Q).
322
+ *
323
+ * V2T (output) DOUBLE PRECISION array, dimension (M-Q)
324
+ * If JOBV2T = 'Y', V2T contains the (M-Q)-by-(M-Q) orthogonal
325
+ * matrix V2**T.
326
+ *
327
+ * LDV2T (input) INTEGER
328
+ * The leading dimension of V2T. If JOBV2T = 'Y', LDV2T >=
329
+ * MAX(1,M-Q).
330
+ *
331
+ * WORK (workspace) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
332
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
333
+ * If INFO > 0 on exit, WORK(2:R) contains the values PHI(1),
334
+ * ..., PHI(R-1) that, together with THETA(1), ..., THETA(R),
335
+ * define the matrix in intermediate bidiagonal-block form
336
+ * remaining after nonconvergence. INFO specifies the number
337
+ * of nonzero PHI's.
338
+ *
339
+ * LWORK (input) INTEGER
340
+ * The dimension of the array WORK.
341
+ *
342
+ * If LWORK = -1, then a workspace query is assumed; the routine
343
+ * only calculates the optimal size of the WORK array, returns
344
+ * this value as the first entry of the work array, and no error
345
+ * message related to LWORK is issued by XERBLA.
346
+ *
347
+ * IWORK (workspace) INTEGER array, dimension (M-Q)
348
+ *
349
+ * INFO (output) INTEGER
350
+ * = 0: successful exit.
351
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
352
+ * > 0: DBBCSD did not converge. See the description of WORK
353
+ * above for details.
354
+ *
355
+ * Reference
356
+ * =========
357
+ *
358
+ * [1] Brian D. Sutton. Computing the complete CS decomposition. Numer.
359
+ * Algorithms, 50(1):33-65, 2009.
360
+ *
361
+
362
+ * ===================================================================
363
+ *
364
+
365
+
366
+ </PRE>
367
+ <A HREF="#top">go to the page top</A>
368
+
369
+ <A NAME="dorg2l"></A>
370
+ <H2>dorg2l</H2>
371
+ <PRE>
372
+ USAGE:
373
+ info, a = NumRu::Lapack.dorg2l( m, a, tau, [:usage => usage, :help => help])
374
+
375
+
376
+ FORTRAN MANUAL
377
+ SUBROUTINE DORG2L( M, N, K, A, LDA, TAU, WORK, INFO )
378
+
379
+ * Purpose
380
+ * =======
381
+ *
382
+ * DORG2L generates an m by n real matrix Q with orthonormal columns,
383
+ * which is defined as the last n columns of a product of k elementary
384
+ * reflectors of order m
385
+ *
386
+ * Q = H(k) . . . H(2) H(1)
387
+ *
388
+ * as returned by DGEQLF.
389
+ *
390
+
391
+ * Arguments
392
+ * =========
393
+ *
394
+ * M (input) INTEGER
395
+ * The number of rows of the matrix Q. M >= 0.
396
+ *
397
+ * N (input) INTEGER
398
+ * The number of columns of the matrix Q. M >= N >= 0.
399
+ *
400
+ * K (input) INTEGER
401
+ * The number of elementary reflectors whose product defines the
402
+ * matrix Q. N >= K >= 0.
403
+ *
404
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
405
+ * On entry, the (n-k+i)-th column must contain the vector which
406
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
407
+ * returned by DGEQLF in the last k columns of its array
408
+ * argument A.
409
+ * On exit, the m by n matrix Q.
410
+ *
411
+ * LDA (input) INTEGER
412
+ * The first dimension of the array A. LDA >= max(1,M).
413
+ *
414
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
415
+ * TAU(i) must contain the scalar factor of the elementary
416
+ * reflector H(i), as returned by DGEQLF.
417
+ *
418
+ * WORK (workspace) DOUBLE PRECISION array, dimension (N)
419
+ *
420
+ * INFO (output) INTEGER
421
+ * = 0: successful exit
422
+ * < 0: if INFO = -i, the i-th argument has an illegal value
423
+ *
424
+
425
+ * =====================================================================
426
+ *
427
+
428
+
429
+ </PRE>
430
+ <A HREF="#top">go to the page top</A>
431
+
432
+ <A NAME="dorg2r"></A>
433
+ <H2>dorg2r</H2>
434
+ <PRE>
435
+ USAGE:
436
+ info, a = NumRu::Lapack.dorg2r( m, a, tau, [:usage => usage, :help => help])
437
+
438
+
439
+ FORTRAN MANUAL
440
+ SUBROUTINE DORG2R( M, N, K, A, LDA, TAU, WORK, INFO )
441
+
442
+ * Purpose
443
+ * =======
444
+ *
445
+ * DORG2R generates an m by n real matrix Q with orthonormal columns,
446
+ * which is defined as the first n columns of a product of k elementary
447
+ * reflectors of order m
448
+ *
449
+ * Q = H(1) H(2) . . . H(k)
450
+ *
451
+ * as returned by DGEQRF.
452
+ *
453
+
454
+ * Arguments
455
+ * =========
456
+ *
457
+ * M (input) INTEGER
458
+ * The number of rows of the matrix Q. M >= 0.
459
+ *
460
+ * N (input) INTEGER
461
+ * The number of columns of the matrix Q. M >= N >= 0.
462
+ *
463
+ * K (input) INTEGER
464
+ * The number of elementary reflectors whose product defines the
465
+ * matrix Q. N >= K >= 0.
466
+ *
467
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
468
+ * On entry, the i-th column must contain the vector which
469
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
470
+ * returned by DGEQRF in the first k columns of its array
471
+ * argument A.
472
+ * On exit, the m-by-n matrix Q.
473
+ *
474
+ * LDA (input) INTEGER
475
+ * The first dimension of the array A. LDA >= max(1,M).
476
+ *
477
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
478
+ * TAU(i) must contain the scalar factor of the elementary
479
+ * reflector H(i), as returned by DGEQRF.
480
+ *
481
+ * WORK (workspace) DOUBLE PRECISION array, dimension (N)
482
+ *
483
+ * INFO (output) INTEGER
484
+ * = 0: successful exit
485
+ * < 0: if INFO = -i, the i-th argument has an illegal value
486
+ *
487
+
488
+ * =====================================================================
489
+ *
490
+
491
+
492
+ </PRE>
493
+ <A HREF="#top">go to the page top</A>
494
+
495
+ <A NAME="dorgbr"></A>
496
+ <H2>dorgbr</H2>
497
+ <PRE>
498
+ USAGE:
499
+ work, info, a = NumRu::Lapack.dorgbr( vect, m, k, a, tau, [:lwork => lwork, :usage => usage, :help => help])
500
+
501
+
502
+ FORTRAN MANUAL
503
+ SUBROUTINE DORGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
504
+
505
+ * Purpose
506
+ * =======
507
+ *
508
+ * DORGBR generates one of the real orthogonal matrices Q or P**T
509
+ * determined by DGEBRD when reducing a real matrix A to bidiagonal
510
+ * form: A = Q * B * P**T. Q and P**T are defined as products of
511
+ * elementary reflectors H(i) or G(i) respectively.
512
+ *
513
+ * If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q
514
+ * is of order M:
515
+ * if m >= k, Q = H(1) H(2) . . . H(k) and DORGBR returns the first n
516
+ * columns of Q, where m >= n >= k;
517
+ * if m < k, Q = H(1) H(2) . . . H(m-1) and DORGBR returns Q as an
518
+ * M-by-M matrix.
519
+ *
520
+ * If VECT = 'P', A is assumed to have been a K-by-N matrix, and P**T
521
+ * is of order N:
522
+ * if k < n, P**T = G(k) . . . G(2) G(1) and DORGBR returns the first m
523
+ * rows of P**T, where n >= m >= k;
524
+ * if k >= n, P**T = G(n-1) . . . G(2) G(1) and DORGBR returns P**T as
525
+ * an N-by-N matrix.
526
+ *
527
+
528
+ * Arguments
529
+ * =========
530
+ *
531
+ * VECT (input) CHARACTER*1
532
+ * Specifies whether the matrix Q or the matrix P**T is
533
+ * required, as defined in the transformation applied by DGEBRD:
534
+ * = 'Q': generate Q;
535
+ * = 'P': generate P**T.
536
+ *
537
+ * M (input) INTEGER
538
+ * The number of rows of the matrix Q or P**T to be returned.
539
+ * M >= 0.
540
+ *
541
+ * N (input) INTEGER
542
+ * The number of columns of the matrix Q or P**T to be returned.
543
+ * N >= 0.
544
+ * If VECT = 'Q', M >= N >= min(M,K);
545
+ * if VECT = 'P', N >= M >= min(N,K).
546
+ *
547
+ * K (input) INTEGER
548
+ * If VECT = 'Q', the number of columns in the original M-by-K
549
+ * matrix reduced by DGEBRD.
550
+ * If VECT = 'P', the number of rows in the original K-by-N
551
+ * matrix reduced by DGEBRD.
552
+ * K >= 0.
553
+ *
554
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
555
+ * On entry, the vectors which define the elementary reflectors,
556
+ * as returned by DGEBRD.
557
+ * On exit, the M-by-N matrix Q or P**T.
558
+ *
559
+ * LDA (input) INTEGER
560
+ * The leading dimension of the array A. LDA >= max(1,M).
561
+ *
562
+ * TAU (input) DOUBLE PRECISION array, dimension
563
+ * (min(M,K)) if VECT = 'Q'
564
+ * (min(N,K)) if VECT = 'P'
565
+ * TAU(i) must contain the scalar factor of the elementary
566
+ * reflector H(i) or G(i), which determines Q or P**T, as
567
+ * returned by DGEBRD in its array argument TAUQ or TAUP.
568
+ *
569
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
570
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
571
+ *
572
+ * LWORK (input) INTEGER
573
+ * The dimension of the array WORK. LWORK >= max(1,min(M,N)).
574
+ * For optimum performance LWORK >= min(M,N)*NB, where NB
575
+ * is the optimal blocksize.
576
+ *
577
+ * If LWORK = -1, then a workspace query is assumed; the routine
578
+ * only calculates the optimal size of the WORK array, returns
579
+ * this value as the first entry of the WORK array, and no error
580
+ * message related to LWORK is issued by XERBLA.
581
+ *
582
+ * INFO (output) INTEGER
583
+ * = 0: successful exit
584
+ * < 0: if INFO = -i, the i-th argument had an illegal value
585
+ *
586
+
587
+ * =====================================================================
588
+ *
589
+
590
+
591
+ </PRE>
592
+ <A HREF="#top">go to the page top</A>
593
+
594
+ <A NAME="dorghr"></A>
595
+ <H2>dorghr</H2>
596
+ <PRE>
597
+ USAGE:
598
+ work, info, a = NumRu::Lapack.dorghr( ilo, ihi, a, tau, [:lwork => lwork, :usage => usage, :help => help])
599
+
600
+
601
+ FORTRAN MANUAL
602
+ SUBROUTINE DORGHR( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
603
+
604
+ * Purpose
605
+ * =======
606
+ *
607
+ * DORGHR generates a real orthogonal matrix Q which is defined as the
608
+ * product of IHI-ILO elementary reflectors of order N, as returned by
609
+ * DGEHRD:
610
+ *
611
+ * Q = H(ilo) H(ilo+1) . . . H(ihi-1).
612
+ *
613
+
614
+ * Arguments
615
+ * =========
616
+ *
617
+ * N (input) INTEGER
618
+ * The order of the matrix Q. N >= 0.
619
+ *
620
+ * ILO (input) INTEGER
621
+ * IHI (input) INTEGER
622
+ * ILO and IHI must have the same values as in the previous call
623
+ * of DGEHRD. Q is equal to the unit matrix except in the
624
+ * submatrix Q(ilo+1:ihi,ilo+1:ihi).
625
+ * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.
626
+ *
627
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
628
+ * On entry, the vectors which define the elementary reflectors,
629
+ * as returned by DGEHRD.
630
+ * On exit, the N-by-N orthogonal matrix Q.
631
+ *
632
+ * LDA (input) INTEGER
633
+ * The leading dimension of the array A. LDA >= max(1,N).
634
+ *
635
+ * TAU (input) DOUBLE PRECISION array, dimension (N-1)
636
+ * TAU(i) must contain the scalar factor of the elementary
637
+ * reflector H(i), as returned by DGEHRD.
638
+ *
639
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
640
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
641
+ *
642
+ * LWORK (input) INTEGER
643
+ * The dimension of the array WORK. LWORK >= IHI-ILO.
644
+ * For optimum performance LWORK >= (IHI-ILO)*NB, where NB is
645
+ * the optimal blocksize.
646
+ *
647
+ * If LWORK = -1, then a workspace query is assumed; the routine
648
+ * only calculates the optimal size of the WORK array, returns
649
+ * this value as the first entry of the WORK array, and no error
650
+ * message related to LWORK is issued by XERBLA.
651
+ *
652
+ * INFO (output) INTEGER
653
+ * = 0: successful exit
654
+ * < 0: if INFO = -i, the i-th argument had an illegal value
655
+ *
656
+
657
+ * =====================================================================
658
+ *
659
+
660
+
661
+ </PRE>
662
+ <A HREF="#top">go to the page top</A>
663
+
664
+ <A NAME="dorgl2"></A>
665
+ <H2>dorgl2</H2>
666
+ <PRE>
667
+ USAGE:
668
+ info, a = NumRu::Lapack.dorgl2( a, tau, [:usage => usage, :help => help])
669
+
670
+
671
+ FORTRAN MANUAL
672
+ SUBROUTINE DORGL2( M, N, K, A, LDA, TAU, WORK, INFO )
673
+
674
+ * Purpose
675
+ * =======
676
+ *
677
+ * DORGL2 generates an m by n real matrix Q with orthonormal rows,
678
+ * which is defined as the first m rows of a product of k elementary
679
+ * reflectors of order n
680
+ *
681
+ * Q = H(k) . . . H(2) H(1)
682
+ *
683
+ * as returned by DGELQF.
684
+ *
685
+
686
+ * Arguments
687
+ * =========
688
+ *
689
+ * M (input) INTEGER
690
+ * The number of rows of the matrix Q. M >= 0.
691
+ *
692
+ * N (input) INTEGER
693
+ * The number of columns of the matrix Q. N >= M.
694
+ *
695
+ * K (input) INTEGER
696
+ * The number of elementary reflectors whose product defines the
697
+ * matrix Q. M >= K >= 0.
698
+ *
699
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
700
+ * On entry, the i-th row must contain the vector which defines
701
+ * the elementary reflector H(i), for i = 1,2,...,k, as returned
702
+ * by DGELQF in the first k rows of its array argument A.
703
+ * On exit, the m-by-n matrix Q.
704
+ *
705
+ * LDA (input) INTEGER
706
+ * The first dimension of the array A. LDA >= max(1,M).
707
+ *
708
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
709
+ * TAU(i) must contain the scalar factor of the elementary
710
+ * reflector H(i), as returned by DGELQF.
711
+ *
712
+ * WORK (workspace) DOUBLE PRECISION array, dimension (M)
713
+ *
714
+ * INFO (output) INTEGER
715
+ * = 0: successful exit
716
+ * < 0: if INFO = -i, the i-th argument has an illegal value
717
+ *
718
+
719
+ * =====================================================================
720
+ *
721
+
722
+
723
+ </PRE>
724
+ <A HREF="#top">go to the page top</A>
725
+
726
+ <A NAME="dorglq"></A>
727
+ <H2>dorglq</H2>
728
+ <PRE>
729
+ USAGE:
730
+ work, info, a = NumRu::Lapack.dorglq( m, a, tau, [:lwork => lwork, :usage => usage, :help => help])
731
+
732
+
733
+ FORTRAN MANUAL
734
+ SUBROUTINE DORGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
735
+
736
+ * Purpose
737
+ * =======
738
+ *
739
+ * DORGLQ generates an M-by-N real matrix Q with orthonormal rows,
740
+ * which is defined as the first M rows of a product of K elementary
741
+ * reflectors of order N
742
+ *
743
+ * Q = H(k) . . . H(2) H(1)
744
+ *
745
+ * as returned by DGELQF.
746
+ *
747
+
748
+ * Arguments
749
+ * =========
750
+ *
751
+ * M (input) INTEGER
752
+ * The number of rows of the matrix Q. M >= 0.
753
+ *
754
+ * N (input) INTEGER
755
+ * The number of columns of the matrix Q. N >= M.
756
+ *
757
+ * K (input) INTEGER
758
+ * The number of elementary reflectors whose product defines the
759
+ * matrix Q. M >= K >= 0.
760
+ *
761
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
762
+ * On entry, the i-th row must contain the vector which defines
763
+ * the elementary reflector H(i), for i = 1,2,...,k, as returned
764
+ * by DGELQF in the first k rows of its array argument A.
765
+ * On exit, the M-by-N matrix Q.
766
+ *
767
+ * LDA (input) INTEGER
768
+ * The first dimension of the array A. LDA >= max(1,M).
769
+ *
770
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
771
+ * TAU(i) must contain the scalar factor of the elementary
772
+ * reflector H(i), as returned by DGELQF.
773
+ *
774
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
775
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
776
+ *
777
+ * LWORK (input) INTEGER
778
+ * The dimension of the array WORK. LWORK >= max(1,M).
779
+ * For optimum performance LWORK >= M*NB, where NB is
780
+ * the optimal blocksize.
781
+ *
782
+ * If LWORK = -1, then a workspace query is assumed; the routine
783
+ * only calculates the optimal size of the WORK array, returns
784
+ * this value as the first entry of the WORK array, and no error
785
+ * message related to LWORK is issued by XERBLA.
786
+ *
787
+ * INFO (output) INTEGER
788
+ * = 0: successful exit
789
+ * < 0: if INFO = -i, the i-th argument has an illegal value
790
+ *
791
+
792
+ * =====================================================================
793
+ *
794
+
795
+
796
+ </PRE>
797
+ <A HREF="#top">go to the page top</A>
798
+
799
+ <A NAME="dorgql"></A>
800
+ <H2>dorgql</H2>
801
+ <PRE>
802
+ USAGE:
803
+ work, info, a = NumRu::Lapack.dorgql( m, a, tau, [:lwork => lwork, :usage => usage, :help => help])
804
+
805
+
806
+ FORTRAN MANUAL
807
+ SUBROUTINE DORGQL( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
808
+
809
+ * Purpose
810
+ * =======
811
+ *
812
+ * DORGQL generates an M-by-N real matrix Q with orthonormal columns,
813
+ * which is defined as the last N columns of a product of K elementary
814
+ * reflectors of order M
815
+ *
816
+ * Q = H(k) . . . H(2) H(1)
817
+ *
818
+ * as returned by DGEQLF.
819
+ *
820
+
821
+ * Arguments
822
+ * =========
823
+ *
824
+ * M (input) INTEGER
825
+ * The number of rows of the matrix Q. M >= 0.
826
+ *
827
+ * N (input) INTEGER
828
+ * The number of columns of the matrix Q. M >= N >= 0.
829
+ *
830
+ * K (input) INTEGER
831
+ * The number of elementary reflectors whose product defines the
832
+ * matrix Q. N >= K >= 0.
833
+ *
834
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
835
+ * On entry, the (n-k+i)-th column must contain the vector which
836
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
837
+ * returned by DGEQLF in the last k columns of its array
838
+ * argument A.
839
+ * On exit, the M-by-N matrix Q.
840
+ *
841
+ * LDA (input) INTEGER
842
+ * The first dimension of the array A. LDA >= max(1,M).
843
+ *
844
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
845
+ * TAU(i) must contain the scalar factor of the elementary
846
+ * reflector H(i), as returned by DGEQLF.
847
+ *
848
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
849
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
850
+ *
851
+ * LWORK (input) INTEGER
852
+ * The dimension of the array WORK. LWORK >= max(1,N).
853
+ * For optimum performance LWORK >= N*NB, where NB is the
854
+ * optimal blocksize.
855
+ *
856
+ * If LWORK = -1, then a workspace query is assumed; the routine
857
+ * only calculates the optimal size of the WORK array, returns
858
+ * this value as the first entry of the WORK array, and no error
859
+ * message related to LWORK is issued by XERBLA.
860
+ *
861
+ * INFO (output) INTEGER
862
+ * = 0: successful exit
863
+ * < 0: if INFO = -i, the i-th argument has an illegal value
864
+ *
865
+
866
+ * =====================================================================
867
+ *
868
+
869
+
870
+ </PRE>
871
+ <A HREF="#top">go to the page top</A>
872
+
873
+ <A NAME="dorgqr"></A>
874
+ <H2>dorgqr</H2>
875
+ <PRE>
876
+ USAGE:
877
+ work, info, a = NumRu::Lapack.dorgqr( m, a, tau, [:lwork => lwork, :usage => usage, :help => help])
878
+
879
+
880
+ FORTRAN MANUAL
881
+ SUBROUTINE DORGQR( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
882
+
883
+ * Purpose
884
+ * =======
885
+ *
886
+ * DORGQR generates an M-by-N real matrix Q with orthonormal columns,
887
+ * which is defined as the first N columns of a product of K elementary
888
+ * reflectors of order M
889
+ *
890
+ * Q = H(1) H(2) . . . H(k)
891
+ *
892
+ * as returned by DGEQRF.
893
+ *
894
+
895
+ * Arguments
896
+ * =========
897
+ *
898
+ * M (input) INTEGER
899
+ * The number of rows of the matrix Q. M >= 0.
900
+ *
901
+ * N (input) INTEGER
902
+ * The number of columns of the matrix Q. M >= N >= 0.
903
+ *
904
+ * K (input) INTEGER
905
+ * The number of elementary reflectors whose product defines the
906
+ * matrix Q. N >= K >= 0.
907
+ *
908
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
909
+ * On entry, the i-th column must contain the vector which
910
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
911
+ * returned by DGEQRF in the first k columns of its array
912
+ * argument A.
913
+ * On exit, the M-by-N matrix Q.
914
+ *
915
+ * LDA (input) INTEGER
916
+ * The first dimension of the array A. LDA >= max(1,M).
917
+ *
918
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
919
+ * TAU(i) must contain the scalar factor of the elementary
920
+ * reflector H(i), as returned by DGEQRF.
921
+ *
922
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
923
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
924
+ *
925
+ * LWORK (input) INTEGER
926
+ * The dimension of the array WORK. LWORK >= max(1,N).
927
+ * For optimum performance LWORK >= N*NB, where NB is the
928
+ * optimal blocksize.
929
+ *
930
+ * If LWORK = -1, then a workspace query is assumed; the routine
931
+ * only calculates the optimal size of the WORK array, returns
932
+ * this value as the first entry of the WORK array, and no error
933
+ * message related to LWORK is issued by XERBLA.
934
+ *
935
+ * INFO (output) INTEGER
936
+ * = 0: successful exit
937
+ * < 0: if INFO = -i, the i-th argument has an illegal value
938
+ *
939
+
940
+ * =====================================================================
941
+ *
942
+
943
+
944
+ </PRE>
945
+ <A HREF="#top">go to the page top</A>
946
+
947
+ <A NAME="dorgr2"></A>
948
+ <H2>dorgr2</H2>
949
+ <PRE>
950
+ USAGE:
951
+ info, a = NumRu::Lapack.dorgr2( a, tau, [:usage => usage, :help => help])
952
+
953
+
954
+ FORTRAN MANUAL
955
+ SUBROUTINE DORGR2( M, N, K, A, LDA, TAU, WORK, INFO )
956
+
957
+ * Purpose
958
+ * =======
959
+ *
960
+ * DORGR2 generates an m by n real matrix Q with orthonormal rows,
961
+ * which is defined as the last m rows of a product of k elementary
962
+ * reflectors of order n
963
+ *
964
+ * Q = H(1) H(2) . . . H(k)
965
+ *
966
+ * as returned by DGERQF.
967
+ *
968
+
969
+ * Arguments
970
+ * =========
971
+ *
972
+ * M (input) INTEGER
973
+ * The number of rows of the matrix Q. M >= 0.
974
+ *
975
+ * N (input) INTEGER
976
+ * The number of columns of the matrix Q. N >= M.
977
+ *
978
+ * K (input) INTEGER
979
+ * The number of elementary reflectors whose product defines the
980
+ * matrix Q. M >= K >= 0.
981
+ *
982
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
983
+ * On entry, the (m-k+i)-th row must contain the vector which
984
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
985
+ * returned by DGERQF in the last k rows of its array argument
986
+ * A.
987
+ * On exit, the m by n matrix Q.
988
+ *
989
+ * LDA (input) INTEGER
990
+ * The first dimension of the array A. LDA >= max(1,M).
991
+ *
992
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
993
+ * TAU(i) must contain the scalar factor of the elementary
994
+ * reflector H(i), as returned by DGERQF.
995
+ *
996
+ * WORK (workspace) DOUBLE PRECISION array, dimension (M)
997
+ *
998
+ * INFO (output) INTEGER
999
+ * = 0: successful exit
1000
+ * < 0: if INFO = -i, the i-th argument has an illegal value
1001
+ *
1002
+
1003
+ * =====================================================================
1004
+ *
1005
+
1006
+
1007
+ </PRE>
1008
+ <A HREF="#top">go to the page top</A>
1009
+
1010
+ <A NAME="dorgrq"></A>
1011
+ <H2>dorgrq</H2>
1012
+ <PRE>
1013
+ USAGE:
1014
+ work, info, a = NumRu::Lapack.dorgrq( m, a, tau, [:lwork => lwork, :usage => usage, :help => help])
1015
+
1016
+
1017
+ FORTRAN MANUAL
1018
+ SUBROUTINE DORGRQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
1019
+
1020
+ * Purpose
1021
+ * =======
1022
+ *
1023
+ * DORGRQ generates an M-by-N real matrix Q with orthonormal rows,
1024
+ * which is defined as the last M rows of a product of K elementary
1025
+ * reflectors of order N
1026
+ *
1027
+ * Q = H(1) H(2) . . . H(k)
1028
+ *
1029
+ * as returned by DGERQF.
1030
+ *
1031
+
1032
+ * Arguments
1033
+ * =========
1034
+ *
1035
+ * M (input) INTEGER
1036
+ * The number of rows of the matrix Q. M >= 0.
1037
+ *
1038
+ * N (input) INTEGER
1039
+ * The number of columns of the matrix Q. N >= M.
1040
+ *
1041
+ * K (input) INTEGER
1042
+ * The number of elementary reflectors whose product defines the
1043
+ * matrix Q. M >= K >= 0.
1044
+ *
1045
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
1046
+ * On entry, the (m-k+i)-th row must contain the vector which
1047
+ * defines the elementary reflector H(i), for i = 1,2,...,k, as
1048
+ * returned by DGERQF in the last k rows of its array argument
1049
+ * A.
1050
+ * On exit, the M-by-N matrix Q.
1051
+ *
1052
+ * LDA (input) INTEGER
1053
+ * The first dimension of the array A. LDA >= max(1,M).
1054
+ *
1055
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1056
+ * TAU(i) must contain the scalar factor of the elementary
1057
+ * reflector H(i), as returned by DGERQF.
1058
+ *
1059
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1060
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1061
+ *
1062
+ * LWORK (input) INTEGER
1063
+ * The dimension of the array WORK. LWORK >= max(1,M).
1064
+ * For optimum performance LWORK >= M*NB, where NB is the
1065
+ * optimal blocksize.
1066
+ *
1067
+ * If LWORK = -1, then a workspace query is assumed; the routine
1068
+ * only calculates the optimal size of the WORK array, returns
1069
+ * this value as the first entry of the WORK array, and no error
1070
+ * message related to LWORK is issued by XERBLA.
1071
+ *
1072
+ * INFO (output) INTEGER
1073
+ * = 0: successful exit
1074
+ * < 0: if INFO = -i, the i-th argument has an illegal value
1075
+ *
1076
+
1077
+ * =====================================================================
1078
+ *
1079
+
1080
+
1081
+ </PRE>
1082
+ <A HREF="#top">go to the page top</A>
1083
+
1084
+ <A NAME="dorgtr"></A>
1085
+ <H2>dorgtr</H2>
1086
+ <PRE>
1087
+ USAGE:
1088
+ work, info, a = NumRu::Lapack.dorgtr( uplo, a, tau, [:lwork => lwork, :usage => usage, :help => help])
1089
+
1090
+
1091
+ FORTRAN MANUAL
1092
+ SUBROUTINE DORGTR( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
1093
+
1094
+ * Purpose
1095
+ * =======
1096
+ *
1097
+ * DORGTR generates a real orthogonal matrix Q which is defined as the
1098
+ * product of n-1 elementary reflectors of order N, as returned by
1099
+ * DSYTRD:
1100
+ *
1101
+ * if UPLO = 'U', Q = H(n-1) . . . H(2) H(1),
1102
+ *
1103
+ * if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).
1104
+ *
1105
+
1106
+ * Arguments
1107
+ * =========
1108
+ *
1109
+ * UPLO (input) CHARACTER*1
1110
+ * = 'U': Upper triangle of A contains elementary reflectors
1111
+ * from DSYTRD;
1112
+ * = 'L': Lower triangle of A contains elementary reflectors
1113
+ * from DSYTRD.
1114
+ *
1115
+ * N (input) INTEGER
1116
+ * The order of the matrix Q. N >= 0.
1117
+ *
1118
+ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
1119
+ * On entry, the vectors which define the elementary reflectors,
1120
+ * as returned by DSYTRD.
1121
+ * On exit, the N-by-N orthogonal matrix Q.
1122
+ *
1123
+ * LDA (input) INTEGER
1124
+ * The leading dimension of the array A. LDA >= max(1,N).
1125
+ *
1126
+ * TAU (input) DOUBLE PRECISION array, dimension (N-1)
1127
+ * TAU(i) must contain the scalar factor of the elementary
1128
+ * reflector H(i), as returned by DSYTRD.
1129
+ *
1130
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1131
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1132
+ *
1133
+ * LWORK (input) INTEGER
1134
+ * The dimension of the array WORK. LWORK >= max(1,N-1).
1135
+ * For optimum performance LWORK >= (N-1)*NB, where NB is
1136
+ * the optimal blocksize.
1137
+ *
1138
+ * If LWORK = -1, then a workspace query is assumed; the routine
1139
+ * only calculates the optimal size of the WORK array, returns
1140
+ * this value as the first entry of the WORK array, and no error
1141
+ * message related to LWORK is issued by XERBLA.
1142
+ *
1143
+ * INFO (output) INTEGER
1144
+ * = 0: successful exit
1145
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1146
+ *
1147
+
1148
+ * =====================================================================
1149
+ *
1150
+
1151
+
1152
+ </PRE>
1153
+ <A HREF="#top">go to the page top</A>
1154
+
1155
+ <A NAME="dorm2l"></A>
1156
+ <H2>dorm2l</H2>
1157
+ <PRE>
1158
+ USAGE:
1159
+ info, c = NumRu::Lapack.dorm2l( side, trans, m, a, tau, c, [:usage => usage, :help => help])
1160
+
1161
+
1162
+ FORTRAN MANUAL
1163
+ SUBROUTINE DORM2L( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO )
1164
+
1165
+ * Purpose
1166
+ * =======
1167
+ *
1168
+ * DORM2L overwrites the general real m by n matrix C with
1169
+ *
1170
+ * Q * C if SIDE = 'L' and TRANS = 'N', or
1171
+ *
1172
+ * Q'* C if SIDE = 'L' and TRANS = 'T', or
1173
+ *
1174
+ * C * Q if SIDE = 'R' and TRANS = 'N', or
1175
+ *
1176
+ * C * Q' if SIDE = 'R' and TRANS = 'T',
1177
+ *
1178
+ * where Q is a real orthogonal matrix defined as the product of k
1179
+ * elementary reflectors
1180
+ *
1181
+ * Q = H(k) . . . H(2) H(1)
1182
+ *
1183
+ * as returned by DGEQLF. Q is of order m if SIDE = 'L' and of order n
1184
+ * if SIDE = 'R'.
1185
+ *
1186
+
1187
+ * Arguments
1188
+ * =========
1189
+ *
1190
+ * SIDE (input) CHARACTER*1
1191
+ * = 'L': apply Q or Q' from the Left
1192
+ * = 'R': apply Q or Q' from the Right
1193
+ *
1194
+ * TRANS (input) CHARACTER*1
1195
+ * = 'N': apply Q (No transpose)
1196
+ * = 'T': apply Q' (Transpose)
1197
+ *
1198
+ * M (input) INTEGER
1199
+ * The number of rows of the matrix C. M >= 0.
1200
+ *
1201
+ * N (input) INTEGER
1202
+ * The number of columns of the matrix C. N >= 0.
1203
+ *
1204
+ * K (input) INTEGER
1205
+ * The number of elementary reflectors whose product defines
1206
+ * the matrix Q.
1207
+ * If SIDE = 'L', M >= K >= 0;
1208
+ * if SIDE = 'R', N >= K >= 0.
1209
+ *
1210
+ * A (input) DOUBLE PRECISION array, dimension (LDA,K)
1211
+ * The i-th column must contain the vector which defines the
1212
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1213
+ * DGEQLF in the last k columns of its array argument A.
1214
+ * A is modified by the routine but restored on exit.
1215
+ *
1216
+ * LDA (input) INTEGER
1217
+ * The leading dimension of the array A.
1218
+ * If SIDE = 'L', LDA >= max(1,M);
1219
+ * if SIDE = 'R', LDA >= max(1,N).
1220
+ *
1221
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1222
+ * TAU(i) must contain the scalar factor of the elementary
1223
+ * reflector H(i), as returned by DGEQLF.
1224
+ *
1225
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1226
+ * On entry, the m by n matrix C.
1227
+ * On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q.
1228
+ *
1229
+ * LDC (input) INTEGER
1230
+ * The leading dimension of the array C. LDC >= max(1,M).
1231
+ *
1232
+ * WORK (workspace) DOUBLE PRECISION array, dimension
1233
+ * (N) if SIDE = 'L',
1234
+ * (M) if SIDE = 'R'
1235
+ *
1236
+ * INFO (output) INTEGER
1237
+ * = 0: successful exit
1238
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1239
+ *
1240
+
1241
+ * =====================================================================
1242
+ *
1243
+
1244
+
1245
+ </PRE>
1246
+ <A HREF="#top">go to the page top</A>
1247
+
1248
+ <A NAME="dorm2r"></A>
1249
+ <H2>dorm2r</H2>
1250
+ <PRE>
1251
+ USAGE:
1252
+ info, c = NumRu::Lapack.dorm2r( side, trans, m, a, tau, c, [:usage => usage, :help => help])
1253
+
1254
+
1255
+ FORTRAN MANUAL
1256
+ SUBROUTINE DORM2R( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO )
1257
+
1258
+ * Purpose
1259
+ * =======
1260
+ *
1261
+ * DORM2R overwrites the general real m by n matrix C with
1262
+ *
1263
+ * Q * C if SIDE = 'L' and TRANS = 'N', or
1264
+ *
1265
+ * Q'* C if SIDE = 'L' and TRANS = 'T', or
1266
+ *
1267
+ * C * Q if SIDE = 'R' and TRANS = 'N', or
1268
+ *
1269
+ * C * Q' if SIDE = 'R' and TRANS = 'T',
1270
+ *
1271
+ * where Q is a real orthogonal matrix defined as the product of k
1272
+ * elementary reflectors
1273
+ *
1274
+ * Q = H(1) H(2) . . . H(k)
1275
+ *
1276
+ * as returned by DGEQRF. Q is of order m if SIDE = 'L' and of order n
1277
+ * if SIDE = 'R'.
1278
+ *
1279
+
1280
+ * Arguments
1281
+ * =========
1282
+ *
1283
+ * SIDE (input) CHARACTER*1
1284
+ * = 'L': apply Q or Q' from the Left
1285
+ * = 'R': apply Q or Q' from the Right
1286
+ *
1287
+ * TRANS (input) CHARACTER*1
1288
+ * = 'N': apply Q (No transpose)
1289
+ * = 'T': apply Q' (Transpose)
1290
+ *
1291
+ * M (input) INTEGER
1292
+ * The number of rows of the matrix C. M >= 0.
1293
+ *
1294
+ * N (input) INTEGER
1295
+ * The number of columns of the matrix C. N >= 0.
1296
+ *
1297
+ * K (input) INTEGER
1298
+ * The number of elementary reflectors whose product defines
1299
+ * the matrix Q.
1300
+ * If SIDE = 'L', M >= K >= 0;
1301
+ * if SIDE = 'R', N >= K >= 0.
1302
+ *
1303
+ * A (input) DOUBLE PRECISION array, dimension (LDA,K)
1304
+ * The i-th column must contain the vector which defines the
1305
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1306
+ * DGEQRF in the first k columns of its array argument A.
1307
+ * A is modified by the routine but restored on exit.
1308
+ *
1309
+ * LDA (input) INTEGER
1310
+ * The leading dimension of the array A.
1311
+ * If SIDE = 'L', LDA >= max(1,M);
1312
+ * if SIDE = 'R', LDA >= max(1,N).
1313
+ *
1314
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1315
+ * TAU(i) must contain the scalar factor of the elementary
1316
+ * reflector H(i), as returned by DGEQRF.
1317
+ *
1318
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1319
+ * On entry, the m by n matrix C.
1320
+ * On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q.
1321
+ *
1322
+ * LDC (input) INTEGER
1323
+ * The leading dimension of the array C. LDC >= max(1,M).
1324
+ *
1325
+ * WORK (workspace) DOUBLE PRECISION array, dimension
1326
+ * (N) if SIDE = 'L',
1327
+ * (M) if SIDE = 'R'
1328
+ *
1329
+ * INFO (output) INTEGER
1330
+ * = 0: successful exit
1331
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1332
+ *
1333
+
1334
+ * =====================================================================
1335
+ *
1336
+
1337
+
1338
+ </PRE>
1339
+ <A HREF="#top">go to the page top</A>
1340
+
1341
+ <A NAME="dormbr"></A>
1342
+ <H2>dormbr</H2>
1343
+ <PRE>
1344
+ USAGE:
1345
+ work, info, c = NumRu::Lapack.dormbr( vect, side, trans, m, k, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
1346
+
1347
+
1348
+ FORTRAN MANUAL
1349
+ SUBROUTINE DORMBR( VECT, SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
1350
+
1351
+ * Purpose
1352
+ * =======
1353
+ *
1354
+ * If VECT = 'Q', DORMBR overwrites the general real M-by-N matrix C
1355
+ * with
1356
+ * SIDE = 'L' SIDE = 'R'
1357
+ * TRANS = 'N': Q * C C * Q
1358
+ * TRANS = 'T': Q**T * C C * Q**T
1359
+ *
1360
+ * If VECT = 'P', DORMBR overwrites the general real M-by-N matrix C
1361
+ * with
1362
+ * SIDE = 'L' SIDE = 'R'
1363
+ * TRANS = 'N': P * C C * P
1364
+ * TRANS = 'T': P**T * C C * P**T
1365
+ *
1366
+ * Here Q and P**T are the orthogonal matrices determined by DGEBRD when
1367
+ * reducing a real matrix A to bidiagonal form: A = Q * B * P**T. Q and
1368
+ * P**T are defined as products of elementary reflectors H(i) and G(i)
1369
+ * respectively.
1370
+ *
1371
+ * Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the
1372
+ * order of the orthogonal matrix Q or P**T that is applied.
1373
+ *
1374
+ * If VECT = 'Q', A is assumed to have been an NQ-by-K matrix:
1375
+ * if nq >= k, Q = H(1) H(2) . . . H(k);
1376
+ * if nq < k, Q = H(1) H(2) . . . H(nq-1).
1377
+ *
1378
+ * If VECT = 'P', A is assumed to have been a K-by-NQ matrix:
1379
+ * if k < nq, P = G(1) G(2) . . . G(k);
1380
+ * if k >= nq, P = G(1) G(2) . . . G(nq-1).
1381
+ *
1382
+
1383
+ * Arguments
1384
+ * =========
1385
+ *
1386
+ * VECT (input) CHARACTER*1
1387
+ * = 'Q': apply Q or Q**T;
1388
+ * = 'P': apply P or P**T.
1389
+ *
1390
+ * SIDE (input) CHARACTER*1
1391
+ * = 'L': apply Q, Q**T, P or P**T from the Left;
1392
+ * = 'R': apply Q, Q**T, P or P**T from the Right.
1393
+ *
1394
+ * TRANS (input) CHARACTER*1
1395
+ * = 'N': No transpose, apply Q or P;
1396
+ * = 'T': Transpose, apply Q**T or P**T.
1397
+ *
1398
+ * M (input) INTEGER
1399
+ * The number of rows of the matrix C. M >= 0.
1400
+ *
1401
+ * N (input) INTEGER
1402
+ * The number of columns of the matrix C. N >= 0.
1403
+ *
1404
+ * K (input) INTEGER
1405
+ * If VECT = 'Q', the number of columns in the original
1406
+ * matrix reduced by DGEBRD.
1407
+ * If VECT = 'P', the number of rows in the original
1408
+ * matrix reduced by DGEBRD.
1409
+ * K >= 0.
1410
+ *
1411
+ * A (input) DOUBLE PRECISION array, dimension
1412
+ * (LDA,min(nq,K)) if VECT = 'Q'
1413
+ * (LDA,nq) if VECT = 'P'
1414
+ * The vectors which define the elementary reflectors H(i) and
1415
+ * G(i), whose products determine the matrices Q and P, as
1416
+ * returned by DGEBRD.
1417
+ *
1418
+ * LDA (input) INTEGER
1419
+ * The leading dimension of the array A.
1420
+ * If VECT = 'Q', LDA >= max(1,nq);
1421
+ * if VECT = 'P', LDA >= max(1,min(nq,K)).
1422
+ *
1423
+ * TAU (input) DOUBLE PRECISION array, dimension (min(nq,K))
1424
+ * TAU(i) must contain the scalar factor of the elementary
1425
+ * reflector H(i) or G(i) which determines Q or P, as returned
1426
+ * by DGEBRD in the array argument TAUQ or TAUP.
1427
+ *
1428
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1429
+ * On entry, the M-by-N matrix C.
1430
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q
1431
+ * or P*C or P**T*C or C*P or C*P**T.
1432
+ *
1433
+ * LDC (input) INTEGER
1434
+ * The leading dimension of the array C. LDC >= max(1,M).
1435
+ *
1436
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1437
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1438
+ *
1439
+ * LWORK (input) INTEGER
1440
+ * The dimension of the array WORK.
1441
+ * If SIDE = 'L', LWORK >= max(1,N);
1442
+ * if SIDE = 'R', LWORK >= max(1,M).
1443
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
1444
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
1445
+ * blocksize.
1446
+ *
1447
+ * If LWORK = -1, then a workspace query is assumed; the routine
1448
+ * only calculates the optimal size of the WORK array, returns
1449
+ * this value as the first entry of the WORK array, and no error
1450
+ * message related to LWORK is issued by XERBLA.
1451
+ *
1452
+ * INFO (output) INTEGER
1453
+ * = 0: successful exit
1454
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1455
+ *
1456
+
1457
+ * =====================================================================
1458
+ *
1459
+ * .. Local Scalars ..
1460
+ LOGICAL APPLYQ, LEFT, LQUERY, NOTRAN
1461
+ CHARACTER TRANST
1462
+ INTEGER I1, I2, IINFO, LWKOPT, MI, NB, NI, NQ, NW
1463
+ * ..
1464
+ * .. External Functions ..
1465
+ LOGICAL LSAME
1466
+ INTEGER ILAENV
1467
+ EXTERNAL LSAME, ILAENV
1468
+ * ..
1469
+ * .. External Subroutines ..
1470
+ EXTERNAL DORMLQ, DORMQR, XERBLA
1471
+ * ..
1472
+ * .. Intrinsic Functions ..
1473
+ INTRINSIC MAX, MIN
1474
+ * ..
1475
+
1476
+
1477
+ </PRE>
1478
+ <A HREF="#top">go to the page top</A>
1479
+
1480
+ <A NAME="dormhr"></A>
1481
+ <H2>dormhr</H2>
1482
+ <PRE>
1483
+ USAGE:
1484
+ work, info, c = NumRu::Lapack.dormhr( side, trans, ilo, ihi, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
1485
+
1486
+
1487
+ FORTRAN MANUAL
1488
+ SUBROUTINE DORMHR( SIDE, TRANS, M, N, ILO, IHI, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
1489
+
1490
+ * Purpose
1491
+ * =======
1492
+ *
1493
+ * DORMHR overwrites the general real M-by-N matrix C with
1494
+ *
1495
+ * SIDE = 'L' SIDE = 'R'
1496
+ * TRANS = 'N': Q * C C * Q
1497
+ * TRANS = 'T': Q**T * C C * Q**T
1498
+ *
1499
+ * where Q is a real orthogonal matrix of order nq, with nq = m if
1500
+ * SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
1501
+ * IHI-ILO elementary reflectors, as returned by DGEHRD:
1502
+ *
1503
+ * Q = H(ilo) H(ilo+1) . . . H(ihi-1).
1504
+ *
1505
+
1506
+ * Arguments
1507
+ * =========
1508
+ *
1509
+ * SIDE (input) CHARACTER*1
1510
+ * = 'L': apply Q or Q**T from the Left;
1511
+ * = 'R': apply Q or Q**T from the Right.
1512
+ *
1513
+ * TRANS (input) CHARACTER*1
1514
+ * = 'N': No transpose, apply Q;
1515
+ * = 'T': Transpose, apply Q**T.
1516
+ *
1517
+ * M (input) INTEGER
1518
+ * The number of rows of the matrix C. M >= 0.
1519
+ *
1520
+ * N (input) INTEGER
1521
+ * The number of columns of the matrix C. N >= 0.
1522
+ *
1523
+ * ILO (input) INTEGER
1524
+ * IHI (input) INTEGER
1525
+ * ILO and IHI must have the same values as in the previous call
1526
+ * of DGEHRD. Q is equal to the unit matrix except in the
1527
+ * submatrix Q(ilo+1:ihi,ilo+1:ihi).
1528
+ * If SIDE = 'L', then 1 <= ILO <= IHI <= M, if M > 0, and
1529
+ * ILO = 1 and IHI = 0, if M = 0;
1530
+ * if SIDE = 'R', then 1 <= ILO <= IHI <= N, if N > 0, and
1531
+ * ILO = 1 and IHI = 0, if N = 0.
1532
+ *
1533
+ * A (input) DOUBLE PRECISION array, dimension
1534
+ * (LDA,M) if SIDE = 'L'
1535
+ * (LDA,N) if SIDE = 'R'
1536
+ * The vectors which define the elementary reflectors, as
1537
+ * returned by DGEHRD.
1538
+ *
1539
+ * LDA (input) INTEGER
1540
+ * The leading dimension of the array A.
1541
+ * LDA >= max(1,M) if SIDE = 'L'; LDA >= max(1,N) if SIDE = 'R'.
1542
+ *
1543
+ * TAU (input) DOUBLE PRECISION array, dimension
1544
+ * (M-1) if SIDE = 'L'
1545
+ * (N-1) if SIDE = 'R'
1546
+ * TAU(i) must contain the scalar factor of the elementary
1547
+ * reflector H(i), as returned by DGEHRD.
1548
+ *
1549
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1550
+ * On entry, the M-by-N matrix C.
1551
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
1552
+ *
1553
+ * LDC (input) INTEGER
1554
+ * The leading dimension of the array C. LDC >= max(1,M).
1555
+ *
1556
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1557
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1558
+ *
1559
+ * LWORK (input) INTEGER
1560
+ * The dimension of the array WORK.
1561
+ * If SIDE = 'L', LWORK >= max(1,N);
1562
+ * if SIDE = 'R', LWORK >= max(1,M).
1563
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
1564
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
1565
+ * blocksize.
1566
+ *
1567
+ * If LWORK = -1, then a workspace query is assumed; the routine
1568
+ * only calculates the optimal size of the WORK array, returns
1569
+ * this value as the first entry of the WORK array, and no error
1570
+ * message related to LWORK is issued by XERBLA.
1571
+ *
1572
+ * INFO (output) INTEGER
1573
+ * = 0: successful exit
1574
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1575
+ *
1576
+
1577
+ * =====================================================================
1578
+ *
1579
+ * .. Local Scalars ..
1580
+ LOGICAL LEFT, LQUERY
1581
+ INTEGER I1, I2, IINFO, LWKOPT, MI, NB, NH, NI, NQ, NW
1582
+ * ..
1583
+ * .. External Functions ..
1584
+ LOGICAL LSAME
1585
+ INTEGER ILAENV
1586
+ EXTERNAL LSAME, ILAENV
1587
+ * ..
1588
+ * .. External Subroutines ..
1589
+ EXTERNAL DORMQR, XERBLA
1590
+ * ..
1591
+ * .. Intrinsic Functions ..
1592
+ INTRINSIC MAX, MIN
1593
+ * ..
1594
+
1595
+
1596
+ </PRE>
1597
+ <A HREF="#top">go to the page top</A>
1598
+
1599
+ <A NAME="dorml2"></A>
1600
+ <H2>dorml2</H2>
1601
+ <PRE>
1602
+ USAGE:
1603
+ info, c = NumRu::Lapack.dorml2( side, trans, a, tau, c, [:usage => usage, :help => help])
1604
+
1605
+
1606
+ FORTRAN MANUAL
1607
+ SUBROUTINE DORML2( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO )
1608
+
1609
+ * Purpose
1610
+ * =======
1611
+ *
1612
+ * DORML2 overwrites the general real m by n matrix C with
1613
+ *
1614
+ * Q * C if SIDE = 'L' and TRANS = 'N', or
1615
+ *
1616
+ * Q'* C if SIDE = 'L' and TRANS = 'T', or
1617
+ *
1618
+ * C * Q if SIDE = 'R' and TRANS = 'N', or
1619
+ *
1620
+ * C * Q' if SIDE = 'R' and TRANS = 'T',
1621
+ *
1622
+ * where Q is a real orthogonal matrix defined as the product of k
1623
+ * elementary reflectors
1624
+ *
1625
+ * Q = H(k) . . . H(2) H(1)
1626
+ *
1627
+ * as returned by DGELQF. Q is of order m if SIDE = 'L' and of order n
1628
+ * if SIDE = 'R'.
1629
+ *
1630
+
1631
+ * Arguments
1632
+ * =========
1633
+ *
1634
+ * SIDE (input) CHARACTER*1
1635
+ * = 'L': apply Q or Q' from the Left
1636
+ * = 'R': apply Q or Q' from the Right
1637
+ *
1638
+ * TRANS (input) CHARACTER*1
1639
+ * = 'N': apply Q (No transpose)
1640
+ * = 'T': apply Q' (Transpose)
1641
+ *
1642
+ * M (input) INTEGER
1643
+ * The number of rows of the matrix C. M >= 0.
1644
+ *
1645
+ * N (input) INTEGER
1646
+ * The number of columns of the matrix C. N >= 0.
1647
+ *
1648
+ * K (input) INTEGER
1649
+ * The number of elementary reflectors whose product defines
1650
+ * the matrix Q.
1651
+ * If SIDE = 'L', M >= K >= 0;
1652
+ * if SIDE = 'R', N >= K >= 0.
1653
+ *
1654
+ * A (input) DOUBLE PRECISION array, dimension
1655
+ * (LDA,M) if SIDE = 'L',
1656
+ * (LDA,N) if SIDE = 'R'
1657
+ * The i-th row must contain the vector which defines the
1658
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1659
+ * DGELQF in the first k rows of its array argument A.
1660
+ * A is modified by the routine but restored on exit.
1661
+ *
1662
+ * LDA (input) INTEGER
1663
+ * The leading dimension of the array A. LDA >= max(1,K).
1664
+ *
1665
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1666
+ * TAU(i) must contain the scalar factor of the elementary
1667
+ * reflector H(i), as returned by DGELQF.
1668
+ *
1669
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1670
+ * On entry, the m by n matrix C.
1671
+ * On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q.
1672
+ *
1673
+ * LDC (input) INTEGER
1674
+ * The leading dimension of the array C. LDC >= max(1,M).
1675
+ *
1676
+ * WORK (workspace) DOUBLE PRECISION array, dimension
1677
+ * (N) if SIDE = 'L',
1678
+ * (M) if SIDE = 'R'
1679
+ *
1680
+ * INFO (output) INTEGER
1681
+ * = 0: successful exit
1682
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1683
+ *
1684
+
1685
+ * =====================================================================
1686
+ *
1687
+
1688
+
1689
+ </PRE>
1690
+ <A HREF="#top">go to the page top</A>
1691
+
1692
+ <A NAME="dormlq"></A>
1693
+ <H2>dormlq</H2>
1694
+ <PRE>
1695
+ USAGE:
1696
+ work, info, c = NumRu::Lapack.dormlq( side, trans, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
1697
+
1698
+
1699
+ FORTRAN MANUAL
1700
+ SUBROUTINE DORMLQ( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
1701
+
1702
+ * Purpose
1703
+ * =======
1704
+ *
1705
+ * DORMLQ overwrites the general real M-by-N matrix C with
1706
+ *
1707
+ * SIDE = 'L' SIDE = 'R'
1708
+ * TRANS = 'N': Q * C C * Q
1709
+ * TRANS = 'T': Q**T * C C * Q**T
1710
+ *
1711
+ * where Q is a real orthogonal matrix defined as the product of k
1712
+ * elementary reflectors
1713
+ *
1714
+ * Q = H(k) . . . H(2) H(1)
1715
+ *
1716
+ * as returned by DGELQF. Q is of order M if SIDE = 'L' and of order N
1717
+ * if SIDE = 'R'.
1718
+ *
1719
+
1720
+ * Arguments
1721
+ * =========
1722
+ *
1723
+ * SIDE (input) CHARACTER*1
1724
+ * = 'L': apply Q or Q**T from the Left;
1725
+ * = 'R': apply Q or Q**T from the Right.
1726
+ *
1727
+ * TRANS (input) CHARACTER*1
1728
+ * = 'N': No transpose, apply Q;
1729
+ * = 'T': Transpose, apply Q**T.
1730
+ *
1731
+ * M (input) INTEGER
1732
+ * The number of rows of the matrix C. M >= 0.
1733
+ *
1734
+ * N (input) INTEGER
1735
+ * The number of columns of the matrix C. N >= 0.
1736
+ *
1737
+ * K (input) INTEGER
1738
+ * The number of elementary reflectors whose product defines
1739
+ * the matrix Q.
1740
+ * If SIDE = 'L', M >= K >= 0;
1741
+ * if SIDE = 'R', N >= K >= 0.
1742
+ *
1743
+ * A (input) DOUBLE PRECISION array, dimension
1744
+ * (LDA,M) if SIDE = 'L',
1745
+ * (LDA,N) if SIDE = 'R'
1746
+ * The i-th row must contain the vector which defines the
1747
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1748
+ * DGELQF in the first k rows of its array argument A.
1749
+ * A is modified by the routine but restored on exit.
1750
+ *
1751
+ * LDA (input) INTEGER
1752
+ * The leading dimension of the array A. LDA >= max(1,K).
1753
+ *
1754
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1755
+ * TAU(i) must contain the scalar factor of the elementary
1756
+ * reflector H(i), as returned by DGELQF.
1757
+ *
1758
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1759
+ * On entry, the M-by-N matrix C.
1760
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
1761
+ *
1762
+ * LDC (input) INTEGER
1763
+ * The leading dimension of the array C. LDC >= max(1,M).
1764
+ *
1765
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1766
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1767
+ *
1768
+ * LWORK (input) INTEGER
1769
+ * The dimension of the array WORK.
1770
+ * If SIDE = 'L', LWORK >= max(1,N);
1771
+ * if SIDE = 'R', LWORK >= max(1,M).
1772
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
1773
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
1774
+ * blocksize.
1775
+ *
1776
+ * If LWORK = -1, then a workspace query is assumed; the routine
1777
+ * only calculates the optimal size of the WORK array, returns
1778
+ * this value as the first entry of the WORK array, and no error
1779
+ * message related to LWORK is issued by XERBLA.
1780
+ *
1781
+ * INFO (output) INTEGER
1782
+ * = 0: successful exit
1783
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1784
+ *
1785
+
1786
+ * =====================================================================
1787
+ *
1788
+
1789
+
1790
+ </PRE>
1791
+ <A HREF="#top">go to the page top</A>
1792
+
1793
+ <A NAME="dormql"></A>
1794
+ <H2>dormql</H2>
1795
+ <PRE>
1796
+ USAGE:
1797
+ work, info, c = NumRu::Lapack.dormql( side, trans, m, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
1798
+
1799
+
1800
+ FORTRAN MANUAL
1801
+ SUBROUTINE DORMQL( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
1802
+
1803
+ * Purpose
1804
+ * =======
1805
+ *
1806
+ * DORMQL overwrites the general real M-by-N matrix C with
1807
+ *
1808
+ * SIDE = 'L' SIDE = 'R'
1809
+ * TRANS = 'N': Q * C C * Q
1810
+ * TRANS = 'T': Q**T * C C * Q**T
1811
+ *
1812
+ * where Q is a real orthogonal matrix defined as the product of k
1813
+ * elementary reflectors
1814
+ *
1815
+ * Q = H(k) . . . H(2) H(1)
1816
+ *
1817
+ * as returned by DGEQLF. Q is of order M if SIDE = 'L' and of order N
1818
+ * if SIDE = 'R'.
1819
+ *
1820
+
1821
+ * Arguments
1822
+ * =========
1823
+ *
1824
+ * SIDE (input) CHARACTER*1
1825
+ * = 'L': apply Q or Q**T from the Left;
1826
+ * = 'R': apply Q or Q**T from the Right.
1827
+ *
1828
+ * TRANS (input) CHARACTER*1
1829
+ * = 'N': No transpose, apply Q;
1830
+ * = 'T': Transpose, apply Q**T.
1831
+ *
1832
+ * M (input) INTEGER
1833
+ * The number of rows of the matrix C. M >= 0.
1834
+ *
1835
+ * N (input) INTEGER
1836
+ * The number of columns of the matrix C. N >= 0.
1837
+ *
1838
+ * K (input) INTEGER
1839
+ * The number of elementary reflectors whose product defines
1840
+ * the matrix Q.
1841
+ * If SIDE = 'L', M >= K >= 0;
1842
+ * if SIDE = 'R', N >= K >= 0.
1843
+ *
1844
+ * A (input) DOUBLE PRECISION array, dimension (LDA,K)
1845
+ * The i-th column must contain the vector which defines the
1846
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1847
+ * DGEQLF in the last k columns of its array argument A.
1848
+ * A is modified by the routine but restored on exit.
1849
+ *
1850
+ * LDA (input) INTEGER
1851
+ * The leading dimension of the array A.
1852
+ * If SIDE = 'L', LDA >= max(1,M);
1853
+ * if SIDE = 'R', LDA >= max(1,N).
1854
+ *
1855
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1856
+ * TAU(i) must contain the scalar factor of the elementary
1857
+ * reflector H(i), as returned by DGEQLF.
1858
+ *
1859
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1860
+ * On entry, the M-by-N matrix C.
1861
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
1862
+ *
1863
+ * LDC (input) INTEGER
1864
+ * The leading dimension of the array C. LDC >= max(1,M).
1865
+ *
1866
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1867
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1868
+ *
1869
+ * LWORK (input) INTEGER
1870
+ * The dimension of the array WORK.
1871
+ * If SIDE = 'L', LWORK >= max(1,N);
1872
+ * if SIDE = 'R', LWORK >= max(1,M).
1873
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
1874
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
1875
+ * blocksize.
1876
+ *
1877
+ * If LWORK = -1, then a workspace query is assumed; the routine
1878
+ * only calculates the optimal size of the WORK array, returns
1879
+ * this value as the first entry of the WORK array, and no error
1880
+ * message related to LWORK is issued by XERBLA.
1881
+ *
1882
+ * INFO (output) INTEGER
1883
+ * = 0: successful exit
1884
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1885
+ *
1886
+
1887
+ * =====================================================================
1888
+ *
1889
+
1890
+
1891
+ </PRE>
1892
+ <A HREF="#top">go to the page top</A>
1893
+
1894
+ <A NAME="dormqr"></A>
1895
+ <H2>dormqr</H2>
1896
+ <PRE>
1897
+ USAGE:
1898
+ work, info, c = NumRu::Lapack.dormqr( side, trans, m, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
1899
+
1900
+
1901
+ FORTRAN MANUAL
1902
+ SUBROUTINE DORMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
1903
+
1904
+ * Purpose
1905
+ * =======
1906
+ *
1907
+ * DORMQR overwrites the general real M-by-N matrix C with
1908
+ *
1909
+ * SIDE = 'L' SIDE = 'R'
1910
+ * TRANS = 'N': Q * C C * Q
1911
+ * TRANS = 'T': Q**T * C C * Q**T
1912
+ *
1913
+ * where Q is a real orthogonal matrix defined as the product of k
1914
+ * elementary reflectors
1915
+ *
1916
+ * Q = H(1) H(2) . . . H(k)
1917
+ *
1918
+ * as returned by DGEQRF. Q is of order M if SIDE = 'L' and of order N
1919
+ * if SIDE = 'R'.
1920
+ *
1921
+
1922
+ * Arguments
1923
+ * =========
1924
+ *
1925
+ * SIDE (input) CHARACTER*1
1926
+ * = 'L': apply Q or Q**T from the Left;
1927
+ * = 'R': apply Q or Q**T from the Right.
1928
+ *
1929
+ * TRANS (input) CHARACTER*1
1930
+ * = 'N': No transpose, apply Q;
1931
+ * = 'T': Transpose, apply Q**T.
1932
+ *
1933
+ * M (input) INTEGER
1934
+ * The number of rows of the matrix C. M >= 0.
1935
+ *
1936
+ * N (input) INTEGER
1937
+ * The number of columns of the matrix C. N >= 0.
1938
+ *
1939
+ * K (input) INTEGER
1940
+ * The number of elementary reflectors whose product defines
1941
+ * the matrix Q.
1942
+ * If SIDE = 'L', M >= K >= 0;
1943
+ * if SIDE = 'R', N >= K >= 0.
1944
+ *
1945
+ * A (input) DOUBLE PRECISION array, dimension (LDA,K)
1946
+ * The i-th column must contain the vector which defines the
1947
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
1948
+ * DGEQRF in the first k columns of its array argument A.
1949
+ * A is modified by the routine but restored on exit.
1950
+ *
1951
+ * LDA (input) INTEGER
1952
+ * The leading dimension of the array A.
1953
+ * If SIDE = 'L', LDA >= max(1,M);
1954
+ * if SIDE = 'R', LDA >= max(1,N).
1955
+ *
1956
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
1957
+ * TAU(i) must contain the scalar factor of the elementary
1958
+ * reflector H(i), as returned by DGEQRF.
1959
+ *
1960
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
1961
+ * On entry, the M-by-N matrix C.
1962
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
1963
+ *
1964
+ * LDC (input) INTEGER
1965
+ * The leading dimension of the array C. LDC >= max(1,M).
1966
+ *
1967
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
1968
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1969
+ *
1970
+ * LWORK (input) INTEGER
1971
+ * The dimension of the array WORK.
1972
+ * If SIDE = 'L', LWORK >= max(1,N);
1973
+ * if SIDE = 'R', LWORK >= max(1,M).
1974
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
1975
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
1976
+ * blocksize.
1977
+ *
1978
+ * If LWORK = -1, then a workspace query is assumed; the routine
1979
+ * only calculates the optimal size of the WORK array, returns
1980
+ * this value as the first entry of the WORK array, and no error
1981
+ * message related to LWORK is issued by XERBLA.
1982
+ *
1983
+ * INFO (output) INTEGER
1984
+ * = 0: successful exit
1985
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1986
+ *
1987
+
1988
+ * =====================================================================
1989
+ *
1990
+
1991
+
1992
+ </PRE>
1993
+ <A HREF="#top">go to the page top</A>
1994
+
1995
+ <A NAME="dormr2"></A>
1996
+ <H2>dormr2</H2>
1997
+ <PRE>
1998
+ USAGE:
1999
+ info, c = NumRu::Lapack.dormr2( side, trans, a, tau, c, [:usage => usage, :help => help])
2000
+
2001
+
2002
+ FORTRAN MANUAL
2003
+ SUBROUTINE DORMR2( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO )
2004
+
2005
+ * Purpose
2006
+ * =======
2007
+ *
2008
+ * DORMR2 overwrites the general real m by n matrix C with
2009
+ *
2010
+ * Q * C if SIDE = 'L' and TRANS = 'N', or
2011
+ *
2012
+ * Q'* C if SIDE = 'L' and TRANS = 'T', or
2013
+ *
2014
+ * C * Q if SIDE = 'R' and TRANS = 'N', or
2015
+ *
2016
+ * C * Q' if SIDE = 'R' and TRANS = 'T',
2017
+ *
2018
+ * where Q is a real orthogonal matrix defined as the product of k
2019
+ * elementary reflectors
2020
+ *
2021
+ * Q = H(1) H(2) . . . H(k)
2022
+ *
2023
+ * as returned by DGERQF. Q is of order m if SIDE = 'L' and of order n
2024
+ * if SIDE = 'R'.
2025
+ *
2026
+
2027
+ * Arguments
2028
+ * =========
2029
+ *
2030
+ * SIDE (input) CHARACTER*1
2031
+ * = 'L': apply Q or Q' from the Left
2032
+ * = 'R': apply Q or Q' from the Right
2033
+ *
2034
+ * TRANS (input) CHARACTER*1
2035
+ * = 'N': apply Q (No transpose)
2036
+ * = 'T': apply Q' (Transpose)
2037
+ *
2038
+ * M (input) INTEGER
2039
+ * The number of rows of the matrix C. M >= 0.
2040
+ *
2041
+ * N (input) INTEGER
2042
+ * The number of columns of the matrix C. N >= 0.
2043
+ *
2044
+ * K (input) INTEGER
2045
+ * The number of elementary reflectors whose product defines
2046
+ * the matrix Q.
2047
+ * If SIDE = 'L', M >= K >= 0;
2048
+ * if SIDE = 'R', N >= K >= 0.
2049
+ *
2050
+ * A (input) DOUBLE PRECISION array, dimension
2051
+ * (LDA,M) if SIDE = 'L',
2052
+ * (LDA,N) if SIDE = 'R'
2053
+ * The i-th row must contain the vector which defines the
2054
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
2055
+ * DGERQF in the last k rows of its array argument A.
2056
+ * A is modified by the routine but restored on exit.
2057
+ *
2058
+ * LDA (input) INTEGER
2059
+ * The leading dimension of the array A. LDA >= max(1,K).
2060
+ *
2061
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
2062
+ * TAU(i) must contain the scalar factor of the elementary
2063
+ * reflector H(i), as returned by DGERQF.
2064
+ *
2065
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
2066
+ * On entry, the m by n matrix C.
2067
+ * On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q.
2068
+ *
2069
+ * LDC (input) INTEGER
2070
+ * The leading dimension of the array C. LDC >= max(1,M).
2071
+ *
2072
+ * WORK (workspace) DOUBLE PRECISION array, dimension
2073
+ * (N) if SIDE = 'L',
2074
+ * (M) if SIDE = 'R'
2075
+ *
2076
+ * INFO (output) INTEGER
2077
+ * = 0: successful exit
2078
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2079
+ *
2080
+
2081
+ * =====================================================================
2082
+ *
2083
+
2084
+
2085
+ </PRE>
2086
+ <A HREF="#top">go to the page top</A>
2087
+
2088
+ <A NAME="dormr3"></A>
2089
+ <H2>dormr3</H2>
2090
+ <PRE>
2091
+ USAGE:
2092
+ info, c = NumRu::Lapack.dormr3( side, trans, l, a, tau, c, [:usage => usage, :help => help])
2093
+
2094
+
2095
+ FORTRAN MANUAL
2096
+ SUBROUTINE DORMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK, INFO )
2097
+
2098
+ * Purpose
2099
+ * =======
2100
+ *
2101
+ * DORMR3 overwrites the general real m by n matrix C with
2102
+ *
2103
+ * Q * C if SIDE = 'L' and TRANS = 'N', or
2104
+ *
2105
+ * Q'* C if SIDE = 'L' and TRANS = 'T', or
2106
+ *
2107
+ * C * Q if SIDE = 'R' and TRANS = 'N', or
2108
+ *
2109
+ * C * Q' if SIDE = 'R' and TRANS = 'T',
2110
+ *
2111
+ * where Q is a real orthogonal matrix defined as the product of k
2112
+ * elementary reflectors
2113
+ *
2114
+ * Q = H(1) H(2) . . . H(k)
2115
+ *
2116
+ * as returned by DTZRZF. Q is of order m if SIDE = 'L' and of order n
2117
+ * if SIDE = 'R'.
2118
+ *
2119
+
2120
+ * Arguments
2121
+ * =========
2122
+ *
2123
+ * SIDE (input) CHARACTER*1
2124
+ * = 'L': apply Q or Q' from the Left
2125
+ * = 'R': apply Q or Q' from the Right
2126
+ *
2127
+ * TRANS (input) CHARACTER*1
2128
+ * = 'N': apply Q (No transpose)
2129
+ * = 'T': apply Q' (Transpose)
2130
+ *
2131
+ * M (input) INTEGER
2132
+ * The number of rows of the matrix C. M >= 0.
2133
+ *
2134
+ * N (input) INTEGER
2135
+ * The number of columns of the matrix C. N >= 0.
2136
+ *
2137
+ * K (input) INTEGER
2138
+ * The number of elementary reflectors whose product defines
2139
+ * the matrix Q.
2140
+ * If SIDE = 'L', M >= K >= 0;
2141
+ * if SIDE = 'R', N >= K >= 0.
2142
+ *
2143
+ * L (input) INTEGER
2144
+ * The number of columns of the matrix A containing
2145
+ * the meaningful part of the Householder reflectors.
2146
+ * If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0.
2147
+ *
2148
+ * A (input) DOUBLE PRECISION array, dimension
2149
+ * (LDA,M) if SIDE = 'L',
2150
+ * (LDA,N) if SIDE = 'R'
2151
+ * The i-th row must contain the vector which defines the
2152
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
2153
+ * DTZRZF in the last k rows of its array argument A.
2154
+ * A is modified by the routine but restored on exit.
2155
+ *
2156
+ * LDA (input) INTEGER
2157
+ * The leading dimension of the array A. LDA >= max(1,K).
2158
+ *
2159
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
2160
+ * TAU(i) must contain the scalar factor of the elementary
2161
+ * reflector H(i), as returned by DTZRZF.
2162
+ *
2163
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
2164
+ * On entry, the m-by-n matrix C.
2165
+ * On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q.
2166
+ *
2167
+ * LDC (input) INTEGER
2168
+ * The leading dimension of the array C. LDC >= max(1,M).
2169
+ *
2170
+ * WORK (workspace) DOUBLE PRECISION array, dimension
2171
+ * (N) if SIDE = 'L',
2172
+ * (M) if SIDE = 'R'
2173
+ *
2174
+ * INFO (output) INTEGER
2175
+ * = 0: successful exit
2176
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2177
+ *
2178
+
2179
+ * Further Details
2180
+ * ===============
2181
+ *
2182
+ * Based on contributions by
2183
+ * A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
2184
+ *
2185
+ * =====================================================================
2186
+ *
2187
+ * .. Local Scalars ..
2188
+ LOGICAL LEFT, NOTRAN
2189
+ INTEGER I, I1, I2, I3, IC, JA, JC, MI, NI, NQ
2190
+ * ..
2191
+ * .. External Functions ..
2192
+ LOGICAL LSAME
2193
+ EXTERNAL LSAME
2194
+ * ..
2195
+ * .. External Subroutines ..
2196
+ EXTERNAL DLARZ, XERBLA
2197
+ * ..
2198
+ * .. Intrinsic Functions ..
2199
+ INTRINSIC MAX
2200
+ * ..
2201
+
2202
+
2203
+ </PRE>
2204
+ <A HREF="#top">go to the page top</A>
2205
+
2206
+ <A NAME="dormrq"></A>
2207
+ <H2>dormrq</H2>
2208
+ <PRE>
2209
+ USAGE:
2210
+ work, info, c = NumRu::Lapack.dormrq( side, trans, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
2211
+
2212
+
2213
+ FORTRAN MANUAL
2214
+ SUBROUTINE DORMRQ( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
2215
+
2216
+ * Purpose
2217
+ * =======
2218
+ *
2219
+ * DORMRQ overwrites the general real M-by-N matrix C with
2220
+ *
2221
+ * SIDE = 'L' SIDE = 'R'
2222
+ * TRANS = 'N': Q * C C * Q
2223
+ * TRANS = 'T': Q**T * C C * Q**T
2224
+ *
2225
+ * where Q is a real orthogonal matrix defined as the product of k
2226
+ * elementary reflectors
2227
+ *
2228
+ * Q = H(1) H(2) . . . H(k)
2229
+ *
2230
+ * as returned by DGERQF. Q is of order M if SIDE = 'L' and of order N
2231
+ * if SIDE = 'R'.
2232
+ *
2233
+
2234
+ * Arguments
2235
+ * =========
2236
+ *
2237
+ * SIDE (input) CHARACTER*1
2238
+ * = 'L': apply Q or Q**T from the Left;
2239
+ * = 'R': apply Q or Q**T from the Right.
2240
+ *
2241
+ * TRANS (input) CHARACTER*1
2242
+ * = 'N': No transpose, apply Q;
2243
+ * = 'T': Transpose, apply Q**T.
2244
+ *
2245
+ * M (input) INTEGER
2246
+ * The number of rows of the matrix C. M >= 0.
2247
+ *
2248
+ * N (input) INTEGER
2249
+ * The number of columns of the matrix C. N >= 0.
2250
+ *
2251
+ * K (input) INTEGER
2252
+ * The number of elementary reflectors whose product defines
2253
+ * the matrix Q.
2254
+ * If SIDE = 'L', M >= K >= 0;
2255
+ * if SIDE = 'R', N >= K >= 0.
2256
+ *
2257
+ * A (input) DOUBLE PRECISION array, dimension
2258
+ * (LDA,M) if SIDE = 'L',
2259
+ * (LDA,N) if SIDE = 'R'
2260
+ * The i-th row must contain the vector which defines the
2261
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
2262
+ * DGERQF in the last k rows of its array argument A.
2263
+ * A is modified by the routine but restored on exit.
2264
+ *
2265
+ * LDA (input) INTEGER
2266
+ * The leading dimension of the array A. LDA >= max(1,K).
2267
+ *
2268
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
2269
+ * TAU(i) must contain the scalar factor of the elementary
2270
+ * reflector H(i), as returned by DGERQF.
2271
+ *
2272
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
2273
+ * On entry, the M-by-N matrix C.
2274
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
2275
+ *
2276
+ * LDC (input) INTEGER
2277
+ * The leading dimension of the array C. LDC >= max(1,M).
2278
+ *
2279
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
2280
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
2281
+ *
2282
+ * LWORK (input) INTEGER
2283
+ * The dimension of the array WORK.
2284
+ * If SIDE = 'L', LWORK >= max(1,N);
2285
+ * if SIDE = 'R', LWORK >= max(1,M).
2286
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
2287
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
2288
+ * blocksize.
2289
+ *
2290
+ * If LWORK = -1, then a workspace query is assumed; the routine
2291
+ * only calculates the optimal size of the WORK array, returns
2292
+ * this value as the first entry of the WORK array, and no error
2293
+ * message related to LWORK is issued by XERBLA.
2294
+ *
2295
+ * INFO (output) INTEGER
2296
+ * = 0: successful exit
2297
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2298
+ *
2299
+
2300
+ * =====================================================================
2301
+ *
2302
+
2303
+
2304
+ </PRE>
2305
+ <A HREF="#top">go to the page top</A>
2306
+
2307
+ <A NAME="dormrz"></A>
2308
+ <H2>dormrz</H2>
2309
+ <PRE>
2310
+ USAGE:
2311
+ work, info, c = NumRu::Lapack.dormrz( side, trans, l, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
2312
+
2313
+
2314
+ FORTRAN MANUAL
2315
+ SUBROUTINE DORMRZ( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
2316
+
2317
+ * Purpose
2318
+ * =======
2319
+ *
2320
+ * DORMRZ overwrites the general real M-by-N matrix C with
2321
+ *
2322
+ * SIDE = 'L' SIDE = 'R'
2323
+ * TRANS = 'N': Q * C C * Q
2324
+ * TRANS = 'T': Q**T * C C * Q**T
2325
+ *
2326
+ * where Q is a real orthogonal matrix defined as the product of k
2327
+ * elementary reflectors
2328
+ *
2329
+ * Q = H(1) H(2) . . . H(k)
2330
+ *
2331
+ * as returned by DTZRZF. Q is of order M if SIDE = 'L' and of order N
2332
+ * if SIDE = 'R'.
2333
+ *
2334
+
2335
+ * Arguments
2336
+ * =========
2337
+ *
2338
+ * SIDE (input) CHARACTER*1
2339
+ * = 'L': apply Q or Q**T from the Left;
2340
+ * = 'R': apply Q or Q**T from the Right.
2341
+ *
2342
+ * TRANS (input) CHARACTER*1
2343
+ * = 'N': No transpose, apply Q;
2344
+ * = 'T': Transpose, apply Q**T.
2345
+ *
2346
+ * M (input) INTEGER
2347
+ * The number of rows of the matrix C. M >= 0.
2348
+ *
2349
+ * N (input) INTEGER
2350
+ * The number of columns of the matrix C. N >= 0.
2351
+ *
2352
+ * K (input) INTEGER
2353
+ * The number of elementary reflectors whose product defines
2354
+ * the matrix Q.
2355
+ * If SIDE = 'L', M >= K >= 0;
2356
+ * if SIDE = 'R', N >= K >= 0.
2357
+ *
2358
+ * L (input) INTEGER
2359
+ * The number of columns of the matrix A containing
2360
+ * the meaningful part of the Householder reflectors.
2361
+ * If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0.
2362
+ *
2363
+ * A (input) DOUBLE PRECISION array, dimension
2364
+ * (LDA,M) if SIDE = 'L',
2365
+ * (LDA,N) if SIDE = 'R'
2366
+ * The i-th row must contain the vector which defines the
2367
+ * elementary reflector H(i), for i = 1,2,...,k, as returned by
2368
+ * DTZRZF in the last k rows of its array argument A.
2369
+ * A is modified by the routine but restored on exit.
2370
+ *
2371
+ * LDA (input) INTEGER
2372
+ * The leading dimension of the array A. LDA >= max(1,K).
2373
+ *
2374
+ * TAU (input) DOUBLE PRECISION array, dimension (K)
2375
+ * TAU(i) must contain the scalar factor of the elementary
2376
+ * reflector H(i), as returned by DTZRZF.
2377
+ *
2378
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
2379
+ * On entry, the M-by-N matrix C.
2380
+ * On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q.
2381
+ *
2382
+ * LDC (input) INTEGER
2383
+ * The leading dimension of the array C. LDC >= max(1,M).
2384
+ *
2385
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
2386
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
2387
+ *
2388
+ * LWORK (input) INTEGER
2389
+ * The dimension of the array WORK.
2390
+ * If SIDE = 'L', LWORK >= max(1,N);
2391
+ * if SIDE = 'R', LWORK >= max(1,M).
2392
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
2393
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
2394
+ * blocksize.
2395
+ *
2396
+ * If LWORK = -1, then a workspace query is assumed; the routine
2397
+ * only calculates the optimal size of the WORK array, returns
2398
+ * this value as the first entry of the WORK array, and no error
2399
+ * message related to LWORK is issued by XERBLA.
2400
+ *
2401
+ * INFO (output) INTEGER
2402
+ * = 0: successful exit
2403
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2404
+ *
2405
+
2406
+ * Further Details
2407
+ * ===============
2408
+ *
2409
+ * Based on contributions by
2410
+ * A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
2411
+ *
2412
+ * =====================================================================
2413
+ *
2414
+
2415
+
2416
+ </PRE>
2417
+ <A HREF="#top">go to the page top</A>
2418
+
2419
+ <A NAME="dormtr"></A>
2420
+ <H2>dormtr</H2>
2421
+ <PRE>
2422
+ USAGE:
2423
+ work, info, c = NumRu::Lapack.dormtr( side, uplo, trans, a, tau, c, [:lwork => lwork, :usage => usage, :help => help])
2424
+
2425
+
2426
+ FORTRAN MANUAL
2427
+ SUBROUTINE DORMTR( SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC, WORK, LWORK, INFO )
2428
+
2429
+ * Purpose
2430
+ * =======
2431
+ *
2432
+ * DORMTR overwrites the general real M-by-N matrix C with
2433
+ *
2434
+ * SIDE = 'L' SIDE = 'R'
2435
+ * TRANS = 'N': Q * C C * Q
2436
+ * TRANS = 'T': Q**T * C C * Q**T
2437
+ *
2438
+ * where Q is a real orthogonal matrix of order nq, with nq = m if
2439
+ * SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
2440
+ * nq-1 elementary reflectors, as returned by DSYTRD:
2441
+ *
2442
+ * if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
2443
+ *
2444
+ * if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
2445
+ *
2446
+
2447
+ * Arguments
2448
+ * =========
2449
+ *
2450
+ * SIDE (input) CHARACTER*1
2451
+ * = 'L': apply Q or Q**T from the Left;
2452
+ * = 'R': apply Q or Q**T from the Right.
2453
+ *
2454
+ * UPLO (input) CHARACTER*1
2455
+ * = 'U': Upper triangle of A contains elementary reflectors
2456
+ * from DSYTRD;
2457
+ * = 'L': Lower triangle of A contains elementary reflectors
2458
+ * from DSYTRD.
2459
+ *
2460
+ * TRANS (input) CHARACTER*1
2461
+ * = 'N': No transpose, apply Q;
2462
+ * = 'T': Transpose, apply Q**T.
2463
+ *
2464
+ * M (input) INTEGER
2465
+ * The number of rows of the matrix C. M >= 0.
2466
+ *
2467
+ * N (input) INTEGER
2468
+ * The number of columns of the matrix C. N >= 0.
2469
+ *
2470
+ * A (input) DOUBLE PRECISION array, dimension
2471
+ * (LDA,M) if SIDE = 'L'
2472
+ * (LDA,N) if SIDE = 'R'
2473
+ * The vectors which define the elementary reflectors, as
2474
+ * returned by DSYTRD.
2475
+ *
2476
+ * LDA (input) INTEGER
2477
+ * The leading dimension of the array A.
2478
+ * LDA >= max(1,M) if SIDE = 'L'; LDA >= max(1,N) if SIDE = 'R'.
2479
+ *
2480
+ * TAU (input) DOUBLE PRECISION array, dimension
2481
+ * (M-1) if SIDE = 'L'
2482
+ * (N-1) if SIDE = 'R'
2483
+ * TAU(i) must contain the scalar factor of the elementary
2484
+ * reflector H(i), as returned by DSYTRD.
2485
+ *
2486
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
2487
+ * On entry, the M-by-N matrix C.
2488
+ * On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
2489
+ *
2490
+ * LDC (input) INTEGER
2491
+ * The leading dimension of the array C. LDC >= max(1,M).
2492
+ *
2493
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK))
2494
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
2495
+ *
2496
+ * LWORK (input) INTEGER
2497
+ * The dimension of the array WORK.
2498
+ * If SIDE = 'L', LWORK >= max(1,N);
2499
+ * if SIDE = 'R', LWORK >= max(1,M).
2500
+ * For optimum performance LWORK >= N*NB if SIDE = 'L', and
2501
+ * LWORK >= M*NB if SIDE = 'R', where NB is the optimal
2502
+ * blocksize.
2503
+ *
2504
+ * If LWORK = -1, then a workspace query is assumed; the routine
2505
+ * only calculates the optimal size of the WORK array, returns
2506
+ * this value as the first entry of the WORK array, and no error
2507
+ * message related to LWORK is issued by XERBLA.
2508
+ *
2509
+ * INFO (output) INTEGER
2510
+ * = 0: successful exit
2511
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2512
+ *
2513
+
2514
+ * =====================================================================
2515
+ *
2516
+ * .. Local Scalars ..
2517
+ LOGICAL LEFT, LQUERY, UPPER
2518
+ INTEGER I1, I2, IINFO, LWKOPT, MI, NB, NI, NQ, NW
2519
+ * ..
2520
+ * .. External Functions ..
2521
+ LOGICAL LSAME
2522
+ INTEGER ILAENV
2523
+ EXTERNAL LSAME, ILAENV
2524
+ * ..
2525
+ * .. External Subroutines ..
2526
+ EXTERNAL DORMQL, DORMQR, XERBLA
2527
+ * ..
2528
+ * .. Intrinsic Functions ..
2529
+ INTRINSIC MAX
2530
+ * ..
2531
+
2532
+
2533
+ </PRE>
2534
+ <A HREF="#top">go to the page top</A>
2535
+
2536
+ <HR />
2537
+ <A HREF="d.html">back to matrix types</A><BR>
2538
+ <A HREF="d.html">back to data types</A>
2539
+ </BODY>
2540
+ </HTML>