ruby-lapack 1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/zhg.html ADDED
@@ -0,0 +1,201 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>COMPLEX*16 or DOUBLE COMPLEX routines for upper Hessenberg matrix, generalized problem (i.e a Hessenberg and a triangular matrix) matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>COMPLEX*16 or DOUBLE COMPLEX routines for upper Hessenberg matrix, generalized problem (i.e a Hessenberg and a triangular matrix) matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#zhgeqz">zhgeqz</A></LI>
10
+ </UL>
11
+
12
+ <A NAME="zhgeqz"></A>
13
+ <H2>zhgeqz</H2>
14
+ <PRE>
15
+ USAGE:
16
+ alpha, beta, work, info, h, t, q, z = NumRu::Lapack.zhgeqz( job, compq, compz, ilo, ihi, h, t, q, z, [:lwork => lwork, :usage => usage, :help => help])
17
+
18
+
19
+ FORTRAN MANUAL
20
+ SUBROUTINE ZHGEQZ( JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHA, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, RWORK, INFO )
21
+
22
+ * Purpose
23
+ * =======
24
+ *
25
+ * ZHGEQZ computes the eigenvalues of a complex matrix pair (H,T),
26
+ * where H is an upper Hessenberg matrix and T is upper triangular,
27
+ * using the single-shift QZ method.
28
+ * Matrix pairs of this type are produced by the reduction to
29
+ * generalized upper Hessenberg form of a complex matrix pair (A,B):
30
+ *
31
+ * A = Q1*H*Z1**H, B = Q1*T*Z1**H,
32
+ *
33
+ * as computed by ZGGHRD.
34
+ *
35
+ * If JOB='S', then the Hessenberg-triangular pair (H,T) is
36
+ * also reduced to generalized Schur form,
37
+ *
38
+ * H = Q*S*Z**H, T = Q*P*Z**H,
39
+ *
40
+ * where Q and Z are unitary matrices and S and P are upper triangular.
41
+ *
42
+ * Optionally, the unitary matrix Q from the generalized Schur
43
+ * factorization may be postmultiplied into an input matrix Q1, and the
44
+ * unitary matrix Z may be postmultiplied into an input matrix Z1.
45
+ * If Q1 and Z1 are the unitary matrices from ZGGHRD that reduced
46
+ * the matrix pair (A,B) to generalized Hessenberg form, then the output
47
+ * matrices Q1*Q and Z1*Z are the unitary factors from the generalized
48
+ * Schur factorization of (A,B):
49
+ *
50
+ * A = (Q1*Q)*S*(Z1*Z)**H, B = (Q1*Q)*P*(Z1*Z)**H.
51
+ *
52
+ * To avoid overflow, eigenvalues of the matrix pair (H,T)
53
+ * (equivalently, of (A,B)) are computed as a pair of complex values
54
+ * (alpha,beta). If beta is nonzero, lambda = alpha / beta is an
55
+ * eigenvalue of the generalized nonsymmetric eigenvalue problem (GNEP)
56
+ * A*x = lambda*B*x
57
+ * and if alpha is nonzero, mu = beta / alpha is an eigenvalue of the
58
+ * alternate form of the GNEP
59
+ * mu*A*y = B*y.
60
+ * The values of alpha and beta for the i-th eigenvalue can be read
61
+ * directly from the generalized Schur form: alpha = S(i,i),
62
+ * beta = P(i,i).
63
+ *
64
+ * Ref: C.B. Moler & G.W. Stewart, "An Algorithm for Generalized Matrix
65
+ * Eigenvalue Problems", SIAM J. Numer. Anal., 10(1973),
66
+ * pp. 241--256.
67
+ *
68
+
69
+ * Arguments
70
+ * =========
71
+ *
72
+ * JOB (input) CHARACTER*1
73
+ * = 'E': Compute eigenvalues only;
74
+ * = 'S': Computer eigenvalues and the Schur form.
75
+ *
76
+ * COMPQ (input) CHARACTER*1
77
+ * = 'N': Left Schur vectors (Q) are not computed;
78
+ * = 'I': Q is initialized to the unit matrix and the matrix Q
79
+ * of left Schur vectors of (H,T) is returned;
80
+ * = 'V': Q must contain a unitary matrix Q1 on entry and
81
+ * the product Q1*Q is returned.
82
+ *
83
+ * COMPZ (input) CHARACTER*1
84
+ * = 'N': Right Schur vectors (Z) are not computed;
85
+ * = 'I': Q is initialized to the unit matrix and the matrix Z
86
+ * of right Schur vectors of (H,T) is returned;
87
+ * = 'V': Z must contain a unitary matrix Z1 on entry and
88
+ * the product Z1*Z is returned.
89
+ *
90
+ * N (input) INTEGER
91
+ * The order of the matrices H, T, Q, and Z. N >= 0.
92
+ *
93
+ * ILO (input) INTEGER
94
+ * IHI (input) INTEGER
95
+ * ILO and IHI mark the rows and columns of H which are in
96
+ * Hessenberg form. It is assumed that A is already upper
97
+ * triangular in rows and columns 1:ILO-1 and IHI+1:N.
98
+ * If N > 0, 1 <= ILO <= IHI <= N; if N = 0, ILO=1 and IHI=0.
99
+ *
100
+ * H (input/output) COMPLEX*16 array, dimension (LDH, N)
101
+ * On entry, the N-by-N upper Hessenberg matrix H.
102
+ * On exit, if JOB = 'S', H contains the upper triangular
103
+ * matrix S from the generalized Schur factorization.
104
+ * If JOB = 'E', the diagonal of H matches that of S, but
105
+ * the rest of H is unspecified.
106
+ *
107
+ * LDH (input) INTEGER
108
+ * The leading dimension of the array H. LDH >= max( 1, N ).
109
+ *
110
+ * T (input/output) COMPLEX*16 array, dimension (LDT, N)
111
+ * On entry, the N-by-N upper triangular matrix T.
112
+ * On exit, if JOB = 'S', T contains the upper triangular
113
+ * matrix P from the generalized Schur factorization.
114
+ * If JOB = 'E', the diagonal of T matches that of P, but
115
+ * the rest of T is unspecified.
116
+ *
117
+ * LDT (input) INTEGER
118
+ * The leading dimension of the array T. LDT >= max( 1, N ).
119
+ *
120
+ * ALPHA (output) COMPLEX*16 array, dimension (N)
121
+ * The complex scalars alpha that define the eigenvalues of
122
+ * GNEP. ALPHA(i) = S(i,i) in the generalized Schur
123
+ * factorization.
124
+ *
125
+ * BETA (output) COMPLEX*16 array, dimension (N)
126
+ * The real non-negative scalars beta that define the
127
+ * eigenvalues of GNEP. BETA(i) = P(i,i) in the generalized
128
+ * Schur factorization.
129
+ *
130
+ * Together, the quantities alpha = ALPHA(j) and beta = BETA(j)
131
+ * represent the j-th eigenvalue of the matrix pair (A,B), in
132
+ * one of the forms lambda = alpha/beta or mu = beta/alpha.
133
+ * Since either lambda or mu may overflow, they should not,
134
+ * in general, be computed.
135
+ *
136
+ * Q (input/output) COMPLEX*16 array, dimension (LDQ, N)
137
+ * On entry, if COMPZ = 'V', the unitary matrix Q1 used in the
138
+ * reduction of (A,B) to generalized Hessenberg form.
139
+ * On exit, if COMPZ = 'I', the unitary matrix of left Schur
140
+ * vectors of (H,T), and if COMPZ = 'V', the unitary matrix of
141
+ * left Schur vectors of (A,B).
142
+ * Not referenced if COMPZ = 'N'.
143
+ *
144
+ * LDQ (input) INTEGER
145
+ * The leading dimension of the array Q. LDQ >= 1.
146
+ * If COMPQ='V' or 'I', then LDQ >= N.
147
+ *
148
+ * Z (input/output) COMPLEX*16 array, dimension (LDZ, N)
149
+ * On entry, if COMPZ = 'V', the unitary matrix Z1 used in the
150
+ * reduction of (A,B) to generalized Hessenberg form.
151
+ * On exit, if COMPZ = 'I', the unitary matrix of right Schur
152
+ * vectors of (H,T), and if COMPZ = 'V', the unitary matrix of
153
+ * right Schur vectors of (A,B).
154
+ * Not referenced if COMPZ = 'N'.
155
+ *
156
+ * LDZ (input) INTEGER
157
+ * The leading dimension of the array Z. LDZ >= 1.
158
+ * If COMPZ='V' or 'I', then LDZ >= N.
159
+ *
160
+ * WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
161
+ * On exit, if INFO >= 0, WORK(1) returns the optimal LWORK.
162
+ *
163
+ * LWORK (input) INTEGER
164
+ * The dimension of the array WORK. LWORK >= max(1,N).
165
+ *
166
+ * If LWORK = -1, then a workspace query is assumed; the routine
167
+ * only calculates the optimal size of the WORK array, returns
168
+ * this value as the first entry of the WORK array, and no error
169
+ * message related to LWORK is issued by XERBLA.
170
+ *
171
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (N)
172
+ *
173
+ * INFO (output) INTEGER
174
+ * = 0: successful exit
175
+ * < 0: if INFO = -i, the i-th argument had an illegal value
176
+ * = 1,...,N: the QZ iteration did not converge. (H,T) is not
177
+ * in Schur form, but ALPHA(i) and BETA(i),
178
+ * i=INFO+1,...,N should be correct.
179
+ * = N+1,...,2*N: the shift calculation failed. (H,T) is not
180
+ * in Schur form, but ALPHA(i) and BETA(i),
181
+ * i=INFO-N+1,...,N should be correct.
182
+ *
183
+
184
+ * Further Details
185
+ * ===============
186
+ *
187
+ * We assume that complex ABS works as long as its value is less than
188
+ * overflow.
189
+ *
190
+ * =====================================================================
191
+ *
192
+
193
+
194
+ </PRE>
195
+ <A HREF="#top">go to the page top</A>
196
+
197
+ <HR />
198
+ <A HREF="z.html">back to matrix types</A><BR>
199
+ <A HREF="z.html">back to data types</A>
200
+ </BODY>
201
+ </HTML>
data/doc/zhp.html ADDED
@@ -0,0 +1,1697 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>COMPLEX*16 or DOUBLE COMPLEX routines for (complex) Hermitian, packed storage matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>COMPLEX*16 or DOUBLE COMPLEX routines for (complex) Hermitian, packed storage matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#zhpcon">zhpcon</A></LI>
10
+ <LI><A HREF="#zhpev">zhpev</A></LI>
11
+ <LI><A HREF="#zhpevd">zhpevd</A></LI>
12
+ <LI><A HREF="#zhpevx">zhpevx</A></LI>
13
+ <LI><A HREF="#zhpgst">zhpgst</A></LI>
14
+ <LI><A HREF="#zhpgv">zhpgv</A></LI>
15
+ <LI><A HREF="#zhpgvd">zhpgvd</A></LI>
16
+ <LI><A HREF="#zhpgvx">zhpgvx</A></LI>
17
+ <LI><A HREF="#zhprfs">zhprfs</A></LI>
18
+ <LI><A HREF="#zhpsv">zhpsv</A></LI>
19
+ <LI><A HREF="#zhpsvx">zhpsvx</A></LI>
20
+ <LI><A HREF="#zhptrd">zhptrd</A></LI>
21
+ <LI><A HREF="#zhptrf">zhptrf</A></LI>
22
+ <LI><A HREF="#zhptri">zhptri</A></LI>
23
+ <LI><A HREF="#zhptrs">zhptrs</A></LI>
24
+ </UL>
25
+
26
+ <A NAME="zhpcon"></A>
27
+ <H2>zhpcon</H2>
28
+ <PRE>
29
+ USAGE:
30
+ rcond, info = NumRu::Lapack.zhpcon( uplo, ap, ipiv, anorm, [:usage => usage, :help => help])
31
+
32
+
33
+ FORTRAN MANUAL
34
+ SUBROUTINE ZHPCON( UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO )
35
+
36
+ * Purpose
37
+ * =======
38
+ *
39
+ * ZHPCON estimates the reciprocal of the condition number of a complex
40
+ * Hermitian packed matrix A using the factorization A = U*D*U**H or
41
+ * A = L*D*L**H computed by ZHPTRF.
42
+ *
43
+ * An estimate is obtained for norm(inv(A)), and the reciprocal of the
44
+ * condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
45
+ *
46
+
47
+ * Arguments
48
+ * =========
49
+ *
50
+ * UPLO (input) CHARACTER*1
51
+ * Specifies whether the details of the factorization are stored
52
+ * as an upper or lower triangular matrix.
53
+ * = 'U': Upper triangular, form is A = U*D*U**H;
54
+ * = 'L': Lower triangular, form is A = L*D*L**H.
55
+ *
56
+ * N (input) INTEGER
57
+ * The order of the matrix A. N >= 0.
58
+ *
59
+ * AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
60
+ * The block diagonal matrix D and the multipliers used to
61
+ * obtain the factor U or L as computed by ZHPTRF, stored as a
62
+ * packed triangular matrix.
63
+ *
64
+ * IPIV (input) INTEGER array, dimension (N)
65
+ * Details of the interchanges and the block structure of D
66
+ * as determined by ZHPTRF.
67
+ *
68
+ * ANORM (input) DOUBLE PRECISION
69
+ * The 1-norm of the original matrix A.
70
+ *
71
+ * RCOND (output) DOUBLE PRECISION
72
+ * The reciprocal of the condition number of the matrix A,
73
+ * computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an
74
+ * estimate of the 1-norm of inv(A) computed in this routine.
75
+ *
76
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
77
+ *
78
+ * INFO (output) INTEGER
79
+ * = 0: successful exit
80
+ * < 0: if INFO = -i, the i-th argument had an illegal value
81
+ *
82
+
83
+ * =====================================================================
84
+ *
85
+
86
+
87
+ </PRE>
88
+ <A HREF="#top">go to the page top</A>
89
+
90
+ <A NAME="zhpev"></A>
91
+ <H2>zhpev</H2>
92
+ <PRE>
93
+ USAGE:
94
+ w, z, info, ap = NumRu::Lapack.zhpev( jobz, uplo, ap, [:usage => usage, :help => help])
95
+
96
+
97
+ FORTRAN MANUAL
98
+ SUBROUTINE ZHPEV( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO )
99
+
100
+ * Purpose
101
+ * =======
102
+ *
103
+ * ZHPEV computes all the eigenvalues and, optionally, eigenvectors of a
104
+ * complex Hermitian matrix in packed storage.
105
+ *
106
+
107
+ * Arguments
108
+ * =========
109
+ *
110
+ * JOBZ (input) CHARACTER*1
111
+ * = 'N': Compute eigenvalues only;
112
+ * = 'V': Compute eigenvalues and eigenvectors.
113
+ *
114
+ * UPLO (input) CHARACTER*1
115
+ * = 'U': Upper triangle of A is stored;
116
+ * = 'L': Lower triangle of A is stored.
117
+ *
118
+ * N (input) INTEGER
119
+ * The order of the matrix A. N >= 0.
120
+ *
121
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
122
+ * On entry, the upper or lower triangle of the Hermitian matrix
123
+ * A, packed columnwise in a linear array. The j-th column of A
124
+ * is stored in the array AP as follows:
125
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
126
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
127
+ *
128
+ * On exit, AP is overwritten by values generated during the
129
+ * reduction to tridiagonal form. If UPLO = 'U', the diagonal
130
+ * and first superdiagonal of the tridiagonal matrix T overwrite
131
+ * the corresponding elements of A, and if UPLO = 'L', the
132
+ * diagonal and first subdiagonal of T overwrite the
133
+ * corresponding elements of A.
134
+ *
135
+ * W (output) DOUBLE PRECISION array, dimension (N)
136
+ * If INFO = 0, the eigenvalues in ascending order.
137
+ *
138
+ * Z (output) COMPLEX*16 array, dimension (LDZ, N)
139
+ * If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
140
+ * eigenvectors of the matrix A, with the i-th column of Z
141
+ * holding the eigenvector associated with W(i).
142
+ * If JOBZ = 'N', then Z is not referenced.
143
+ *
144
+ * LDZ (input) INTEGER
145
+ * The leading dimension of the array Z. LDZ >= 1, and if
146
+ * JOBZ = 'V', LDZ >= max(1,N).
147
+ *
148
+ * WORK (workspace) COMPLEX*16 array, dimension (max(1, 2*N-1))
149
+ *
150
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (max(1, 3*N-2))
151
+ *
152
+ * INFO (output) INTEGER
153
+ * = 0: successful exit.
154
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
155
+ * > 0: if INFO = i, the algorithm failed to converge; i
156
+ * off-diagonal elements of an intermediate tridiagonal
157
+ * form did not converge to zero.
158
+ *
159
+
160
+ * =====================================================================
161
+ *
162
+
163
+
164
+ </PRE>
165
+ <A HREF="#top">go to the page top</A>
166
+
167
+ <A NAME="zhpevd"></A>
168
+ <H2>zhpevd</H2>
169
+ <PRE>
170
+ USAGE:
171
+ w, z, work, rwork, iwork, info, ap = NumRu::Lapack.zhpevd( jobz, uplo, ap, [:lwork => lwork, :lrwork => lrwork, :liwork => liwork, :usage => usage, :help => help])
172
+
173
+
174
+ FORTRAN MANUAL
175
+ SUBROUTINE ZHPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO )
176
+
177
+ * Purpose
178
+ * =======
179
+ *
180
+ * ZHPEVD computes all the eigenvalues and, optionally, eigenvectors of
181
+ * a complex Hermitian matrix A in packed storage. If eigenvectors are
182
+ * desired, it uses a divide and conquer algorithm.
183
+ *
184
+ * The divide and conquer algorithm makes very mild assumptions about
185
+ * floating point arithmetic. It will work on machines with a guard
186
+ * digit in add/subtract, or on those binary machines without guard
187
+ * digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or
188
+ * Cray-2. It could conceivably fail on hexadecimal or decimal machines
189
+ * without guard digits, but we know of none.
190
+ *
191
+
192
+ * Arguments
193
+ * =========
194
+ *
195
+ * JOBZ (input) CHARACTER*1
196
+ * = 'N': Compute eigenvalues only;
197
+ * = 'V': Compute eigenvalues and eigenvectors.
198
+ *
199
+ * UPLO (input) CHARACTER*1
200
+ * = 'U': Upper triangle of A is stored;
201
+ * = 'L': Lower triangle of A is stored.
202
+ *
203
+ * N (input) INTEGER
204
+ * The order of the matrix A. N >= 0.
205
+ *
206
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
207
+ * On entry, the upper or lower triangle of the Hermitian matrix
208
+ * A, packed columnwise in a linear array. The j-th column of A
209
+ * is stored in the array AP as follows:
210
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
211
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
212
+ *
213
+ * On exit, AP is overwritten by values generated during the
214
+ * reduction to tridiagonal form. If UPLO = 'U', the diagonal
215
+ * and first superdiagonal of the tridiagonal matrix T overwrite
216
+ * the corresponding elements of A, and if UPLO = 'L', the
217
+ * diagonal and first subdiagonal of T overwrite the
218
+ * corresponding elements of A.
219
+ *
220
+ * W (output) DOUBLE PRECISION array, dimension (N)
221
+ * If INFO = 0, the eigenvalues in ascending order.
222
+ *
223
+ * Z (output) COMPLEX*16 array, dimension (LDZ, N)
224
+ * If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
225
+ * eigenvectors of the matrix A, with the i-th column of Z
226
+ * holding the eigenvector associated with W(i).
227
+ * If JOBZ = 'N', then Z is not referenced.
228
+ *
229
+ * LDZ (input) INTEGER
230
+ * The leading dimension of the array Z. LDZ >= 1, and if
231
+ * JOBZ = 'V', LDZ >= max(1,N).
232
+ *
233
+ * WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
234
+ * On exit, if INFO = 0, WORK(1) returns the required LWORK.
235
+ *
236
+ * LWORK (input) INTEGER
237
+ * The dimension of array WORK.
238
+ * If N <= 1, LWORK must be at least 1.
239
+ * If JOBZ = 'N' and N > 1, LWORK must be at least N.
240
+ * If JOBZ = 'V' and N > 1, LWORK must be at least 2*N.
241
+ *
242
+ * If LWORK = -1, then a workspace query is assumed; the routine
243
+ * only calculates the required sizes of the WORK, RWORK and
244
+ * IWORK arrays, returns these values as the first entries of
245
+ * the WORK, RWORK and IWORK arrays, and no error message
246
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
247
+ *
248
+ * RWORK (workspace/output) DOUBLE PRECISION array,
249
+ * dimension (LRWORK)
250
+ * On exit, if INFO = 0, RWORK(1) returns the required LRWORK.
251
+ *
252
+ * LRWORK (input) INTEGER
253
+ * The dimension of array RWORK.
254
+ * If N <= 1, LRWORK must be at least 1.
255
+ * If JOBZ = 'N' and N > 1, LRWORK must be at least N.
256
+ * If JOBZ = 'V' and N > 1, LRWORK must be at least
257
+ * 1 + 5*N + 2*N**2.
258
+ *
259
+ * If LRWORK = -1, then a workspace query is assumed; the
260
+ * routine only calculates the required sizes of the WORK, RWORK
261
+ * and IWORK arrays, returns these values as the first entries
262
+ * of the WORK, RWORK and IWORK arrays, and no error message
263
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
264
+ *
265
+ * IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
266
+ * On exit, if INFO = 0, IWORK(1) returns the required LIWORK.
267
+ *
268
+ * LIWORK (input) INTEGER
269
+ * The dimension of array IWORK.
270
+ * If JOBZ = 'N' or N <= 1, LIWORK must be at least 1.
271
+ * If JOBZ = 'V' and N > 1, LIWORK must be at least 3 + 5*N.
272
+ *
273
+ * If LIWORK = -1, then a workspace query is assumed; the
274
+ * routine only calculates the required sizes of the WORK, RWORK
275
+ * and IWORK arrays, returns these values as the first entries
276
+ * of the WORK, RWORK and IWORK arrays, and no error message
277
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
278
+ *
279
+ * INFO (output) INTEGER
280
+ * = 0: successful exit
281
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
282
+ * > 0: if INFO = i, the algorithm failed to converge; i
283
+ * off-diagonal elements of an intermediate tridiagonal
284
+ * form did not converge to zero.
285
+ *
286
+
287
+ * =====================================================================
288
+ *
289
+
290
+
291
+ </PRE>
292
+ <A HREF="#top">go to the page top</A>
293
+
294
+ <A NAME="zhpevx"></A>
295
+ <H2>zhpevx</H2>
296
+ <PRE>
297
+ USAGE:
298
+ m, w, z, ifail, info, ap = NumRu::Lapack.zhpevx( jobz, range, uplo, ap, vl, vu, il, iu, abstol, [:usage => usage, :help => help])
299
+
300
+
301
+ FORTRAN MANUAL
302
+ SUBROUTINE ZHPEVX( JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO )
303
+
304
+ * Purpose
305
+ * =======
306
+ *
307
+ * ZHPEVX computes selected eigenvalues and, optionally, eigenvectors
308
+ * of a complex Hermitian matrix A in packed storage.
309
+ * Eigenvalues/vectors can be selected by specifying either a range of
310
+ * values or a range of indices for the desired eigenvalues.
311
+ *
312
+
313
+ * Arguments
314
+ * =========
315
+ *
316
+ * JOBZ (input) CHARACTER*1
317
+ * = 'N': Compute eigenvalues only;
318
+ * = 'V': Compute eigenvalues and eigenvectors.
319
+ *
320
+ * RANGE (input) CHARACTER*1
321
+ * = 'A': all eigenvalues will be found;
322
+ * = 'V': all eigenvalues in the half-open interval (VL,VU]
323
+ * will be found;
324
+ * = 'I': the IL-th through IU-th eigenvalues will be found.
325
+ *
326
+ * UPLO (input) CHARACTER*1
327
+ * = 'U': Upper triangle of A is stored;
328
+ * = 'L': Lower triangle of A is stored.
329
+ *
330
+ * N (input) INTEGER
331
+ * The order of the matrix A. N >= 0.
332
+ *
333
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
334
+ * On entry, the upper or lower triangle of the Hermitian matrix
335
+ * A, packed columnwise in a linear array. The j-th column of A
336
+ * is stored in the array AP as follows:
337
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
338
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
339
+ *
340
+ * On exit, AP is overwritten by values generated during the
341
+ * reduction to tridiagonal form. If UPLO = 'U', the diagonal
342
+ * and first superdiagonal of the tridiagonal matrix T overwrite
343
+ * the corresponding elements of A, and if UPLO = 'L', the
344
+ * diagonal and first subdiagonal of T overwrite the
345
+ * corresponding elements of A.
346
+ *
347
+ * VL (input) DOUBLE PRECISION
348
+ * VU (input) DOUBLE PRECISION
349
+ * If RANGE='V', the lower and upper bounds of the interval to
350
+ * be searched for eigenvalues. VL < VU.
351
+ * Not referenced if RANGE = 'A' or 'I'.
352
+ *
353
+ * IL (input) INTEGER
354
+ * IU (input) INTEGER
355
+ * If RANGE='I', the indices (in ascending order) of the
356
+ * smallest and largest eigenvalues to be returned.
357
+ * 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.
358
+ * Not referenced if RANGE = 'A' or 'V'.
359
+ *
360
+ * ABSTOL (input) DOUBLE PRECISION
361
+ * The absolute error tolerance for the eigenvalues.
362
+ * An approximate eigenvalue is accepted as converged
363
+ * when it is determined to lie in an interval [a,b]
364
+ * of width less than or equal to
365
+ *
366
+ * ABSTOL + EPS * max( |a|,|b| ) ,
367
+ *
368
+ * where EPS is the machine precision. If ABSTOL is less than
369
+ * or equal to zero, then EPS*|T| will be used in its place,
370
+ * where |T| is the 1-norm of the tridiagonal matrix obtained
371
+ * by reducing AP to tridiagonal form.
372
+ *
373
+ * Eigenvalues will be computed most accurately when ABSTOL is
374
+ * set to twice the underflow threshold 2*DLAMCH('S'), not zero.
375
+ * If this routine returns with INFO>0, indicating that some
376
+ * eigenvectors did not converge, try setting ABSTOL to
377
+ * 2*DLAMCH('S').
378
+ *
379
+ * See "Computing Small Singular Values of Bidiagonal Matrices
380
+ * with Guaranteed High Relative Accuracy," by Demmel and
381
+ * Kahan, LAPACK Working Note #3.
382
+ *
383
+ * M (output) INTEGER
384
+ * The total number of eigenvalues found. 0 <= M <= N.
385
+ * If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
386
+ *
387
+ * W (output) DOUBLE PRECISION array, dimension (N)
388
+ * If INFO = 0, the selected eigenvalues in ascending order.
389
+ *
390
+ * Z (output) COMPLEX*16 array, dimension (LDZ, max(1,M))
391
+ * If JOBZ = 'V', then if INFO = 0, the first M columns of Z
392
+ * contain the orthonormal eigenvectors of the matrix A
393
+ * corresponding to the selected eigenvalues, with the i-th
394
+ * column of Z holding the eigenvector associated with W(i).
395
+ * If an eigenvector fails to converge, then that column of Z
396
+ * contains the latest approximation to the eigenvector, and
397
+ * the index of the eigenvector is returned in IFAIL.
398
+ * If JOBZ = 'N', then Z is not referenced.
399
+ * Note: the user must ensure that at least max(1,M) columns are
400
+ * supplied in the array Z; if RANGE = 'V', the exact value of M
401
+ * is not known in advance and an upper bound must be used.
402
+ *
403
+ * LDZ (input) INTEGER
404
+ * The leading dimension of the array Z. LDZ >= 1, and if
405
+ * JOBZ = 'V', LDZ >= max(1,N).
406
+ *
407
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
408
+ *
409
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (7*N)
410
+ *
411
+ * IWORK (workspace) INTEGER array, dimension (5*N)
412
+ *
413
+ * IFAIL (output) INTEGER array, dimension (N)
414
+ * If JOBZ = 'V', then if INFO = 0, the first M elements of
415
+ * IFAIL are zero. If INFO > 0, then IFAIL contains the
416
+ * indices of the eigenvectors that failed to converge.
417
+ * If JOBZ = 'N', then IFAIL is not referenced.
418
+ *
419
+ * INFO (output) INTEGER
420
+ * = 0: successful exit
421
+ * < 0: if INFO = -i, the i-th argument had an illegal value
422
+ * > 0: if INFO = i, then i eigenvectors failed to converge.
423
+ * Their indices are stored in array IFAIL.
424
+ *
425
+
426
+ * =====================================================================
427
+ *
428
+
429
+
430
+ </PRE>
431
+ <A HREF="#top">go to the page top</A>
432
+
433
+ <A NAME="zhpgst"></A>
434
+ <H2>zhpgst</H2>
435
+ <PRE>
436
+ USAGE:
437
+ info, ap = NumRu::Lapack.zhpgst( itype, uplo, n, ap, bp, [:usage => usage, :help => help])
438
+
439
+
440
+ FORTRAN MANUAL
441
+ SUBROUTINE ZHPGST( ITYPE, UPLO, N, AP, BP, INFO )
442
+
443
+ * Purpose
444
+ * =======
445
+ *
446
+ * ZHPGST reduces a complex Hermitian-definite generalized
447
+ * eigenproblem to standard form, using packed storage.
448
+ *
449
+ * If ITYPE = 1, the problem is A*x = lambda*B*x,
450
+ * and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H)
451
+ *
452
+ * If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
453
+ * B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H*A*L.
454
+ *
455
+ * B must have been previously factorized as U**H*U or L*L**H by ZPPTRF.
456
+ *
457
+
458
+ * Arguments
459
+ * =========
460
+ *
461
+ * ITYPE (input) INTEGER
462
+ * = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H);
463
+ * = 2 or 3: compute U*A*U**H or L**H*A*L.
464
+ *
465
+ * UPLO (input) CHARACTER*1
466
+ * = 'U': Upper triangle of A is stored and B is factored as
467
+ * U**H*U;
468
+ * = 'L': Lower triangle of A is stored and B is factored as
469
+ * L*L**H.
470
+ *
471
+ * N (input) INTEGER
472
+ * The order of the matrices A and B. N >= 0.
473
+ *
474
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
475
+ * On entry, the upper or lower triangle of the Hermitian matrix
476
+ * A, packed columnwise in a linear array. The j-th column of A
477
+ * is stored in the array AP as follows:
478
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
479
+ * if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
480
+ *
481
+ * On exit, if INFO = 0, the transformed matrix, stored in the
482
+ * same format as A.
483
+ *
484
+ * BP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
485
+ * The triangular factor from the Cholesky factorization of B,
486
+ * stored in the same format as A, as returned by ZPPTRF.
487
+ *
488
+ * INFO (output) INTEGER
489
+ * = 0: successful exit
490
+ * < 0: if INFO = -i, the i-th argument had an illegal value
491
+ *
492
+
493
+ * =====================================================================
494
+ *
495
+
496
+
497
+ </PRE>
498
+ <A HREF="#top">go to the page top</A>
499
+
500
+ <A NAME="zhpgv"></A>
501
+ <H2>zhpgv</H2>
502
+ <PRE>
503
+ USAGE:
504
+ w, z, info, ap, bp = NumRu::Lapack.zhpgv( itype, jobz, uplo, ap, bp, [:usage => usage, :help => help])
505
+
506
+
507
+ FORTRAN MANUAL
508
+ SUBROUTINE ZHPGV( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, RWORK, INFO )
509
+
510
+ * Purpose
511
+ * =======
512
+ *
513
+ * ZHPGV computes all the eigenvalues and, optionally, the eigenvectors
514
+ * of a complex generalized Hermitian-definite eigenproblem, of the form
515
+ * A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.
516
+ * Here A and B are assumed to be Hermitian, stored in packed format,
517
+ * and B is also positive definite.
518
+ *
519
+
520
+ * Arguments
521
+ * =========
522
+ *
523
+ * ITYPE (input) INTEGER
524
+ * Specifies the problem type to be solved:
525
+ * = 1: A*x = (lambda)*B*x
526
+ * = 2: A*B*x = (lambda)*x
527
+ * = 3: B*A*x = (lambda)*x
528
+ *
529
+ * JOBZ (input) CHARACTER*1
530
+ * = 'N': Compute eigenvalues only;
531
+ * = 'V': Compute eigenvalues and eigenvectors.
532
+ *
533
+ * UPLO (input) CHARACTER*1
534
+ * = 'U': Upper triangles of A and B are stored;
535
+ * = 'L': Lower triangles of A and B are stored.
536
+ *
537
+ * N (input) INTEGER
538
+ * The order of the matrices A and B. N >= 0.
539
+ *
540
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
541
+ * On entry, the upper or lower triangle of the Hermitian matrix
542
+ * A, packed columnwise in a linear array. The j-th column of A
543
+ * is stored in the array AP as follows:
544
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
545
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
546
+ *
547
+ * On exit, the contents of AP are destroyed.
548
+ *
549
+ * BP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
550
+ * On entry, the upper or lower triangle of the Hermitian matrix
551
+ * B, packed columnwise in a linear array. The j-th column of B
552
+ * is stored in the array BP as follows:
553
+ * if UPLO = 'U', BP(i + (j-1)*j/2) = B(i,j) for 1<=i<=j;
554
+ * if UPLO = 'L', BP(i + (j-1)*(2*n-j)/2) = B(i,j) for j<=i<=n.
555
+ *
556
+ * On exit, the triangular factor U or L from the Cholesky
557
+ * factorization B = U**H*U or B = L*L**H, in the same storage
558
+ * format as B.
559
+ *
560
+ * W (output) DOUBLE PRECISION array, dimension (N)
561
+ * If INFO = 0, the eigenvalues in ascending order.
562
+ *
563
+ * Z (output) COMPLEX*16 array, dimension (LDZ, N)
564
+ * If JOBZ = 'V', then if INFO = 0, Z contains the matrix Z of
565
+ * eigenvectors. The eigenvectors are normalized as follows:
566
+ * if ITYPE = 1 or 2, Z**H*B*Z = I;
567
+ * if ITYPE = 3, Z**H*inv(B)*Z = I.
568
+ * If JOBZ = 'N', then Z is not referenced.
569
+ *
570
+ * LDZ (input) INTEGER
571
+ * The leading dimension of the array Z. LDZ >= 1, and if
572
+ * JOBZ = 'V', LDZ >= max(1,N).
573
+ *
574
+ * WORK (workspace) COMPLEX*16 array, dimension (max(1, 2*N-1))
575
+ *
576
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (max(1, 3*N-2))
577
+ *
578
+ * INFO (output) INTEGER
579
+ * = 0: successful exit
580
+ * < 0: if INFO = -i, the i-th argument had an illegal value
581
+ * > 0: ZPPTRF or ZHPEV returned an error code:
582
+ * <= N: if INFO = i, ZHPEV failed to converge;
583
+ * i off-diagonal elements of an intermediate
584
+ * tridiagonal form did not convergeto zero;
585
+ * > N: if INFO = N + i, for 1 <= i <= n, then the leading
586
+ * minor of order i of B is not positive definite.
587
+ * The factorization of B could not be completed and
588
+ * no eigenvalues or eigenvectors were computed.
589
+ *
590
+
591
+ * =====================================================================
592
+ *
593
+ * .. Local Scalars ..
594
+ LOGICAL UPPER, WANTZ
595
+ CHARACTER TRANS
596
+ INTEGER J, NEIG
597
+ * ..
598
+ * .. External Functions ..
599
+ LOGICAL LSAME
600
+ EXTERNAL LSAME
601
+ * ..
602
+ * .. External Subroutines ..
603
+ EXTERNAL XERBLA, ZHPEV, ZHPGST, ZPPTRF, ZTPMV, ZTPSV
604
+ * ..
605
+
606
+
607
+ </PRE>
608
+ <A HREF="#top">go to the page top</A>
609
+
610
+ <A NAME="zhpgvd"></A>
611
+ <H2>zhpgvd</H2>
612
+ <PRE>
613
+ USAGE:
614
+ w, z, iwork, info, ap, bp = NumRu::Lapack.zhpgvd( itype, jobz, uplo, ap, bp, [:lwork => lwork, :lrwork => lrwork, :liwork => liwork, :usage => usage, :help => help])
615
+
616
+
617
+ FORTRAN MANUAL
618
+ SUBROUTINE ZHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO )
619
+
620
+ * Purpose
621
+ * =======
622
+ *
623
+ * ZHPGVD computes all the eigenvalues and, optionally, the eigenvectors
624
+ * of a complex generalized Hermitian-definite eigenproblem, of the form
625
+ * A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and
626
+ * B are assumed to be Hermitian, stored in packed format, and B is also
627
+ * positive definite.
628
+ * If eigenvectors are desired, it uses a divide and conquer algorithm.
629
+ *
630
+ * The divide and conquer algorithm makes very mild assumptions about
631
+ * floating point arithmetic. It will work on machines with a guard
632
+ * digit in add/subtract, or on those binary machines without guard
633
+ * digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or
634
+ * Cray-2. It could conceivably fail on hexadecimal or decimal machines
635
+ * without guard digits, but we know of none.
636
+ *
637
+
638
+ * Arguments
639
+ * =========
640
+ *
641
+ * ITYPE (input) INTEGER
642
+ * Specifies the problem type to be solved:
643
+ * = 1: A*x = (lambda)*B*x
644
+ * = 2: A*B*x = (lambda)*x
645
+ * = 3: B*A*x = (lambda)*x
646
+ *
647
+ * JOBZ (input) CHARACTER*1
648
+ * = 'N': Compute eigenvalues only;
649
+ * = 'V': Compute eigenvalues and eigenvectors.
650
+ *
651
+ * UPLO (input) CHARACTER*1
652
+ * = 'U': Upper triangles of A and B are stored;
653
+ * = 'L': Lower triangles of A and B are stored.
654
+ *
655
+ * N (input) INTEGER
656
+ * The order of the matrices A and B. N >= 0.
657
+ *
658
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
659
+ * On entry, the upper or lower triangle of the Hermitian matrix
660
+ * A, packed columnwise in a linear array. The j-th column of A
661
+ * is stored in the array AP as follows:
662
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
663
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
664
+ *
665
+ * On exit, the contents of AP are destroyed.
666
+ *
667
+ * BP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
668
+ * On entry, the upper or lower triangle of the Hermitian matrix
669
+ * B, packed columnwise in a linear array. The j-th column of B
670
+ * is stored in the array BP as follows:
671
+ * if UPLO = 'U', BP(i + (j-1)*j/2) = B(i,j) for 1<=i<=j;
672
+ * if UPLO = 'L', BP(i + (j-1)*(2*n-j)/2) = B(i,j) for j<=i<=n.
673
+ *
674
+ * On exit, the triangular factor U or L from the Cholesky
675
+ * factorization B = U**H*U or B = L*L**H, in the same storage
676
+ * format as B.
677
+ *
678
+ * W (output) DOUBLE PRECISION array, dimension (N)
679
+ * If INFO = 0, the eigenvalues in ascending order.
680
+ *
681
+ * Z (output) COMPLEX*16 array, dimension (LDZ, N)
682
+ * If JOBZ = 'V', then if INFO = 0, Z contains the matrix Z of
683
+ * eigenvectors. The eigenvectors are normalized as follows:
684
+ * if ITYPE = 1 or 2, Z**H*B*Z = I;
685
+ * if ITYPE = 3, Z**H*inv(B)*Z = I.
686
+ * If JOBZ = 'N', then Z is not referenced.
687
+ *
688
+ * LDZ (input) INTEGER
689
+ * The leading dimension of the array Z. LDZ >= 1, and if
690
+ * JOBZ = 'V', LDZ >= max(1,N).
691
+ *
692
+ * WORK (workspace) COMPLEX*16 array, dimension (MAX(1,LWORK))
693
+ * On exit, if INFO = 0, WORK(1) returns the required LWORK.
694
+ *
695
+ * LWORK (input) INTEGER
696
+ * The dimension of array WORK.
697
+ * If N <= 1, LWORK >= 1.
698
+ * If JOBZ = 'N' and N > 1, LWORK >= N.
699
+ * If JOBZ = 'V' and N > 1, LWORK >= 2*N.
700
+ *
701
+ * If LWORK = -1, then a workspace query is assumed; the routine
702
+ * only calculates the required sizes of the WORK, RWORK and
703
+ * IWORK arrays, returns these values as the first entries of
704
+ * the WORK, RWORK and IWORK arrays, and no error message
705
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
706
+ *
707
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (MAX(1,LRWORK))
708
+ * On exit, if INFO = 0, RWORK(1) returns the required LRWORK.
709
+ *
710
+ * LRWORK (input) INTEGER
711
+ * The dimension of array RWORK.
712
+ * If N <= 1, LRWORK >= 1.
713
+ * If JOBZ = 'N' and N > 1, LRWORK >= N.
714
+ * If JOBZ = 'V' and N > 1, LRWORK >= 1 + 5*N + 2*N**2.
715
+ *
716
+ * If LRWORK = -1, then a workspace query is assumed; the
717
+ * routine only calculates the required sizes of the WORK, RWORK
718
+ * and IWORK arrays, returns these values as the first entries
719
+ * of the WORK, RWORK and IWORK arrays, and no error message
720
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
721
+ *
722
+ * IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
723
+ * On exit, if INFO = 0, IWORK(1) returns the required LIWORK.
724
+ *
725
+ * LIWORK (input) INTEGER
726
+ * The dimension of array IWORK.
727
+ * If JOBZ = 'N' or N <= 1, LIWORK >= 1.
728
+ * If JOBZ = 'V' and N > 1, LIWORK >= 3 + 5*N.
729
+ *
730
+ * If LIWORK = -1, then a workspace query is assumed; the
731
+ * routine only calculates the required sizes of the WORK, RWORK
732
+ * and IWORK arrays, returns these values as the first entries
733
+ * of the WORK, RWORK and IWORK arrays, and no error message
734
+ * related to LWORK or LRWORK or LIWORK is issued by XERBLA.
735
+ *
736
+ * INFO (output) INTEGER
737
+ * = 0: successful exit
738
+ * < 0: if INFO = -i, the i-th argument had an illegal value
739
+ * > 0: ZPPTRF or ZHPEVD returned an error code:
740
+ * <= N: if INFO = i, ZHPEVD failed to converge;
741
+ * i off-diagonal elements of an intermediate
742
+ * tridiagonal form did not convergeto zero;
743
+ * > N: if INFO = N + i, for 1 <= i <= n, then the leading
744
+ * minor of order i of B is not positive definite.
745
+ * The factorization of B could not be completed and
746
+ * no eigenvalues or eigenvectors were computed.
747
+ *
748
+
749
+ * Further Details
750
+ * ===============
751
+ *
752
+ * Based on contributions by
753
+ * Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
754
+ *
755
+ * =====================================================================
756
+ *
757
+ * .. Local Scalars ..
758
+ LOGICAL LQUERY, UPPER, WANTZ
759
+ CHARACTER TRANS
760
+ INTEGER J, LIWMIN, LRWMIN, LWMIN, NEIG
761
+ * ..
762
+ * .. External Functions ..
763
+ LOGICAL LSAME
764
+ EXTERNAL LSAME
765
+ * ..
766
+ * .. External Subroutines ..
767
+ EXTERNAL XERBLA, ZHPEVD, ZHPGST, ZPPTRF, ZTPMV, ZTPSV
768
+ * ..
769
+ * .. Intrinsic Functions ..
770
+ INTRINSIC DBLE, MAX
771
+ * ..
772
+
773
+
774
+ </PRE>
775
+ <A HREF="#top">go to the page top</A>
776
+
777
+ <A NAME="zhpgvx"></A>
778
+ <H2>zhpgvx</H2>
779
+ <PRE>
780
+ USAGE:
781
+ m, w, z, ifail, info, ap, bp = NumRu::Lapack.zhpgvx( itype, jobz, range, uplo, ap, bp, vl, vu, il, iu, abstol, [:usage => usage, :help => help])
782
+
783
+
784
+ FORTRAN MANUAL
785
+ SUBROUTINE ZHPGVX( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO )
786
+
787
+ * Purpose
788
+ * =======
789
+ *
790
+ * ZHPGVX computes selected eigenvalues and, optionally, eigenvectors
791
+ * of a complex generalized Hermitian-definite eigenproblem, of the form
792
+ * A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and
793
+ * B are assumed to be Hermitian, stored in packed format, and B is also
794
+ * positive definite. Eigenvalues and eigenvectors can be selected by
795
+ * specifying either a range of values or a range of indices for the
796
+ * desired eigenvalues.
797
+ *
798
+
799
+ * Arguments
800
+ * =========
801
+ *
802
+ * ITYPE (input) INTEGER
803
+ * Specifies the problem type to be solved:
804
+ * = 1: A*x = (lambda)*B*x
805
+ * = 2: A*B*x = (lambda)*x
806
+ * = 3: B*A*x = (lambda)*x
807
+ *
808
+ * JOBZ (input) CHARACTER*1
809
+ * = 'N': Compute eigenvalues only;
810
+ * = 'V': Compute eigenvalues and eigenvectors.
811
+ *
812
+ * RANGE (input) CHARACTER*1
813
+ * = 'A': all eigenvalues will be found;
814
+ * = 'V': all eigenvalues in the half-open interval (VL,VU]
815
+ * will be found;
816
+ * = 'I': the IL-th through IU-th eigenvalues will be found.
817
+ *
818
+ * UPLO (input) CHARACTER*1
819
+ * = 'U': Upper triangles of A and B are stored;
820
+ * = 'L': Lower triangles of A and B are stored.
821
+ *
822
+ * N (input) INTEGER
823
+ * The order of the matrices A and B. N >= 0.
824
+ *
825
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
826
+ * On entry, the upper or lower triangle of the Hermitian matrix
827
+ * A, packed columnwise in a linear array. The j-th column of A
828
+ * is stored in the array AP as follows:
829
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
830
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
831
+ *
832
+ * On exit, the contents of AP are destroyed.
833
+ *
834
+ * BP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
835
+ * On entry, the upper or lower triangle of the Hermitian matrix
836
+ * B, packed columnwise in a linear array. The j-th column of B
837
+ * is stored in the array BP as follows:
838
+ * if UPLO = 'U', BP(i + (j-1)*j/2) = B(i,j) for 1<=i<=j;
839
+ * if UPLO = 'L', BP(i + (j-1)*(2*n-j)/2) = B(i,j) for j<=i<=n.
840
+ *
841
+ * On exit, the triangular factor U or L from the Cholesky
842
+ * factorization B = U**H*U or B = L*L**H, in the same storage
843
+ * format as B.
844
+ *
845
+ * VL (input) DOUBLE PRECISION
846
+ * VU (input) DOUBLE PRECISION
847
+ * If RANGE='V', the lower and upper bounds of the interval to
848
+ * be searched for eigenvalues. VL < VU.
849
+ * Not referenced if RANGE = 'A' or 'I'.
850
+ *
851
+ * IL (input) INTEGER
852
+ * IU (input) INTEGER
853
+ * If RANGE='I', the indices (in ascending order) of the
854
+ * smallest and largest eigenvalues to be returned.
855
+ * 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.
856
+ * Not referenced if RANGE = 'A' or 'V'.
857
+ *
858
+ * ABSTOL (input) DOUBLE PRECISION
859
+ * The absolute error tolerance for the eigenvalues.
860
+ * An approximate eigenvalue is accepted as converged
861
+ * when it is determined to lie in an interval [a,b]
862
+ * of width less than or equal to
863
+ *
864
+ * ABSTOL + EPS * max( |a|,|b| ) ,
865
+ *
866
+ * where EPS is the machine precision. If ABSTOL is less than
867
+ * or equal to zero, then EPS*|T| will be used in its place,
868
+ * where |T| is the 1-norm of the tridiagonal matrix obtained
869
+ * by reducing AP to tridiagonal form.
870
+ *
871
+ * Eigenvalues will be computed most accurately when ABSTOL is
872
+ * set to twice the underflow threshold 2*DLAMCH('S'), not zero.
873
+ * If this routine returns with INFO>0, indicating that some
874
+ * eigenvectors did not converge, try setting ABSTOL to
875
+ * 2*DLAMCH('S').
876
+ *
877
+ * M (output) INTEGER
878
+ * The total number of eigenvalues found. 0 <= M <= N.
879
+ * If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
880
+ *
881
+ * W (output) DOUBLE PRECISION array, dimension (N)
882
+ * On normal exit, the first M elements contain the selected
883
+ * eigenvalues in ascending order.
884
+ *
885
+ * Z (output) COMPLEX*16 array, dimension (LDZ, N)
886
+ * If JOBZ = 'N', then Z is not referenced.
887
+ * If JOBZ = 'V', then if INFO = 0, the first M columns of Z
888
+ * contain the orthonormal eigenvectors of the matrix A
889
+ * corresponding to the selected eigenvalues, with the i-th
890
+ * column of Z holding the eigenvector associated with W(i).
891
+ * The eigenvectors are normalized as follows:
892
+ * if ITYPE = 1 or 2, Z**H*B*Z = I;
893
+ * if ITYPE = 3, Z**H*inv(B)*Z = I.
894
+ *
895
+ * If an eigenvector fails to converge, then that column of Z
896
+ * contains the latest approximation to the eigenvector, and the
897
+ * index of the eigenvector is returned in IFAIL.
898
+ * Note: the user must ensure that at least max(1,M) columns are
899
+ * supplied in the array Z; if RANGE = 'V', the exact value of M
900
+ * is not known in advance and an upper bound must be used.
901
+ *
902
+ * LDZ (input) INTEGER
903
+ * The leading dimension of the array Z. LDZ >= 1, and if
904
+ * JOBZ = 'V', LDZ >= max(1,N).
905
+ *
906
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
907
+ *
908
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (7*N)
909
+ *
910
+ * IWORK (workspace) INTEGER array, dimension (5*N)
911
+ *
912
+ * IFAIL (output) INTEGER array, dimension (N)
913
+ * If JOBZ = 'V', then if INFO = 0, the first M elements of
914
+ * IFAIL are zero. If INFO > 0, then IFAIL contains the
915
+ * indices of the eigenvectors that failed to converge.
916
+ * If JOBZ = 'N', then IFAIL is not referenced.
917
+ *
918
+ * INFO (output) INTEGER
919
+ * = 0: successful exit
920
+ * < 0: if INFO = -i, the i-th argument had an illegal value
921
+ * > 0: ZPPTRF or ZHPEVX returned an error code:
922
+ * <= N: if INFO = i, ZHPEVX failed to converge;
923
+ * i eigenvectors failed to converge. Their indices
924
+ * are stored in array IFAIL.
925
+ * > N: if INFO = N + i, for 1 <= i <= n, then the leading
926
+ * minor of order i of B is not positive definite.
927
+ * The factorization of B could not be completed and
928
+ * no eigenvalues or eigenvectors were computed.
929
+ *
930
+
931
+ * Further Details
932
+ * ===============
933
+ *
934
+ * Based on contributions by
935
+ * Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
936
+ *
937
+ * =====================================================================
938
+ *
939
+ * .. Local Scalars ..
940
+ LOGICAL ALLEIG, INDEIG, UPPER, VALEIG, WANTZ
941
+ CHARACTER TRANS
942
+ INTEGER J
943
+ * ..
944
+ * .. External Functions ..
945
+ LOGICAL LSAME
946
+ EXTERNAL LSAME
947
+ * ..
948
+ * .. External Subroutines ..
949
+ EXTERNAL XERBLA, ZHPEVX, ZHPGST, ZPPTRF, ZTPMV, ZTPSV
950
+ * ..
951
+ * .. Intrinsic Functions ..
952
+ INTRINSIC MIN
953
+ * ..
954
+
955
+
956
+ </PRE>
957
+ <A HREF="#top">go to the page top</A>
958
+
959
+ <A NAME="zhprfs"></A>
960
+ <H2>zhprfs</H2>
961
+ <PRE>
962
+ USAGE:
963
+ ferr, berr, info, x = NumRu::Lapack.zhprfs( uplo, ap, afp, ipiv, b, x, [:usage => usage, :help => help])
964
+
965
+
966
+ FORTRAN MANUAL
967
+ SUBROUTINE ZHPRFS( UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO )
968
+
969
+ * Purpose
970
+ * =======
971
+ *
972
+ * ZHPRFS improves the computed solution to a system of linear
973
+ * equations when the coefficient matrix is Hermitian indefinite
974
+ * and packed, and provides error bounds and backward error estimates
975
+ * for the solution.
976
+ *
977
+
978
+ * Arguments
979
+ * =========
980
+ *
981
+ * UPLO (input) CHARACTER*1
982
+ * = 'U': Upper triangle of A is stored;
983
+ * = 'L': Lower triangle of A is stored.
984
+ *
985
+ * N (input) INTEGER
986
+ * The order of the matrix A. N >= 0.
987
+ *
988
+ * NRHS (input) INTEGER
989
+ * The number of right hand sides, i.e., the number of columns
990
+ * of the matrices B and X. NRHS >= 0.
991
+ *
992
+ * AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
993
+ * The upper or lower triangle of the Hermitian matrix A, packed
994
+ * columnwise in a linear array. The j-th column of A is stored
995
+ * in the array AP as follows:
996
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
997
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
998
+ *
999
+ * AFP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
1000
+ * The factored form of the matrix A. AFP contains the block
1001
+ * diagonal matrix D and the multipliers used to obtain the
1002
+ * factor U or L from the factorization A = U*D*U**H or
1003
+ * A = L*D*L**H as computed by ZHPTRF, stored as a packed
1004
+ * triangular matrix.
1005
+ *
1006
+ * IPIV (input) INTEGER array, dimension (N)
1007
+ * Details of the interchanges and the block structure of D
1008
+ * as determined by ZHPTRF.
1009
+ *
1010
+ * B (input) COMPLEX*16 array, dimension (LDB,NRHS)
1011
+ * The right hand side matrix B.
1012
+ *
1013
+ * LDB (input) INTEGER
1014
+ * The leading dimension of the array B. LDB >= max(1,N).
1015
+ *
1016
+ * X (input/output) COMPLEX*16 array, dimension (LDX,NRHS)
1017
+ * On entry, the solution matrix X, as computed by ZHPTRS.
1018
+ * On exit, the improved solution matrix X.
1019
+ *
1020
+ * LDX (input) INTEGER
1021
+ * The leading dimension of the array X. LDX >= max(1,N).
1022
+ *
1023
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
1024
+ * The estimated forward error bound for each solution vector
1025
+ * X(j) (the j-th column of the solution matrix X).
1026
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
1027
+ * is an estimated upper bound for the magnitude of the largest
1028
+ * element in (X(j) - XTRUE) divided by the magnitude of the
1029
+ * largest element in X(j). The estimate is as reliable as
1030
+ * the estimate for RCOND, and is almost always a slight
1031
+ * overestimate of the true error.
1032
+ *
1033
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1034
+ * The componentwise relative backward error of each solution
1035
+ * vector X(j) (i.e., the smallest relative change in
1036
+ * any element of A or B that makes X(j) an exact solution).
1037
+ *
1038
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
1039
+ *
1040
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (N)
1041
+ *
1042
+ * INFO (output) INTEGER
1043
+ * = 0: successful exit
1044
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1045
+ *
1046
+ * Internal Parameters
1047
+ * ===================
1048
+ *
1049
+ * ITMAX is the maximum number of steps of iterative refinement.
1050
+ *
1051
+
1052
+ * =====================================================================
1053
+ *
1054
+
1055
+
1056
+ </PRE>
1057
+ <A HREF="#top">go to the page top</A>
1058
+
1059
+ <A NAME="zhpsv"></A>
1060
+ <H2>zhpsv</H2>
1061
+ <PRE>
1062
+ USAGE:
1063
+ ipiv, info, ap, b = NumRu::Lapack.zhpsv( uplo, ap, b, [:usage => usage, :help => help])
1064
+
1065
+
1066
+ FORTRAN MANUAL
1067
+ SUBROUTINE ZHPSV( UPLO, N, NRHS, AP, IPIV, B, LDB, INFO )
1068
+
1069
+ * Purpose
1070
+ * =======
1071
+ *
1072
+ * ZHPSV computes the solution to a complex system of linear equations
1073
+ * A * X = B,
1074
+ * where A is an N-by-N Hermitian matrix stored in packed format and X
1075
+ * and B are N-by-NRHS matrices.
1076
+ *
1077
+ * The diagonal pivoting method is used to factor A as
1078
+ * A = U * D * U**H, if UPLO = 'U', or
1079
+ * A = L * D * L**H, if UPLO = 'L',
1080
+ * where U (or L) is a product of permutation and unit upper (lower)
1081
+ * triangular matrices, D is Hermitian and block diagonal with 1-by-1
1082
+ * and 2-by-2 diagonal blocks. The factored form of A is then used to
1083
+ * solve the system of equations A * X = B.
1084
+ *
1085
+
1086
+ * Arguments
1087
+ * =========
1088
+ *
1089
+ * UPLO (input) CHARACTER*1
1090
+ * = 'U': Upper triangle of A is stored;
1091
+ * = 'L': Lower triangle of A is stored.
1092
+ *
1093
+ * N (input) INTEGER
1094
+ * The number of linear equations, i.e., the order of the
1095
+ * matrix A. N >= 0.
1096
+ *
1097
+ * NRHS (input) INTEGER
1098
+ * The number of right hand sides, i.e., the number of columns
1099
+ * of the matrix B. NRHS >= 0.
1100
+ *
1101
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
1102
+ * On entry, the upper or lower triangle of the Hermitian matrix
1103
+ * A, packed columnwise in a linear array. The j-th column of A
1104
+ * is stored in the array AP as follows:
1105
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
1106
+ * if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
1107
+ * See below for further details.
1108
+ *
1109
+ * On exit, the block diagonal matrix D and the multipliers used
1110
+ * to obtain the factor U or L from the factorization
1111
+ * A = U*D*U**H or A = L*D*L**H as computed by ZHPTRF, stored as
1112
+ * a packed triangular matrix in the same storage format as A.
1113
+ *
1114
+ * IPIV (output) INTEGER array, dimension (N)
1115
+ * Details of the interchanges and the block structure of D, as
1116
+ * determined by ZHPTRF. If IPIV(k) > 0, then rows and columns
1117
+ * k and IPIV(k) were interchanged, and D(k,k) is a 1-by-1
1118
+ * diagonal block. If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0,
1119
+ * then rows and columns k-1 and -IPIV(k) were interchanged and
1120
+ * D(k-1:k,k-1:k) is a 2-by-2 diagonal block. If UPLO = 'L' and
1121
+ * IPIV(k) = IPIV(k+1) < 0, then rows and columns k+1 and
1122
+ * -IPIV(k) were interchanged and D(k:k+1,k:k+1) is a 2-by-2
1123
+ * diagonal block.
1124
+ *
1125
+ * B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
1126
+ * On entry, the N-by-NRHS right hand side matrix B.
1127
+ * On exit, if INFO = 0, the N-by-NRHS solution matrix X.
1128
+ *
1129
+ * LDB (input) INTEGER
1130
+ * The leading dimension of the array B. LDB >= max(1,N).
1131
+ *
1132
+ * INFO (output) INTEGER
1133
+ * = 0: successful exit
1134
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1135
+ * > 0: if INFO = i, D(i,i) is exactly zero. The factorization
1136
+ * has been completed, but the block diagonal matrix D is
1137
+ * exactly singular, so the solution could not be
1138
+ * computed.
1139
+ *
1140
+
1141
+ * Further Details
1142
+ * ===============
1143
+ *
1144
+ * The packed storage scheme is illustrated by the following example
1145
+ * when N = 4, UPLO = 'U':
1146
+ *
1147
+ * Two-dimensional storage of the Hermitian matrix A:
1148
+ *
1149
+ * a11 a12 a13 a14
1150
+ * a22 a23 a24
1151
+ * a33 a34 (aij = conjg(aji))
1152
+ * a44
1153
+ *
1154
+ * Packed storage of the upper triangle of A:
1155
+ *
1156
+ * AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]
1157
+ *
1158
+ * =====================================================================
1159
+ *
1160
+ * .. External Functions ..
1161
+ LOGICAL LSAME
1162
+ EXTERNAL LSAME
1163
+ * ..
1164
+ * .. External Subroutines ..
1165
+ EXTERNAL XERBLA, ZHPTRF, ZHPTRS
1166
+ * ..
1167
+ * .. Intrinsic Functions ..
1168
+ INTRINSIC MAX
1169
+ * ..
1170
+
1171
+
1172
+ </PRE>
1173
+ <A HREF="#top">go to the page top</A>
1174
+
1175
+ <A NAME="zhpsvx"></A>
1176
+ <H2>zhpsvx</H2>
1177
+ <PRE>
1178
+ USAGE:
1179
+ x, rcond, ferr, berr, info, afp, ipiv = NumRu::Lapack.zhpsvx( fact, uplo, ap, afp, ipiv, b, [:usage => usage, :help => help])
1180
+
1181
+
1182
+ FORTRAN MANUAL
1183
+ SUBROUTINE ZHPSVX( FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO )
1184
+
1185
+ * Purpose
1186
+ * =======
1187
+ *
1188
+ * ZHPSVX uses the diagonal pivoting factorization A = U*D*U**H or
1189
+ * A = L*D*L**H to compute the solution to a complex system of linear
1190
+ * equations A * X = B, where A is an N-by-N Hermitian matrix stored
1191
+ * in packed format and X and B are N-by-NRHS matrices.
1192
+ *
1193
+ * Error bounds on the solution and a condition estimate are also
1194
+ * provided.
1195
+ *
1196
+ * Description
1197
+ * ===========
1198
+ *
1199
+ * The following steps are performed:
1200
+ *
1201
+ * 1. If FACT = 'N', the diagonal pivoting method is used to factor A as
1202
+ * A = U * D * U**H, if UPLO = 'U', or
1203
+ * A = L * D * L**H, if UPLO = 'L',
1204
+ * where U (or L) is a product of permutation and unit upper (lower)
1205
+ * triangular matrices and D is Hermitian and block diagonal with
1206
+ * 1-by-1 and 2-by-2 diagonal blocks.
1207
+ *
1208
+ * 2. If some D(i,i)=0, so that D is exactly singular, then the routine
1209
+ * returns with INFO = i. Otherwise, the factored form of A is used
1210
+ * to estimate the condition number of the matrix A. If the
1211
+ * reciprocal of the condition number is less than machine precision,
1212
+ * INFO = N+1 is returned as a warning, but the routine still goes on
1213
+ * to solve for X and compute error bounds as described below.
1214
+ *
1215
+ * 3. The system of equations is solved for X using the factored form
1216
+ * of A.
1217
+ *
1218
+ * 4. Iterative refinement is applied to improve the computed solution
1219
+ * matrix and calculate error bounds and backward error estimates
1220
+ * for it.
1221
+ *
1222
+
1223
+ * Arguments
1224
+ * =========
1225
+ *
1226
+ * FACT (input) CHARACTER*1
1227
+ * Specifies whether or not the factored form of A has been
1228
+ * supplied on entry.
1229
+ * = 'F': On entry, AFP and IPIV contain the factored form of
1230
+ * A. AFP and IPIV will not be modified.
1231
+ * = 'N': The matrix A will be copied to AFP and factored.
1232
+ *
1233
+ * UPLO (input) CHARACTER*1
1234
+ * = 'U': Upper triangle of A is stored;
1235
+ * = 'L': Lower triangle of A is stored.
1236
+ *
1237
+ * N (input) INTEGER
1238
+ * The number of linear equations, i.e., the order of the
1239
+ * matrix A. N >= 0.
1240
+ *
1241
+ * NRHS (input) INTEGER
1242
+ * The number of right hand sides, i.e., the number of columns
1243
+ * of the matrices B and X. NRHS >= 0.
1244
+ *
1245
+ * AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
1246
+ * The upper or lower triangle of the Hermitian matrix A, packed
1247
+ * columnwise in a linear array. The j-th column of A is stored
1248
+ * in the array AP as follows:
1249
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
1250
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
1251
+ * See below for further details.
1252
+ *
1253
+ * AFP (input or output) COMPLEX*16 array, dimension (N*(N+1)/2)
1254
+ * If FACT = 'F', then AFP is an input argument and on entry
1255
+ * contains the block diagonal matrix D and the multipliers used
1256
+ * to obtain the factor U or L from the factorization
1257
+ * A = U*D*U**H or A = L*D*L**H as computed by ZHPTRF, stored as
1258
+ * a packed triangular matrix in the same storage format as A.
1259
+ *
1260
+ * If FACT = 'N', then AFP is an output argument and on exit
1261
+ * contains the block diagonal matrix D and the multipliers used
1262
+ * to obtain the factor U or L from the factorization
1263
+ * A = U*D*U**H or A = L*D*L**H as computed by ZHPTRF, stored as
1264
+ * a packed triangular matrix in the same storage format as A.
1265
+ *
1266
+ * IPIV (input or output) INTEGER array, dimension (N)
1267
+ * If FACT = 'F', then IPIV is an input argument and on entry
1268
+ * contains details of the interchanges and the block structure
1269
+ * of D, as determined by ZHPTRF.
1270
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1271
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1272
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1273
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1274
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1275
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1276
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1277
+ *
1278
+ * If FACT = 'N', then IPIV is an output argument and on exit
1279
+ * contains details of the interchanges and the block structure
1280
+ * of D, as determined by ZHPTRF.
1281
+ *
1282
+ * B (input) COMPLEX*16 array, dimension (LDB,NRHS)
1283
+ * The N-by-NRHS right hand side matrix B.
1284
+ *
1285
+ * LDB (input) INTEGER
1286
+ * The leading dimension of the array B. LDB >= max(1,N).
1287
+ *
1288
+ * X (output) COMPLEX*16 array, dimension (LDX,NRHS)
1289
+ * If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X.
1290
+ *
1291
+ * LDX (input) INTEGER
1292
+ * The leading dimension of the array X. LDX >= max(1,N).
1293
+ *
1294
+ * RCOND (output) DOUBLE PRECISION
1295
+ * The estimate of the reciprocal condition number of the matrix
1296
+ * A. If RCOND is less than the machine precision (in
1297
+ * particular, if RCOND = 0), the matrix is singular to working
1298
+ * precision. This condition is indicated by a return code of
1299
+ * INFO > 0.
1300
+ *
1301
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
1302
+ * The estimated forward error bound for each solution vector
1303
+ * X(j) (the j-th column of the solution matrix X).
1304
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
1305
+ * is an estimated upper bound for the magnitude of the largest
1306
+ * element in (X(j) - XTRUE) divided by the magnitude of the
1307
+ * largest element in X(j). The estimate is as reliable as
1308
+ * the estimate for RCOND, and is almost always a slight
1309
+ * overestimate of the true error.
1310
+ *
1311
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1312
+ * The componentwise relative backward error of each solution
1313
+ * vector X(j) (i.e., the smallest relative change in
1314
+ * any element of A or B that makes X(j) an exact solution).
1315
+ *
1316
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
1317
+ *
1318
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (N)
1319
+ *
1320
+ * INFO (output) INTEGER
1321
+ * = 0: successful exit
1322
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1323
+ * > 0: if INFO = i, and i is
1324
+ * <= N: D(i,i) is exactly zero. The factorization
1325
+ * has been completed but the factor D is exactly
1326
+ * singular, so the solution and error bounds could
1327
+ * not be computed. RCOND = 0 is returned.
1328
+ * = N+1: D is nonsingular, but RCOND is less than machine
1329
+ * precision, meaning that the matrix is singular
1330
+ * to working precision. Nevertheless, the
1331
+ * solution and error bounds are computed because
1332
+ * there are a number of situations where the
1333
+ * computed solution can be more accurate than the
1334
+ * value of RCOND would suggest.
1335
+ *
1336
+
1337
+ * Further Details
1338
+ * ===============
1339
+ *
1340
+ * The packed storage scheme is illustrated by the following example
1341
+ * when N = 4, UPLO = 'U':
1342
+ *
1343
+ * Two-dimensional storage of the Hermitian matrix A:
1344
+ *
1345
+ * a11 a12 a13 a14
1346
+ * a22 a23 a24
1347
+ * a33 a34 (aij = conjg(aji))
1348
+ * a44
1349
+ *
1350
+ * Packed storage of the upper triangle of A:
1351
+ *
1352
+ * AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]
1353
+ *
1354
+ * =====================================================================
1355
+ *
1356
+
1357
+
1358
+ </PRE>
1359
+ <A HREF="#top">go to the page top</A>
1360
+
1361
+ <A NAME="zhptrd"></A>
1362
+ <H2>zhptrd</H2>
1363
+ <PRE>
1364
+ USAGE:
1365
+ d, e, tau, info, ap = NumRu::Lapack.zhptrd( uplo, ap, [:usage => usage, :help => help])
1366
+
1367
+
1368
+ FORTRAN MANUAL
1369
+ SUBROUTINE ZHPTRD( UPLO, N, AP, D, E, TAU, INFO )
1370
+
1371
+ * Purpose
1372
+ * =======
1373
+ *
1374
+ * ZHPTRD reduces a complex Hermitian matrix A stored in packed form to
1375
+ * real symmetric tridiagonal form T by a unitary similarity
1376
+ * transformation: Q**H * A * Q = T.
1377
+ *
1378
+
1379
+ * Arguments
1380
+ * =========
1381
+ *
1382
+ * UPLO (input) CHARACTER*1
1383
+ * = 'U': Upper triangle of A is stored;
1384
+ * = 'L': Lower triangle of A is stored.
1385
+ *
1386
+ * N (input) INTEGER
1387
+ * The order of the matrix A. N >= 0.
1388
+ *
1389
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
1390
+ * On entry, the upper or lower triangle of the Hermitian matrix
1391
+ * A, packed columnwise in a linear array. The j-th column of A
1392
+ * is stored in the array AP as follows:
1393
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
1394
+ * if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
1395
+ * On exit, if UPLO = 'U', the diagonal and first superdiagonal
1396
+ * of A are overwritten by the corresponding elements of the
1397
+ * tridiagonal matrix T, and the elements above the first
1398
+ * superdiagonal, with the array TAU, represent the unitary
1399
+ * matrix Q as a product of elementary reflectors; if UPLO
1400
+ * = 'L', the diagonal and first subdiagonal of A are over-
1401
+ * written by the corresponding elements of the tridiagonal
1402
+ * matrix T, and the elements below the first subdiagonal, with
1403
+ * the array TAU, represent the unitary matrix Q as a product
1404
+ * of elementary reflectors. See Further Details.
1405
+ *
1406
+ * D (output) DOUBLE PRECISION array, dimension (N)
1407
+ * The diagonal elements of the tridiagonal matrix T:
1408
+ * D(i) = A(i,i).
1409
+ *
1410
+ * E (output) DOUBLE PRECISION array, dimension (N-1)
1411
+ * The off-diagonal elements of the tridiagonal matrix T:
1412
+ * E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
1413
+ *
1414
+ * TAU (output) COMPLEX*16 array, dimension (N-1)
1415
+ * The scalar factors of the elementary reflectors (see Further
1416
+ * Details).
1417
+ *
1418
+ * INFO (output) INTEGER
1419
+ * = 0: successful exit
1420
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1421
+ *
1422
+
1423
+ * Further Details
1424
+ * ===============
1425
+ *
1426
+ * If UPLO = 'U', the matrix Q is represented as a product of elementary
1427
+ * reflectors
1428
+ *
1429
+ * Q = H(n-1) . . . H(2) H(1).
1430
+ *
1431
+ * Each H(i) has the form
1432
+ *
1433
+ * H(i) = I - tau * v * v'
1434
+ *
1435
+ * where tau is a complex scalar, and v is a complex vector with
1436
+ * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP,
1437
+ * overwriting A(1:i-1,i+1), and tau is stored in TAU(i).
1438
+ *
1439
+ * If UPLO = 'L', the matrix Q is represented as a product of elementary
1440
+ * reflectors
1441
+ *
1442
+ * Q = H(1) H(2) . . . H(n-1).
1443
+ *
1444
+ * Each H(i) has the form
1445
+ *
1446
+ * H(i) = I - tau * v * v'
1447
+ *
1448
+ * where tau is a complex scalar, and v is a complex vector with
1449
+ * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP,
1450
+ * overwriting A(i+2:n,i), and tau is stored in TAU(i).
1451
+ *
1452
+ * =====================================================================
1453
+ *
1454
+
1455
+
1456
+ </PRE>
1457
+ <A HREF="#top">go to the page top</A>
1458
+
1459
+ <A NAME="zhptrf"></A>
1460
+ <H2>zhptrf</H2>
1461
+ <PRE>
1462
+ USAGE:
1463
+ ipiv, info, ap = NumRu::Lapack.zhptrf( uplo, ap, [:usage => usage, :help => help])
1464
+
1465
+
1466
+ FORTRAN MANUAL
1467
+ SUBROUTINE ZHPTRF( UPLO, N, AP, IPIV, INFO )
1468
+
1469
+ * Purpose
1470
+ * =======
1471
+ *
1472
+ * ZHPTRF computes the factorization of a complex Hermitian packed
1473
+ * matrix A using the Bunch-Kaufman diagonal pivoting method:
1474
+ *
1475
+ * A = U*D*U**H or A = L*D*L**H
1476
+ *
1477
+ * where U (or L) is a product of permutation and unit upper (lower)
1478
+ * triangular matrices, and D is Hermitian and block diagonal with
1479
+ * 1-by-1 and 2-by-2 diagonal blocks.
1480
+ *
1481
+
1482
+ * Arguments
1483
+ * =========
1484
+ *
1485
+ * UPLO (input) CHARACTER*1
1486
+ * = 'U': Upper triangle of A is stored;
1487
+ * = 'L': Lower triangle of A is stored.
1488
+ *
1489
+ * N (input) INTEGER
1490
+ * The order of the matrix A. N >= 0.
1491
+ *
1492
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
1493
+ * On entry, the upper or lower triangle of the Hermitian matrix
1494
+ * A, packed columnwise in a linear array. The j-th column of A
1495
+ * is stored in the array AP as follows:
1496
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
1497
+ * if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
1498
+ *
1499
+ * On exit, the block diagonal matrix D and the multipliers used
1500
+ * to obtain the factor U or L, stored as a packed triangular
1501
+ * matrix overwriting A (see below for further details).
1502
+ *
1503
+ * IPIV (output) INTEGER array, dimension (N)
1504
+ * Details of the interchanges and the block structure of D.
1505
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1506
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1507
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1508
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1509
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1510
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1511
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1512
+ *
1513
+ * INFO (output) INTEGER
1514
+ * = 0: successful exit
1515
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1516
+ * > 0: if INFO = i, D(i,i) is exactly zero. The factorization
1517
+ * has been completed, but the block diagonal matrix D is
1518
+ * exactly singular, and division by zero will occur if it
1519
+ * is used to solve a system of equations.
1520
+ *
1521
+
1522
+ * Further Details
1523
+ * ===============
1524
+ *
1525
+ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services
1526
+ * Company
1527
+ *
1528
+ * If UPLO = 'U', then A = U*D*U', where
1529
+ * U = P(n)*U(n)* ... *P(k)U(k)* ...,
1530
+ * i.e., U is a product of terms P(k)*U(k), where k decreases from n to
1531
+ * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1532
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1533
+ * defined by IPIV(k), and U(k) is a unit upper triangular matrix, such
1534
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1535
+ *
1536
+ * ( I v 0 ) k-s
1537
+ * U(k) = ( 0 I 0 ) s
1538
+ * ( 0 0 I ) n-k
1539
+ * k-s s n-k
1540
+ *
1541
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).
1542
+ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k),
1543
+ * and A(k,k), and v overwrites A(1:k-2,k-1:k).
1544
+ *
1545
+ * If UPLO = 'L', then A = L*D*L', where
1546
+ * L = P(1)*L(1)* ... *P(k)*L(k)* ...,
1547
+ * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to
1548
+ * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1549
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1550
+ * defined by IPIV(k), and L(k) is a unit lower triangular matrix, such
1551
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1552
+ *
1553
+ * ( I 0 0 ) k-1
1554
+ * L(k) = ( 0 I 0 ) s
1555
+ * ( 0 v I ) n-k-s+1
1556
+ * k-1 s n-k-s+1
1557
+ *
1558
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).
1559
+ * If s = 2, the lower triangle of D(k) overwrites A(k,k), A(k+1,k),
1560
+ * and A(k+1,k+1), and v overwrites A(k+2:n,k:k+1).
1561
+ *
1562
+ * =====================================================================
1563
+ *
1564
+
1565
+
1566
+ </PRE>
1567
+ <A HREF="#top">go to the page top</A>
1568
+
1569
+ <A NAME="zhptri"></A>
1570
+ <H2>zhptri</H2>
1571
+ <PRE>
1572
+ USAGE:
1573
+ info, ap = NumRu::Lapack.zhptri( uplo, ap, ipiv, [:usage => usage, :help => help])
1574
+
1575
+
1576
+ FORTRAN MANUAL
1577
+ SUBROUTINE ZHPTRI( UPLO, N, AP, IPIV, WORK, INFO )
1578
+
1579
+ * Purpose
1580
+ * =======
1581
+ *
1582
+ * ZHPTRI computes the inverse of a complex Hermitian indefinite matrix
1583
+ * A in packed storage using the factorization A = U*D*U**H or
1584
+ * A = L*D*L**H computed by ZHPTRF.
1585
+ *
1586
+
1587
+ * Arguments
1588
+ * =========
1589
+ *
1590
+ * UPLO (input) CHARACTER*1
1591
+ * Specifies whether the details of the factorization are stored
1592
+ * as an upper or lower triangular matrix.
1593
+ * = 'U': Upper triangular, form is A = U*D*U**H;
1594
+ * = 'L': Lower triangular, form is A = L*D*L**H.
1595
+ *
1596
+ * N (input) INTEGER
1597
+ * The order of the matrix A. N >= 0.
1598
+ *
1599
+ * AP (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
1600
+ * On entry, the block diagonal matrix D and the multipliers
1601
+ * used to obtain the factor U or L as computed by ZHPTRF,
1602
+ * stored as a packed triangular matrix.
1603
+ *
1604
+ * On exit, if INFO = 0, the (Hermitian) inverse of the original
1605
+ * matrix, stored as a packed triangular matrix. The j-th column
1606
+ * of inv(A) is stored in the array AP as follows:
1607
+ * if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
1608
+ * if UPLO = 'L',
1609
+ * AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
1610
+ *
1611
+ * IPIV (input) INTEGER array, dimension (N)
1612
+ * Details of the interchanges and the block structure of D
1613
+ * as determined by ZHPTRF.
1614
+ *
1615
+ * WORK (workspace) COMPLEX*16 array, dimension (N)
1616
+ *
1617
+ * INFO (output) INTEGER
1618
+ * = 0: successful exit
1619
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1620
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
1621
+ * inverse could not be computed.
1622
+ *
1623
+
1624
+ * =====================================================================
1625
+ *
1626
+
1627
+
1628
+ </PRE>
1629
+ <A HREF="#top">go to the page top</A>
1630
+
1631
+ <A NAME="zhptrs"></A>
1632
+ <H2>zhptrs</H2>
1633
+ <PRE>
1634
+ USAGE:
1635
+ info, b = NumRu::Lapack.zhptrs( uplo, ap, ipiv, b, [:usage => usage, :help => help])
1636
+
1637
+
1638
+ FORTRAN MANUAL
1639
+ SUBROUTINE ZHPTRS( UPLO, N, NRHS, AP, IPIV, B, LDB, INFO )
1640
+
1641
+ * Purpose
1642
+ * =======
1643
+ *
1644
+ * ZHPTRS solves a system of linear equations A*X = B with a complex
1645
+ * Hermitian matrix A stored in packed format using the factorization
1646
+ * A = U*D*U**H or A = L*D*L**H computed by ZHPTRF.
1647
+ *
1648
+
1649
+ * Arguments
1650
+ * =========
1651
+ *
1652
+ * UPLO (input) CHARACTER*1
1653
+ * Specifies whether the details of the factorization are stored
1654
+ * as an upper or lower triangular matrix.
1655
+ * = 'U': Upper triangular, form is A = U*D*U**H;
1656
+ * = 'L': Lower triangular, form is A = L*D*L**H.
1657
+ *
1658
+ * N (input) INTEGER
1659
+ * The order of the matrix A. N >= 0.
1660
+ *
1661
+ * NRHS (input) INTEGER
1662
+ * The number of right hand sides, i.e., the number of columns
1663
+ * of the matrix B. NRHS >= 0.
1664
+ *
1665
+ * AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
1666
+ * The block diagonal matrix D and the multipliers used to
1667
+ * obtain the factor U or L as computed by ZHPTRF, stored as a
1668
+ * packed triangular matrix.
1669
+ *
1670
+ * IPIV (input) INTEGER array, dimension (N)
1671
+ * Details of the interchanges and the block structure of D
1672
+ * as determined by ZHPTRF.
1673
+ *
1674
+ * B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
1675
+ * On entry, the right hand side matrix B.
1676
+ * On exit, the solution matrix X.
1677
+ *
1678
+ * LDB (input) INTEGER
1679
+ * The leading dimension of the array B. LDB >= max(1,N).
1680
+ *
1681
+ * INFO (output) INTEGER
1682
+ * = 0: successful exit
1683
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1684
+ *
1685
+
1686
+ * =====================================================================
1687
+ *
1688
+
1689
+
1690
+ </PRE>
1691
+ <A HREF="#top">go to the page top</A>
1692
+
1693
+ <HR />
1694
+ <A HREF="z.html">back to matrix types</A><BR>
1695
+ <A HREF="z.html">back to data types</A>
1696
+ </BODY>
1697
+ </HTML>