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/zsy.html ADDED
@@ -0,0 +1,2191 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>COMPLEX*16 or DOUBLE COMPLEX routines for symmetric matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>COMPLEX*16 or DOUBLE COMPLEX routines for symmetric matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#zsycon">zsycon</A></LI>
10
+ <LI><A HREF="#zsyconv">zsyconv</A></LI>
11
+ <LI><A HREF="#zsyequb">zsyequb</A></LI>
12
+ <LI><A HREF="#zsymv">zsymv</A></LI>
13
+ <LI><A HREF="#zsyr">zsyr</A></LI>
14
+ <LI><A HREF="#zsyrfs">zsyrfs</A></LI>
15
+ <LI><A HREF="#zsyrfsx">zsyrfsx</A></LI>
16
+ <LI><A HREF="#zsysv">zsysv</A></LI>
17
+ <LI><A HREF="#zsysvx">zsysvx</A></LI>
18
+ <LI><A HREF="#zsysvxx">zsysvxx</A></LI>
19
+ <LI><A HREF="#zsyswapr">zsyswapr</A></LI>
20
+ <LI><A HREF="#zsytf2">zsytf2</A></LI>
21
+ <LI><A HREF="#zsytrf">zsytrf</A></LI>
22
+ <LI><A HREF="#zsytri">zsytri</A></LI>
23
+ <LI><A HREF="#zsytri2">zsytri2</A></LI>
24
+ <LI><A HREF="#zsytri2x">zsytri2x</A></LI>
25
+ <LI><A HREF="#zsytrs">zsytrs</A></LI>
26
+ <LI><A HREF="#zsytrs2">zsytrs2</A></LI>
27
+ </UL>
28
+
29
+ <A NAME="zsycon"></A>
30
+ <H2>zsycon</H2>
31
+ <PRE>
32
+ USAGE:
33
+ rcond, info = NumRu::Lapack.zsycon( uplo, a, ipiv, anorm, [:usage => usage, :help => help])
34
+
35
+
36
+ FORTRAN MANUAL
37
+ SUBROUTINE ZSYCON( UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO )
38
+
39
+ * Purpose
40
+ * =======
41
+ *
42
+ * ZSYCON estimates the reciprocal of the condition number (in the
43
+ * 1-norm) of a complex symmetric matrix A using the factorization
44
+ * A = U*D*U**T or A = L*D*L**T computed by ZSYTRF.
45
+ *
46
+ * An estimate is obtained for norm(inv(A)), and the reciprocal of the
47
+ * condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
48
+ *
49
+
50
+ * Arguments
51
+ * =========
52
+ *
53
+ * UPLO (input) CHARACTER*1
54
+ * Specifies whether the details of the factorization are stored
55
+ * as an upper or lower triangular matrix.
56
+ * = 'U': Upper triangular, form is A = U*D*U**T;
57
+ * = 'L': Lower triangular, form is A = L*D*L**T.
58
+ *
59
+ * N (input) INTEGER
60
+ * The order of the matrix A. N >= 0.
61
+ *
62
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
63
+ * The block diagonal matrix D and the multipliers used to
64
+ * obtain the factor U or L as computed by ZSYTRF.
65
+ *
66
+ * LDA (input) INTEGER
67
+ * The leading dimension of the array A. LDA >= max(1,N).
68
+ *
69
+ * IPIV (input) INTEGER array, dimension (N)
70
+ * Details of the interchanges and the block structure of D
71
+ * as determined by ZSYTRF.
72
+ *
73
+ * ANORM (input) DOUBLE PRECISION
74
+ * The 1-norm of the original matrix A.
75
+ *
76
+ * RCOND (output) DOUBLE PRECISION
77
+ * The reciprocal of the condition number of the matrix A,
78
+ * computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an
79
+ * estimate of the 1-norm of inv(A) computed in this routine.
80
+ *
81
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
82
+ *
83
+ * INFO (output) INTEGER
84
+ * = 0: successful exit
85
+ * < 0: if INFO = -i, the i-th argument had an illegal value
86
+ *
87
+
88
+ * =====================================================================
89
+ *
90
+
91
+
92
+ </PRE>
93
+ <A HREF="#top">go to the page top</A>
94
+
95
+ <A NAME="zsyconv"></A>
96
+ <H2>zsyconv</H2>
97
+ <PRE>
98
+ USAGE:
99
+ info = NumRu::Lapack.zsyconv( uplo, way, a, ipiv, [:usage => usage, :help => help])
100
+
101
+
102
+ FORTRAN MANUAL
103
+ SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
104
+
105
+ * Purpose
106
+ * =======
107
+ *
108
+ * ZSYCONV converts A given by ZHETRF into L and D or vice-versa.
109
+ * Get nondiagonal elements of D (returned in workspace) and
110
+ * apply or reverse permutation done in TRF.
111
+ *
112
+
113
+ * Arguments
114
+ * =========
115
+ *
116
+ * UPLO (input) CHARACTER*1
117
+ * Specifies whether the details of the factorization are stored
118
+ * as an upper or lower triangular matrix.
119
+ * = 'U': Upper triangular, form is A = U*D*U**T;
120
+ * = 'L': Lower triangular, form is A = L*D*L**T.
121
+ *
122
+ * WAY (input) CHARACTER*1
123
+ * = 'C': Convert
124
+ * = 'R': Revert
125
+ *
126
+ * N (input) INTEGER
127
+ * The order of the matrix A. N >= 0.
128
+ *
129
+ * A (input) DOUBLE COMPLEX array, dimension (LDA,N)
130
+ * The block diagonal matrix D and the multipliers used to
131
+ * obtain the factor U or L as computed by ZSYTRF.
132
+ *
133
+ * LDA (input) INTEGER
134
+ * The leading dimension of the array A. LDA >= max(1,N).
135
+ *
136
+ * IPIV (input) INTEGER array, dimension (N)
137
+ * Details of the interchanges and the block structure of D
138
+ * as determined by ZSYTRF.
139
+ *
140
+ * WORK (workspace) DOUBLE COMPLEX array, dimension (N)
141
+ *
142
+ * LWORK (input) INTEGER
143
+ * The length of WORK. LWORK >=1.
144
+ * LWORK = N
145
+ *
146
+ * If LWORK = -1, then a workspace query is assumed; the routine
147
+ * only calculates the optimal size of the WORK array, returns
148
+ * this value as the first entry of the WORK array, and no error
149
+ * message related to LWORK is issued by XERBLA.
150
+ *
151
+ * INFO (output) INTEGER
152
+ * = 0: successful exit
153
+ * < 0: if INFO = -i, the i-th argument had an illegal value
154
+ *
155
+
156
+ * =====================================================================
157
+ *
158
+
159
+
160
+ </PRE>
161
+ <A HREF="#top">go to the page top</A>
162
+
163
+ <A NAME="zsyequb"></A>
164
+ <H2>zsyequb</H2>
165
+ <PRE>
166
+ USAGE:
167
+ s, scond, amax, info = NumRu::Lapack.zsyequb( uplo, a, [:usage => usage, :help => help])
168
+
169
+
170
+ FORTRAN MANUAL
171
+ SUBROUTINE ZSYEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )
172
+
173
+ * Purpose
174
+ * =======
175
+ *
176
+ * ZSYEQUB computes row and column scalings intended to equilibrate a
177
+ * symmetric matrix A and reduce its condition number
178
+ * (with respect to the two-norm). S contains the scale factors,
179
+ * S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with
180
+ * elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the diagonal. This
181
+ * choice of S puts the condition number of B within a factor N of the
182
+ * smallest possible condition number over all possible diagonal
183
+ * scalings.
184
+ *
185
+
186
+ * Arguments
187
+ * =========
188
+ *
189
+ * UPLO (input) CHARACTER*1
190
+ * Specifies whether the details of the factorization are stored
191
+ * as an upper or lower triangular matrix.
192
+ * = 'U': Upper triangular, form is A = U*D*U**T;
193
+ * = 'L': Lower triangular, form is A = L*D*L**T.
194
+ *
195
+ * N (input) INTEGER
196
+ * The order of the matrix A. N >= 0.
197
+ *
198
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
199
+ * The N-by-N symmetric matrix whose scaling
200
+ * factors are to be computed. Only the diagonal elements of A
201
+ * are referenced.
202
+ *
203
+ * LDA (input) INTEGER
204
+ * The leading dimension of the array A. LDA >= max(1,N).
205
+ *
206
+ * S (output) DOUBLE PRECISION array, dimension (N)
207
+ * If INFO = 0, S contains the scale factors for A.
208
+ *
209
+ * SCOND (output) DOUBLE PRECISION
210
+ * If INFO = 0, S contains the ratio of the smallest S(i) to
211
+ * the largest S(i). If SCOND >= 0.1 and AMAX is neither too
212
+ * large nor too small, it is not worth scaling by S.
213
+ *
214
+ * AMAX (output) DOUBLE PRECISION
215
+ * Absolute value of largest matrix element. If AMAX is very
216
+ * close to overflow or very close to underflow, the matrix
217
+ * should be scaled.
218
+ *
219
+ * WORK (workspace) COMPLEX*16 array, dimension (3*N)
220
+ *
221
+ * INFO (output) INTEGER
222
+ * = 0: successful exit
223
+ * < 0: if INFO = -i, the i-th argument had an illegal value
224
+ * > 0: if INFO = i, the i-th diagonal element is nonpositive.
225
+ *
226
+
227
+ * Further Details
228
+ * ======= =======
229
+ *
230
+ * Reference: Livne, O.E. and Golub, G.H., "Scaling by Binormalization",
231
+ * Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004.
232
+ * DOI 10.1023/B:NUMA.0000016606.32820.69
233
+ * Tech report version: http://ruready.utah.edu/archive/papers/bin.pdf
234
+ *
235
+ * =====================================================================
236
+ *
237
+
238
+
239
+ </PRE>
240
+ <A HREF="#top">go to the page top</A>
241
+
242
+ <A NAME="zsymv"></A>
243
+ <H2>zsymv</H2>
244
+ <PRE>
245
+ USAGE:
246
+ y = NumRu::Lapack.zsymv( uplo, alpha, a, x, incx, beta, y, incy, [:usage => usage, :help => help])
247
+
248
+
249
+ FORTRAN MANUAL
250
+ SUBROUTINE ZSYMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )
251
+
252
+ * Purpose
253
+ * =======
254
+ *
255
+ * ZSYMV performs the matrix-vector operation
256
+ *
257
+ * y := alpha*A*x + beta*y,
258
+ *
259
+ * where alpha and beta are scalars, x and y are n element vectors and
260
+ * A is an n by n symmetric matrix.
261
+ *
262
+
263
+ * Arguments
264
+ * ==========
265
+ *
266
+ * UPLO (input) CHARACTER*1
267
+ * On entry, UPLO specifies whether the upper or lower
268
+ * triangular part of the array A is to be referenced as
269
+ * follows:
270
+ *
271
+ * UPLO = 'U' or 'u' Only the upper triangular part of A
272
+ * is to be referenced.
273
+ *
274
+ * UPLO = 'L' or 'l' Only the lower triangular part of A
275
+ * is to be referenced.
276
+ *
277
+ * Unchanged on exit.
278
+ *
279
+ * N (input) INTEGER
280
+ * On entry, N specifies the order of the matrix A.
281
+ * N must be at least zero.
282
+ * Unchanged on exit.
283
+ *
284
+ * ALPHA (input) COMPLEX*16
285
+ * On entry, ALPHA specifies the scalar alpha.
286
+ * Unchanged on exit.
287
+ *
288
+ * A (input) COMPLEX*16 array, dimension ( LDA, N )
289
+ * Before entry, with UPLO = 'U' or 'u', the leading n by n
290
+ * upper triangular part of the array A must contain the upper
291
+ * triangular part of the symmetric matrix and the strictly
292
+ * lower triangular part of A is not referenced.
293
+ * Before entry, with UPLO = 'L' or 'l', the leading n by n
294
+ * lower triangular part of the array A must contain the lower
295
+ * triangular part of the symmetric matrix and the strictly
296
+ * upper triangular part of A is not referenced.
297
+ * Unchanged on exit.
298
+ *
299
+ * LDA (input) INTEGER
300
+ * On entry, LDA specifies the first dimension of A as declared
301
+ * in the calling (sub) program. LDA must be at least
302
+ * max( 1, N ).
303
+ * Unchanged on exit.
304
+ *
305
+ * X (input) COMPLEX*16 array, dimension at least
306
+ * ( 1 + ( N - 1 )*abs( INCX ) ).
307
+ * Before entry, the incremented array X must contain the N-
308
+ * element vector x.
309
+ * Unchanged on exit.
310
+ *
311
+ * INCX (input) INTEGER
312
+ * On entry, INCX specifies the increment for the elements of
313
+ * X. INCX must not be zero.
314
+ * Unchanged on exit.
315
+ *
316
+ * BETA (input) COMPLEX*16
317
+ * On entry, BETA specifies the scalar beta. When BETA is
318
+ * supplied as zero then Y need not be set on input.
319
+ * Unchanged on exit.
320
+ *
321
+ * Y (input/output) COMPLEX*16 array, dimension at least
322
+ * ( 1 + ( N - 1 )*abs( INCY ) ).
323
+ * Before entry, the incremented array Y must contain the n
324
+ * element vector y. On exit, Y is overwritten by the updated
325
+ * vector y.
326
+ *
327
+ * INCY (input) INTEGER
328
+ * On entry, INCY specifies the increment for the elements of
329
+ * Y. INCY must not be zero.
330
+ * Unchanged on exit.
331
+ *
332
+
333
+ * =====================================================================
334
+ *
335
+
336
+
337
+ </PRE>
338
+ <A HREF="#top">go to the page top</A>
339
+
340
+ <A NAME="zsyr"></A>
341
+ <H2>zsyr</H2>
342
+ <PRE>
343
+ USAGE:
344
+ a = NumRu::Lapack.zsyr( uplo, alpha, x, incx, a, [:usage => usage, :help => help])
345
+
346
+
347
+ FORTRAN MANUAL
348
+ SUBROUTINE ZSYR( UPLO, N, ALPHA, X, INCX, A, LDA )
349
+
350
+ * Purpose
351
+ * =======
352
+ *
353
+ * ZSYR performs the symmetric rank 1 operation
354
+ *
355
+ * A := alpha*x*( x' ) + A,
356
+ *
357
+ * where alpha is a complex scalar, x is an n element vector and A is an
358
+ * n by n symmetric matrix.
359
+ *
360
+
361
+ * Arguments
362
+ * ==========
363
+ *
364
+ * UPLO (input) CHARACTER*1
365
+ * On entry, UPLO specifies whether the upper or lower
366
+ * triangular part of the array A is to be referenced as
367
+ * follows:
368
+ *
369
+ * UPLO = 'U' or 'u' Only the upper triangular part of A
370
+ * is to be referenced.
371
+ *
372
+ * UPLO = 'L' or 'l' Only the lower triangular part of A
373
+ * is to be referenced.
374
+ *
375
+ * Unchanged on exit.
376
+ *
377
+ * N (input) INTEGER
378
+ * On entry, N specifies the order of the matrix A.
379
+ * N must be at least zero.
380
+ * Unchanged on exit.
381
+ *
382
+ * ALPHA (input) COMPLEX*16
383
+ * On entry, ALPHA specifies the scalar alpha.
384
+ * Unchanged on exit.
385
+ *
386
+ * X (input) COMPLEX*16 array, dimension at least
387
+ * ( 1 + ( N - 1 )*abs( INCX ) ).
388
+ * Before entry, the incremented array X must contain the N-
389
+ * element vector x.
390
+ * Unchanged on exit.
391
+ *
392
+ * INCX (input) INTEGER
393
+ * On entry, INCX specifies the increment for the elements of
394
+ * X. INCX must not be zero.
395
+ * Unchanged on exit.
396
+ *
397
+ * A (input/output) COMPLEX*16 array, dimension ( LDA, N )
398
+ * Before entry, with UPLO = 'U' or 'u', the leading n by n
399
+ * upper triangular part of the array A must contain the upper
400
+ * triangular part of the symmetric matrix and the strictly
401
+ * lower triangular part of A is not referenced. On exit, the
402
+ * upper triangular part of the array A is overwritten by the
403
+ * upper triangular part of the updated matrix.
404
+ * Before entry, with UPLO = 'L' or 'l', the leading n by n
405
+ * lower triangular part of the array A must contain the lower
406
+ * triangular part of the symmetric matrix and the strictly
407
+ * upper triangular part of A is not referenced. On exit, the
408
+ * lower triangular part of the array A is overwritten by the
409
+ * lower triangular part of the updated matrix.
410
+ *
411
+ * LDA (input) INTEGER
412
+ * On entry, LDA specifies the first dimension of A as declared
413
+ * in the calling (sub) program. LDA must be at least
414
+ * max( 1, N ).
415
+ * Unchanged on exit.
416
+ *
417
+
418
+ * =====================================================================
419
+ *
420
+
421
+
422
+ </PRE>
423
+ <A HREF="#top">go to the page top</A>
424
+
425
+ <A NAME="zsyrfs"></A>
426
+ <H2>zsyrfs</H2>
427
+ <PRE>
428
+ USAGE:
429
+ ferr, berr, info, x = NumRu::Lapack.zsyrfs( uplo, a, af, ipiv, b, x, [:usage => usage, :help => help])
430
+
431
+
432
+ FORTRAN MANUAL
433
+ SUBROUTINE ZSYRFS( UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO )
434
+
435
+ * Purpose
436
+ * =======
437
+ *
438
+ * ZSYRFS improves the computed solution to a system of linear
439
+ * equations when the coefficient matrix is symmetric indefinite, and
440
+ * provides error bounds and backward error estimates for the solution.
441
+ *
442
+
443
+ * Arguments
444
+ * =========
445
+ *
446
+ * UPLO (input) CHARACTER*1
447
+ * = 'U': Upper triangle of A is stored;
448
+ * = 'L': Lower triangle of A is stored.
449
+ *
450
+ * N (input) INTEGER
451
+ * The order of the matrix A. N >= 0.
452
+ *
453
+ * NRHS (input) INTEGER
454
+ * The number of right hand sides, i.e., the number of columns
455
+ * of the matrices B and X. NRHS >= 0.
456
+ *
457
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
458
+ * The symmetric matrix A. If UPLO = 'U', the leading N-by-N
459
+ * upper triangular part of A contains the upper triangular part
460
+ * of the matrix A, and the strictly lower triangular part of A
461
+ * is not referenced. If UPLO = 'L', the leading N-by-N lower
462
+ * triangular part of A contains the lower triangular part of
463
+ * the matrix A, and the strictly upper triangular part of A is
464
+ * not referenced.
465
+ *
466
+ * LDA (input) INTEGER
467
+ * The leading dimension of the array A. LDA >= max(1,N).
468
+ *
469
+ * AF (input) COMPLEX*16 array, dimension (LDAF,N)
470
+ * The factored form of the matrix A. AF contains the block
471
+ * diagonal matrix D and the multipliers used to obtain the
472
+ * factor U or L from the factorization A = U*D*U**T or
473
+ * A = L*D*L**T as computed by ZSYTRF.
474
+ *
475
+ * LDAF (input) INTEGER
476
+ * The leading dimension of the array AF. LDAF >= max(1,N).
477
+ *
478
+ * IPIV (input) INTEGER array, dimension (N)
479
+ * Details of the interchanges and the block structure of D
480
+ * as determined by ZSYTRF.
481
+ *
482
+ * B (input) COMPLEX*16 array, dimension (LDB,NRHS)
483
+ * The right hand side matrix B.
484
+ *
485
+ * LDB (input) INTEGER
486
+ * The leading dimension of the array B. LDB >= max(1,N).
487
+ *
488
+ * X (input/output) COMPLEX*16 array, dimension (LDX,NRHS)
489
+ * On entry, the solution matrix X, as computed by ZSYTRS.
490
+ * On exit, the improved solution matrix X.
491
+ *
492
+ * LDX (input) INTEGER
493
+ * The leading dimension of the array X. LDX >= max(1,N).
494
+ *
495
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
496
+ * The estimated forward error bound for each solution vector
497
+ * X(j) (the j-th column of the solution matrix X).
498
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
499
+ * is an estimated upper bound for the magnitude of the largest
500
+ * element in (X(j) - XTRUE) divided by the magnitude of the
501
+ * largest element in X(j). The estimate is as reliable as
502
+ * the estimate for RCOND, and is almost always a slight
503
+ * overestimate of the true error.
504
+ *
505
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
506
+ * The componentwise relative backward error of each solution
507
+ * vector X(j) (i.e., the smallest relative change in
508
+ * any element of A or B that makes X(j) an exact solution).
509
+ *
510
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
511
+ *
512
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (N)
513
+ *
514
+ * INFO (output) INTEGER
515
+ * = 0: successful exit
516
+ * < 0: if INFO = -i, the i-th argument had an illegal value
517
+ *
518
+ * Internal Parameters
519
+ * ===================
520
+ *
521
+ * ITMAX is the maximum number of steps of iterative refinement.
522
+ *
523
+
524
+ * =====================================================================
525
+ *
526
+
527
+
528
+ </PRE>
529
+ <A HREF="#top">go to the page top</A>
530
+
531
+ <A NAME="zsyrfsx"></A>
532
+ <H2>zsyrfsx</H2>
533
+ <PRE>
534
+ USAGE:
535
+ rcond, berr, err_bnds_norm, err_bnds_comp, info, s, x, params = NumRu::Lapack.zsyrfsx( uplo, equed, a, af, ipiv, s, b, x, params, [:usage => usage, :help => help])
536
+
537
+
538
+ FORTRAN MANUAL
539
+ SUBROUTINE ZSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IPIV, S, B, LDB, X, LDX, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO )
540
+
541
+ * Purpose
542
+ * =======
543
+ *
544
+ * ZSYRFSX improves the computed solution to a system of linear
545
+ * equations when the coefficient matrix is symmetric indefinite, and
546
+ * provides error bounds and backward error estimates for the
547
+ * solution. In addition to normwise error bound, the code provides
548
+ * maximum componentwise error bound if possible. See comments for
549
+ * ERR_BNDS_NORM and ERR_BNDS_COMP for details of the error bounds.
550
+ *
551
+ * The original system of linear equations may have been equilibrated
552
+ * before calling this routine, as described by arguments EQUED and S
553
+ * below. In this case, the solution and error bounds returned are
554
+ * for the original unequilibrated system.
555
+ *
556
+
557
+ * Arguments
558
+ * =========
559
+ *
560
+ * Some optional parameters are bundled in the PARAMS array. These
561
+ * settings determine how refinement is performed, but often the
562
+ * defaults are acceptable. If the defaults are acceptable, users
563
+ * can pass NPARAMS = 0 which prevents the source code from accessing
564
+ * the PARAMS argument.
565
+ *
566
+ * UPLO (input) CHARACTER*1
567
+ * = 'U': Upper triangle of A is stored;
568
+ * = 'L': Lower triangle of A is stored.
569
+ *
570
+ * EQUED (input) CHARACTER*1
571
+ * Specifies the form of equilibration that was done to A
572
+ * before calling this routine. This is needed to compute
573
+ * the solution and error bounds correctly.
574
+ * = 'N': No equilibration
575
+ * = 'Y': Both row and column equilibration, i.e., A has been
576
+ * replaced by diag(S) * A * diag(S).
577
+ * The right hand side B has been changed accordingly.
578
+ *
579
+ * N (input) INTEGER
580
+ * The order of the matrix A. N >= 0.
581
+ *
582
+ * NRHS (input) INTEGER
583
+ * The number of right hand sides, i.e., the number of columns
584
+ * of the matrices B and X. NRHS >= 0.
585
+ *
586
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
587
+ * The symmetric matrix A. If UPLO = 'U', the leading N-by-N
588
+ * upper triangular part of A contains the upper triangular
589
+ * part of the matrix A, and the strictly lower triangular
590
+ * part of A is not referenced. If UPLO = 'L', the leading
591
+ * N-by-N lower triangular part of A contains the lower
592
+ * triangular part of the matrix A, and the strictly upper
593
+ * triangular part of A is not referenced.
594
+ *
595
+ * LDA (input) INTEGER
596
+ * The leading dimension of the array A. LDA >= max(1,N).
597
+ *
598
+ * AF (input) COMPLEX*16 array, dimension (LDAF,N)
599
+ * The factored form of the matrix A. AF contains the block
600
+ * diagonal matrix D and the multipliers used to obtain the
601
+ * factor U or L from the factorization A = U*D*U**T or A =
602
+ * L*D*L**T as computed by DSYTRF.
603
+ *
604
+ * LDAF (input) INTEGER
605
+ * The leading dimension of the array AF. LDAF >= max(1,N).
606
+ *
607
+ * IPIV (input) INTEGER array, dimension (N)
608
+ * Details of the interchanges and the block structure of D
609
+ * as determined by DSYTRF.
610
+ *
611
+ * S (input or output) DOUBLE PRECISION array, dimension (N)
612
+ * The scale factors for A. If EQUED = 'Y', A is multiplied on
613
+ * the left and right by diag(S). S is an input argument if FACT =
614
+ * 'F'; otherwise, S is an output argument. If FACT = 'F' and EQUED
615
+ * = 'Y', each element of S must be positive. If S is output, each
616
+ * element of S is a power of the radix. If S is input, each element
617
+ * of S should be a power of the radix to ensure a reliable solution
618
+ * and error estimates. Scaling by powers of the radix does not cause
619
+ * rounding errors unless the result underflows or overflows.
620
+ * Rounding errors during scaling lead to refining with a matrix that
621
+ * is not equivalent to the input matrix, producing error estimates
622
+ * that may not be reliable.
623
+ *
624
+ * B (input) COMPLEX*16 array, dimension (LDB,NRHS)
625
+ * The right hand side matrix B.
626
+ *
627
+ * LDB (input) INTEGER
628
+ * The leading dimension of the array B. LDB >= max(1,N).
629
+ *
630
+ * X (input/output) COMPLEX*16 array, dimension (LDX,NRHS)
631
+ * On entry, the solution matrix X, as computed by DGETRS.
632
+ * On exit, the improved solution matrix X.
633
+ *
634
+ * LDX (input) INTEGER
635
+ * The leading dimension of the array X. LDX >= max(1,N).
636
+ *
637
+ * RCOND (output) DOUBLE PRECISION
638
+ * Reciprocal scaled condition number. This is an estimate of the
639
+ * reciprocal Skeel condition number of the matrix A after
640
+ * equilibration (if done). If this is less than the machine
641
+ * precision (in particular, if it is zero), the matrix is singular
642
+ * to working precision. Note that the error may still be small even
643
+ * if this number is very small and the matrix appears ill-
644
+ * conditioned.
645
+ *
646
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
647
+ * Componentwise relative backward error. This is the
648
+ * componentwise relative backward error of each solution vector X(j)
649
+ * (i.e., the smallest relative change in any element of A or B that
650
+ * makes X(j) an exact solution).
651
+ *
652
+ * N_ERR_BNDS (input) INTEGER
653
+ * Number of error bounds to return for each right hand side
654
+ * and each type (normwise or componentwise). See ERR_BNDS_NORM and
655
+ * ERR_BNDS_COMP below.
656
+ *
657
+ * ERR_BNDS_NORM (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
658
+ * For each right-hand side, this array contains information about
659
+ * various error bounds and condition numbers corresponding to the
660
+ * normwise relative error, which is defined as follows:
661
+ *
662
+ * Normwise relative error in the ith solution vector:
663
+ * max_j (abs(XTRUE(j,i) - X(j,i)))
664
+ * ------------------------------
665
+ * max_j abs(X(j,i))
666
+ *
667
+ * The array is indexed by the type of error information as described
668
+ * below. There currently are up to three pieces of information
669
+ * returned.
670
+ *
671
+ * The first index in ERR_BNDS_NORM(i,:) corresponds to the ith
672
+ * right-hand side.
673
+ *
674
+ * The second index in ERR_BNDS_NORM(:,err) contains the following
675
+ * three fields:
676
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
677
+ * reciprocal condition number is less than the threshold
678
+ * sqrt(n) * dlamch('Epsilon').
679
+ *
680
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
681
+ * almost certainly within a factor of 10 of the true error
682
+ * so long as the next entry is greater than the threshold
683
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
684
+ * be trusted if the previous boolean is true.
685
+ *
686
+ * err = 3 Reciprocal condition number: Estimated normwise
687
+ * reciprocal condition number. Compared with the threshold
688
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
689
+ * estimate is "guaranteed". These reciprocal condition
690
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
691
+ * appropriately scaled matrix Z.
692
+ * Let Z = S*A, where S scales each row by a power of the
693
+ * radix so all absolute row sums of Z are approximately 1.
694
+ *
695
+ * See Lapack Working Note 165 for further details and extra
696
+ * cautions.
697
+ *
698
+ * ERR_BNDS_COMP (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
699
+ * For each right-hand side, this array contains information about
700
+ * various error bounds and condition numbers corresponding to the
701
+ * componentwise relative error, which is defined as follows:
702
+ *
703
+ * Componentwise relative error in the ith solution vector:
704
+ * abs(XTRUE(j,i) - X(j,i))
705
+ * max_j ----------------------
706
+ * abs(X(j,i))
707
+ *
708
+ * The array is indexed by the right-hand side i (on which the
709
+ * componentwise relative error depends), and the type of error
710
+ * information as described below. There currently are up to three
711
+ * pieces of information returned for each right-hand side. If
712
+ * componentwise accuracy is not requested (PARAMS(3) = 0.0), then
713
+ * ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
714
+ * the first (:,N_ERR_BNDS) entries are returned.
715
+ *
716
+ * The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
717
+ * right-hand side.
718
+ *
719
+ * The second index in ERR_BNDS_COMP(:,err) contains the following
720
+ * three fields:
721
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
722
+ * reciprocal condition number is less than the threshold
723
+ * sqrt(n) * dlamch('Epsilon').
724
+ *
725
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
726
+ * almost certainly within a factor of 10 of the true error
727
+ * so long as the next entry is greater than the threshold
728
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
729
+ * be trusted if the previous boolean is true.
730
+ *
731
+ * err = 3 Reciprocal condition number: Estimated componentwise
732
+ * reciprocal condition number. Compared with the threshold
733
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
734
+ * estimate is "guaranteed". These reciprocal condition
735
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
736
+ * appropriately scaled matrix Z.
737
+ * Let Z = S*(A*diag(x)), where x is the solution for the
738
+ * current right-hand side and S scales each row of
739
+ * A*diag(x) by a power of the radix so all absolute row
740
+ * sums of Z are approximately 1.
741
+ *
742
+ * See Lapack Working Note 165 for further details and extra
743
+ * cautions.
744
+ *
745
+ * NPARAMS (input) INTEGER
746
+ * Specifies the number of parameters set in PARAMS. If .LE. 0, the
747
+ * PARAMS array is never referenced and default values are used.
748
+ *
749
+ * PARAMS (input / output) DOUBLE PRECISION array, dimension NPARAMS
750
+ * Specifies algorithm parameters. If an entry is .LT. 0.0, then
751
+ * that entry will be filled with default value used for that
752
+ * parameter. Only positions up to NPARAMS are accessed; defaults
753
+ * are used for higher-numbered parameters.
754
+ *
755
+ * PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
756
+ * refinement or not.
757
+ * Default: 1.0D+0
758
+ * = 0.0 : No refinement is performed, and no error bounds are
759
+ * computed.
760
+ * = 1.0 : Use the double-precision refinement algorithm,
761
+ * possibly with doubled-single computations if the
762
+ * compilation environment does not support DOUBLE
763
+ * PRECISION.
764
+ * (other values are reserved for future use)
765
+ *
766
+ * PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
767
+ * computations allowed for refinement.
768
+ * Default: 10
769
+ * Aggressive: Set to 100 to permit convergence using approximate
770
+ * factorizations or factorizations other than LU. If
771
+ * the factorization uses a technique other than
772
+ * Gaussian elimination, the guarantees in
773
+ * err_bnds_norm and err_bnds_comp may no longer be
774
+ * trustworthy.
775
+ *
776
+ * PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code
777
+ * will attempt to find a solution with small componentwise
778
+ * relative error in the double-precision algorithm. Positive
779
+ * is true, 0.0 is false.
780
+ * Default: 1.0 (attempt componentwise convergence)
781
+ *
782
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
783
+ *
784
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (2*N)
785
+ *
786
+ * INFO (output) INTEGER
787
+ * = 0: Successful exit. The solution to every right-hand side is
788
+ * guaranteed.
789
+ * < 0: If INFO = -i, the i-th argument had an illegal value
790
+ * > 0 and <= N: U(INFO,INFO) is exactly zero. The factorization
791
+ * has been completed, but the factor U is exactly singular, so
792
+ * the solution and error bounds could not be computed. RCOND = 0
793
+ * is returned.
794
+ * = N+J: The solution corresponding to the Jth right-hand side is
795
+ * not guaranteed. The solutions corresponding to other right-
796
+ * hand sides K with K > J may not be guaranteed as well, but
797
+ * only the first such right-hand side is reported. If a small
798
+ * componentwise error is not requested (PARAMS(3) = 0.0) then
799
+ * the Jth right-hand side is the first with a normwise error
800
+ * bound that is not guaranteed (the smallest J such
801
+ * that ERR_BNDS_NORM(J,1) = 0.0). By default (PARAMS(3) = 1.0)
802
+ * the Jth right-hand side is the first with either a normwise or
803
+ * componentwise error bound that is not guaranteed (the smallest
804
+ * J such that either ERR_BNDS_NORM(J,1) = 0.0 or
805
+ * ERR_BNDS_COMP(J,1) = 0.0). See the definition of
806
+ * ERR_BNDS_NORM(:,1) and ERR_BNDS_COMP(:,1). To get information
807
+ * about all of the right-hand sides check ERR_BNDS_NORM or
808
+ * ERR_BNDS_COMP.
809
+ *
810
+
811
+ * ==================================================================
812
+ *
813
+
814
+
815
+ </PRE>
816
+ <A HREF="#top">go to the page top</A>
817
+
818
+ <A NAME="zsysv"></A>
819
+ <H2>zsysv</H2>
820
+ <PRE>
821
+ USAGE:
822
+ ipiv, work, info, a, b = NumRu::Lapack.zsysv( uplo, a, b, [:lwork => lwork, :usage => usage, :help => help])
823
+
824
+
825
+ FORTRAN MANUAL
826
+ SUBROUTINE ZSYSV( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO )
827
+
828
+ * Purpose
829
+ * =======
830
+ *
831
+ * ZSYSV computes the solution to a complex system of linear equations
832
+ * A * X = B,
833
+ * where A is an N-by-N symmetric matrix and X and B are N-by-NRHS
834
+ * matrices.
835
+ *
836
+ * The diagonal pivoting method is used to factor A as
837
+ * A = U * D * U**T, if UPLO = 'U', or
838
+ * A = L * D * L**T, if UPLO = 'L',
839
+ * where U (or L) is a product of permutation and unit upper (lower)
840
+ * triangular matrices, and D is symmetric and block diagonal with
841
+ * 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then
842
+ * used to solve the system of equations A * X = B.
843
+ *
844
+
845
+ * Arguments
846
+ * =========
847
+ *
848
+ * UPLO (input) CHARACTER*1
849
+ * = 'U': Upper triangle of A is stored;
850
+ * = 'L': Lower triangle of A is stored.
851
+ *
852
+ * N (input) INTEGER
853
+ * The number of linear equations, i.e., the order of the
854
+ * matrix A. N >= 0.
855
+ *
856
+ * NRHS (input) INTEGER
857
+ * The number of right hand sides, i.e., the number of columns
858
+ * of the matrix B. NRHS >= 0.
859
+ *
860
+ * A (input/output) COMPLEX*16 array, dimension (LDA,N)
861
+ * On entry, the symmetric matrix A. If UPLO = 'U', the leading
862
+ * N-by-N upper triangular part of A contains the upper
863
+ * triangular part of the matrix A, and the strictly lower
864
+ * triangular part of A is not referenced. If UPLO = 'L', the
865
+ * leading N-by-N lower triangular part of A contains the lower
866
+ * triangular part of the matrix A, and the strictly upper
867
+ * triangular part of A is not referenced.
868
+ *
869
+ * On exit, if INFO = 0, the block diagonal matrix D and the
870
+ * multipliers used to obtain the factor U or L from the
871
+ * factorization A = U*D*U**T or A = L*D*L**T as computed by
872
+ * ZSYTRF.
873
+ *
874
+ * LDA (input) INTEGER
875
+ * The leading dimension of the array A. LDA >= max(1,N).
876
+ *
877
+ * IPIV (output) INTEGER array, dimension (N)
878
+ * Details of the interchanges and the block structure of D, as
879
+ * determined by ZSYTRF. If IPIV(k) > 0, then rows and columns
880
+ * k and IPIV(k) were interchanged, and D(k,k) is a 1-by-1
881
+ * diagonal block. If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0,
882
+ * then rows and columns k-1 and -IPIV(k) were interchanged and
883
+ * D(k-1:k,k-1:k) is a 2-by-2 diagonal block. If UPLO = 'L' and
884
+ * IPIV(k) = IPIV(k+1) < 0, then rows and columns k+1 and
885
+ * -IPIV(k) were interchanged and D(k:k+1,k:k+1) is a 2-by-2
886
+ * diagonal block.
887
+ *
888
+ * B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
889
+ * On entry, the N-by-NRHS right hand side matrix B.
890
+ * On exit, if INFO = 0, the N-by-NRHS solution matrix X.
891
+ *
892
+ * LDB (input) INTEGER
893
+ * The leading dimension of the array B. LDB >= max(1,N).
894
+ *
895
+ * WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
896
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
897
+ *
898
+ * LWORK (input) INTEGER
899
+ * The length of WORK. LWORK >= 1, and for best performance
900
+ * LWORK >= max(1,N*NB), where NB is the optimal blocksize for
901
+ * ZSYTRF.
902
+ *
903
+ * If LWORK = -1, then a workspace query is assumed; the routine
904
+ * only calculates the optimal size of the WORK array, returns
905
+ * this value as the first entry of the WORK array, and no error
906
+ * message related to LWORK is issued by XERBLA.
907
+ *
908
+ * INFO (output) INTEGER
909
+ * = 0: successful exit
910
+ * < 0: if INFO = -i, the i-th argument had an illegal value
911
+ * > 0: if INFO = i, D(i,i) is exactly zero. The factorization
912
+ * has been completed, but the block diagonal matrix D is
913
+ * exactly singular, so the solution could not be computed.
914
+ *
915
+
916
+ * =====================================================================
917
+ *
918
+ * .. Local Scalars ..
919
+ LOGICAL LQUERY
920
+ INTEGER LWKOPT, NB
921
+ * ..
922
+ * .. External Functions ..
923
+ LOGICAL LSAME
924
+ INTEGER ILAENV
925
+ EXTERNAL LSAME, ILAENV
926
+ * ..
927
+ * .. External Subroutines ..
928
+ EXTERNAL XERBLA, ZSYTRF, ZSYTRS2
929
+ * ..
930
+ * .. Intrinsic Functions ..
931
+ INTRINSIC MAX
932
+ * ..
933
+
934
+
935
+ </PRE>
936
+ <A HREF="#top">go to the page top</A>
937
+
938
+ <A NAME="zsysvx"></A>
939
+ <H2>zsysvx</H2>
940
+ <PRE>
941
+ USAGE:
942
+ x, rcond, ferr, berr, work, info, af, ipiv = NumRu::Lapack.zsysvx( fact, uplo, a, af, ipiv, b, [:lwork => lwork, :usage => usage, :help => help])
943
+
944
+
945
+ FORTRAN MANUAL
946
+ SUBROUTINE ZSYSVX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO )
947
+
948
+ * Purpose
949
+ * =======
950
+ *
951
+ * ZSYSVX uses the diagonal pivoting factorization to compute the
952
+ * solution to a complex system of linear equations A * X = B,
953
+ * where A is an N-by-N symmetric matrix and X and B are N-by-NRHS
954
+ * matrices.
955
+ *
956
+ * Error bounds on the solution and a condition estimate are also
957
+ * provided.
958
+ *
959
+ * Description
960
+ * ===========
961
+ *
962
+ * The following steps are performed:
963
+ *
964
+ * 1. If FACT = 'N', the diagonal pivoting method is used to factor A.
965
+ * The form of the factorization is
966
+ * A = U * D * U**T, if UPLO = 'U', or
967
+ * A = L * D * L**T, if UPLO = 'L',
968
+ * where U (or L) is a product of permutation and unit upper (lower)
969
+ * triangular matrices, and D is symmetric and block diagonal with
970
+ * 1-by-1 and 2-by-2 diagonal blocks.
971
+ *
972
+ * 2. If some D(i,i)=0, so that D is exactly singular, then the routine
973
+ * returns with INFO = i. Otherwise, the factored form of A is used
974
+ * to estimate the condition number of the matrix A. If the
975
+ * reciprocal of the condition number is less than machine precision,
976
+ * INFO = N+1 is returned as a warning, but the routine still goes on
977
+ * to solve for X and compute error bounds as described below.
978
+ *
979
+ * 3. The system of equations is solved for X using the factored form
980
+ * of A.
981
+ *
982
+ * 4. Iterative refinement is applied to improve the computed solution
983
+ * matrix and calculate error bounds and backward error estimates
984
+ * for it.
985
+ *
986
+
987
+ * Arguments
988
+ * =========
989
+ *
990
+ * FACT (input) CHARACTER*1
991
+ * Specifies whether or not the factored form of A has been
992
+ * supplied on entry.
993
+ * = 'F': On entry, AF and IPIV contain the factored form
994
+ * of A. A, AF and IPIV will not be modified.
995
+ * = 'N': The matrix A will be copied to AF and factored.
996
+ *
997
+ * UPLO (input) CHARACTER*1
998
+ * = 'U': Upper triangle of A is stored;
999
+ * = 'L': Lower triangle of A is stored.
1000
+ *
1001
+ * N (input) INTEGER
1002
+ * The number of linear equations, i.e., the order of the
1003
+ * matrix A. N >= 0.
1004
+ *
1005
+ * NRHS (input) INTEGER
1006
+ * The number of right hand sides, i.e., the number of columns
1007
+ * of the matrices B and X. NRHS >= 0.
1008
+ *
1009
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
1010
+ * The symmetric matrix A. If UPLO = 'U', the leading N-by-N
1011
+ * upper triangular part of A contains the upper triangular part
1012
+ * of the matrix A, and the strictly lower triangular part of A
1013
+ * is not referenced. If UPLO = 'L', the leading N-by-N lower
1014
+ * triangular part of A contains the lower triangular part of
1015
+ * the matrix A, and the strictly upper triangular part of A is
1016
+ * not referenced.
1017
+ *
1018
+ * LDA (input) INTEGER
1019
+ * The leading dimension of the array A. LDA >= max(1,N).
1020
+ *
1021
+ * AF (input or output) COMPLEX*16 array, dimension (LDAF,N)
1022
+ * If FACT = 'F', then AF is an input argument and on entry
1023
+ * contains the block diagonal matrix D and the multipliers used
1024
+ * to obtain the factor U or L from the factorization
1025
+ * A = U*D*U**T or A = L*D*L**T as computed by ZSYTRF.
1026
+ *
1027
+ * If FACT = 'N', then AF is an output argument and on exit
1028
+ * returns the block diagonal matrix D and the multipliers used
1029
+ * to obtain the factor U or L from the factorization
1030
+ * A = U*D*U**T or A = L*D*L**T.
1031
+ *
1032
+ * LDAF (input) INTEGER
1033
+ * The leading dimension of the array AF. LDAF >= max(1,N).
1034
+ *
1035
+ * IPIV (input or output) INTEGER array, dimension (N)
1036
+ * If FACT = 'F', then IPIV is an input argument and on entry
1037
+ * contains details of the interchanges and the block structure
1038
+ * of D, as determined by ZSYTRF.
1039
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1040
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1041
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1042
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1043
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1044
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1045
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1046
+ *
1047
+ * If FACT = 'N', then IPIV is an output argument and on exit
1048
+ * contains details of the interchanges and the block structure
1049
+ * of D, as determined by ZSYTRF.
1050
+ *
1051
+ * B (input) COMPLEX*16 array, dimension (LDB,NRHS)
1052
+ * The N-by-NRHS right hand side matrix B.
1053
+ *
1054
+ * LDB (input) INTEGER
1055
+ * The leading dimension of the array B. LDB >= max(1,N).
1056
+ *
1057
+ * X (output) COMPLEX*16 array, dimension (LDX,NRHS)
1058
+ * If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X.
1059
+ *
1060
+ * LDX (input) INTEGER
1061
+ * The leading dimension of the array X. LDX >= max(1,N).
1062
+ *
1063
+ * RCOND (output) DOUBLE PRECISION
1064
+ * The estimate of the reciprocal condition number of the matrix
1065
+ * A. If RCOND is less than the machine precision (in
1066
+ * particular, if RCOND = 0), the matrix is singular to working
1067
+ * precision. This condition is indicated by a return code of
1068
+ * INFO > 0.
1069
+ *
1070
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
1071
+ * The estimated forward error bound for each solution vector
1072
+ * X(j) (the j-th column of the solution matrix X).
1073
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
1074
+ * is an estimated upper bound for the magnitude of the largest
1075
+ * element in (X(j) - XTRUE) divided by the magnitude of the
1076
+ * largest element in X(j). The estimate is as reliable as
1077
+ * the estimate for RCOND, and is almost always a slight
1078
+ * overestimate of the true error.
1079
+ *
1080
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1081
+ * The componentwise relative backward error of each solution
1082
+ * vector X(j) (i.e., the smallest relative change in
1083
+ * any element of A or B that makes X(j) an exact solution).
1084
+ *
1085
+ * WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
1086
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1087
+ *
1088
+ * LWORK (input) INTEGER
1089
+ * The length of WORK. LWORK >= max(1,2*N), and for best
1090
+ * performance, when FACT = 'N', LWORK >= max(1,2*N,N*NB), where
1091
+ * NB is the optimal blocksize for ZSYTRF.
1092
+ *
1093
+ * If LWORK = -1, then a workspace query is assumed; the routine
1094
+ * only calculates the optimal size of the WORK array, returns
1095
+ * this value as the first entry of the WORK array, and no error
1096
+ * message related to LWORK is issued by XERBLA.
1097
+ *
1098
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (N)
1099
+ *
1100
+ * INFO (output) INTEGER
1101
+ * = 0: successful exit
1102
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1103
+ * > 0: if INFO = i, and i is
1104
+ * <= N: D(i,i) is exactly zero. The factorization
1105
+ * has been completed but the factor D is exactly
1106
+ * singular, so the solution and error bounds could
1107
+ * not be computed. RCOND = 0 is returned.
1108
+ * = N+1: D is nonsingular, but RCOND is less than machine
1109
+ * precision, meaning that the matrix is singular
1110
+ * to working precision. Nevertheless, the
1111
+ * solution and error bounds are computed because
1112
+ * there are a number of situations where the
1113
+ * computed solution can be more accurate than the
1114
+ * value of RCOND would suggest.
1115
+ *
1116
+
1117
+ * =====================================================================
1118
+ *
1119
+
1120
+
1121
+ </PRE>
1122
+ <A HREF="#top">go to the page top</A>
1123
+
1124
+ <A NAME="zsysvxx"></A>
1125
+ <H2>zsysvxx</H2>
1126
+ <PRE>
1127
+ USAGE:
1128
+ x, rcond, rpvgrw, berr, err_bnds_norm, err_bnds_comp, info, a, af, ipiv, equed, s, b, params = NumRu::Lapack.zsysvxx( fact, uplo, a, af, ipiv, equed, s, b, params, [:usage => usage, :help => help])
1129
+
1130
+
1131
+ FORTRAN MANUAL
1132
+ SUBROUTINE ZSYSVXX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO )
1133
+
1134
+ * Purpose
1135
+ * =======
1136
+ *
1137
+ * ZSYSVXX uses the diagonal pivoting factorization to compute the
1138
+ * solution to a complex*16 system of linear equations A * X = B, where
1139
+ * A is an N-by-N symmetric matrix and X and B are N-by-NRHS
1140
+ * matrices.
1141
+ *
1142
+ * If requested, both normwise and maximum componentwise error bounds
1143
+ * are returned. ZSYSVXX will return a solution with a tiny
1144
+ * guaranteed error (O(eps) where eps is the working machine
1145
+ * precision) unless the matrix is very ill-conditioned, in which
1146
+ * case a warning is returned. Relevant condition numbers also are
1147
+ * calculated and returned.
1148
+ *
1149
+ * ZSYSVXX accepts user-provided factorizations and equilibration
1150
+ * factors; see the definitions of the FACT and EQUED options.
1151
+ * Solving with refinement and using a factorization from a previous
1152
+ * ZSYSVXX call will also produce a solution with either O(eps)
1153
+ * errors or warnings, but we cannot make that claim for general
1154
+ * user-provided factorizations and equilibration factors if they
1155
+ * differ from what ZSYSVXX would itself produce.
1156
+ *
1157
+ * Description
1158
+ * ===========
1159
+ *
1160
+ * The following steps are performed:
1161
+ *
1162
+ * 1. If FACT = 'E', double precision scaling factors are computed to equilibrate
1163
+ * the system:
1164
+ *
1165
+ * diag(S)*A*diag(S) *inv(diag(S))*X = diag(S)*B
1166
+ *
1167
+ * Whether or not the system will be equilibrated depends on the
1168
+ * scaling of the matrix A, but if equilibration is used, A is
1169
+ * overwritten by diag(S)*A*diag(S) and B by diag(S)*B.
1170
+ *
1171
+ * 2. If FACT = 'N' or 'E', the LU decomposition is used to factor
1172
+ * the matrix A (after equilibration if FACT = 'E') as
1173
+ *
1174
+ * A = U * D * U**T, if UPLO = 'U', or
1175
+ * A = L * D * L**T, if UPLO = 'L',
1176
+ *
1177
+ * where U (or L) is a product of permutation and unit upper (lower)
1178
+ * triangular matrices, and D is symmetric and block diagonal with
1179
+ * 1-by-1 and 2-by-2 diagonal blocks.
1180
+ *
1181
+ * 3. If some D(i,i)=0, so that D is exactly singular, then the
1182
+ * routine returns with INFO = i. Otherwise, the factored form of A
1183
+ * is used to estimate the condition number of the matrix A (see
1184
+ * argument RCOND). If the reciprocal of the condition number is
1185
+ * less than machine precision, the routine still goes on to solve
1186
+ * for X and compute error bounds as described below.
1187
+ *
1188
+ * 4. The system of equations is solved for X using the factored form
1189
+ * of A.
1190
+ *
1191
+ * 5. By default (unless PARAMS(LA_LINRX_ITREF_I) is set to zero),
1192
+ * the routine will use iterative refinement to try to get a small
1193
+ * error and error bounds. Refinement calculates the residual to at
1194
+ * least twice the working precision.
1195
+ *
1196
+ * 6. If equilibration was used, the matrix X is premultiplied by
1197
+ * diag(R) so that it solves the original system before
1198
+ * equilibration.
1199
+ *
1200
+
1201
+ * Arguments
1202
+ * =========
1203
+ *
1204
+ * Some optional parameters are bundled in the PARAMS array. These
1205
+ * settings determine how refinement is performed, but often the
1206
+ * defaults are acceptable. If the defaults are acceptable, users
1207
+ * can pass NPARAMS = 0 which prevents the source code from accessing
1208
+ * the PARAMS argument.
1209
+ *
1210
+ * FACT (input) CHARACTER*1
1211
+ * Specifies whether or not the factored form of the matrix A is
1212
+ * supplied on entry, and if not, whether the matrix A should be
1213
+ * equilibrated before it is factored.
1214
+ * = 'F': On entry, AF and IPIV contain the factored form of A.
1215
+ * If EQUED is not 'N', the matrix A has been
1216
+ * equilibrated with scaling factors given by S.
1217
+ * A, AF, and IPIV are not modified.
1218
+ * = 'N': The matrix A will be copied to AF and factored.
1219
+ * = 'E': The matrix A will be equilibrated if necessary, then
1220
+ * copied to AF and factored.
1221
+ *
1222
+ * UPLO (input) CHARACTER*1
1223
+ * = 'U': Upper triangle of A is stored;
1224
+ * = 'L': Lower triangle of A is stored.
1225
+ *
1226
+ * N (input) INTEGER
1227
+ * The number of linear equations, i.e., the order of the
1228
+ * matrix A. N >= 0.
1229
+ *
1230
+ * NRHS (input) INTEGER
1231
+ * The number of right hand sides, i.e., the number of columns
1232
+ * of the matrices B and X. NRHS >= 0.
1233
+ *
1234
+ * A (input/output) COMPLEX*16 array, dimension (LDA,N)
1235
+ * The symmetric matrix A. If UPLO = 'U', the leading N-by-N
1236
+ * upper triangular part of A contains the upper triangular
1237
+ * part of the matrix A, and the strictly lower triangular
1238
+ * part of A is not referenced. If UPLO = 'L', the leading
1239
+ * N-by-N lower triangular part of A contains the lower
1240
+ * triangular part of the matrix A, and the strictly upper
1241
+ * triangular part of A is not referenced.
1242
+ *
1243
+ * On exit, if FACT = 'E' and EQUED = 'Y', A is overwritten by
1244
+ * diag(S)*A*diag(S).
1245
+ *
1246
+ * LDA (input) INTEGER
1247
+ * The leading dimension of the array A. LDA >= max(1,N).
1248
+ *
1249
+ * AF (input or output) COMPLEX*16 array, dimension (LDAF,N)
1250
+ * If FACT = 'F', then AF is an input argument and on entry
1251
+ * contains the block diagonal matrix D and the multipliers
1252
+ * used to obtain the factor U or L from the factorization A =
1253
+ * U*D*U**T or A = L*D*L**T as computed by DSYTRF.
1254
+ *
1255
+ * If FACT = 'N', then AF is an output argument and on exit
1256
+ * returns the block diagonal matrix D and the multipliers
1257
+ * used to obtain the factor U or L from the factorization A =
1258
+ * U*D*U**T or A = L*D*L**T.
1259
+ *
1260
+ * LDAF (input) INTEGER
1261
+ * The leading dimension of the array AF. LDAF >= max(1,N).
1262
+ *
1263
+ * IPIV (input or output) INTEGER array, dimension (N)
1264
+ * If FACT = 'F', then IPIV is an input argument and on entry
1265
+ * contains details of the interchanges and the block
1266
+ * structure of D, as determined by DSYTRF. If IPIV(k) > 0,
1267
+ * then rows and columns k and IPIV(k) were interchanged and
1268
+ * D(k,k) is a 1-by-1 diagonal block. If UPLO = 'U' and
1269
+ * IPIV(k) = IPIV(k-1) < 0, then rows and columns k-1 and
1270
+ * -IPIV(k) were interchanged and D(k-1:k,k-1:k) is a 2-by-2
1271
+ * diagonal block. If UPLO = 'L' and IPIV(k) = IPIV(k+1) < 0,
1272
+ * then rows and columns k+1 and -IPIV(k) were interchanged
1273
+ * and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1274
+ *
1275
+ * If FACT = 'N', then IPIV is an output argument and on exit
1276
+ * contains details of the interchanges and the block
1277
+ * structure of D, as determined by DSYTRF.
1278
+ *
1279
+ * EQUED (input or output) CHARACTER*1
1280
+ * Specifies the form of equilibration that was done.
1281
+ * = 'N': No equilibration (always true if FACT = 'N').
1282
+ * = 'Y': Both row and column equilibration, i.e., A has been
1283
+ * replaced by diag(S) * A * diag(S).
1284
+ * EQUED is an input argument if FACT = 'F'; otherwise, it is an
1285
+ * output argument.
1286
+ *
1287
+ * S (input or output) DOUBLE PRECISION array, dimension (N)
1288
+ * The scale factors for A. If EQUED = 'Y', A is multiplied on
1289
+ * the left and right by diag(S). S is an input argument if FACT =
1290
+ * 'F'; otherwise, S is an output argument. If FACT = 'F' and EQUED
1291
+ * = 'Y', each element of S must be positive. If S is output, each
1292
+ * element of S is a power of the radix. If S is input, each element
1293
+ * of S should be a power of the radix to ensure a reliable solution
1294
+ * and error estimates. Scaling by powers of the radix does not cause
1295
+ * rounding errors unless the result underflows or overflows.
1296
+ * Rounding errors during scaling lead to refining with a matrix that
1297
+ * is not equivalent to the input matrix, producing error estimates
1298
+ * that may not be reliable.
1299
+ *
1300
+ * B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
1301
+ * On entry, the N-by-NRHS right hand side matrix B.
1302
+ * On exit,
1303
+ * if EQUED = 'N', B is not modified;
1304
+ * if EQUED = 'Y', B is overwritten by diag(S)*B;
1305
+ *
1306
+ * LDB (input) INTEGER
1307
+ * The leading dimension of the array B. LDB >= max(1,N).
1308
+ *
1309
+ * X (output) COMPLEX*16 array, dimension (LDX,NRHS)
1310
+ * If INFO = 0, the N-by-NRHS solution matrix X to the original
1311
+ * system of equations. Note that A and B are modified on exit if
1312
+ * EQUED .ne. 'N', and the solution to the equilibrated system is
1313
+ * inv(diag(S))*X.
1314
+ *
1315
+ * LDX (input) INTEGER
1316
+ * The leading dimension of the array X. LDX >= max(1,N).
1317
+ *
1318
+ * RCOND (output) DOUBLE PRECISION
1319
+ * Reciprocal scaled condition number. This is an estimate of the
1320
+ * reciprocal Skeel condition number of the matrix A after
1321
+ * equilibration (if done). If this is less than the machine
1322
+ * precision (in particular, if it is zero), the matrix is singular
1323
+ * to working precision. Note that the error may still be small even
1324
+ * if this number is very small and the matrix appears ill-
1325
+ * conditioned.
1326
+ *
1327
+ * RPVGRW (output) DOUBLE PRECISION
1328
+ * Reciprocal pivot growth. On exit, this contains the reciprocal
1329
+ * pivot growth factor norm(A)/norm(U). The "max absolute element"
1330
+ * norm is used. If this is much less than 1, then the stability of
1331
+ * the LU factorization of the (equilibrated) matrix A could be poor.
1332
+ * This also means that the solution X, estimated condition numbers,
1333
+ * and error bounds could be unreliable. If factorization fails with
1334
+ * 0<INFO<=N, then this contains the reciprocal pivot growth factor
1335
+ * for the leading INFO columns of A.
1336
+ *
1337
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1338
+ * Componentwise relative backward error. This is the
1339
+ * componentwise relative backward error of each solution vector X(j)
1340
+ * (i.e., the smallest relative change in any element of A or B that
1341
+ * makes X(j) an exact solution).
1342
+ *
1343
+ * N_ERR_BNDS (input) INTEGER
1344
+ * Number of error bounds to return for each right hand side
1345
+ * and each type (normwise or componentwise). See ERR_BNDS_NORM and
1346
+ * ERR_BNDS_COMP below.
1347
+ *
1348
+ * ERR_BNDS_NORM (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
1349
+ * For each right-hand side, this array contains information about
1350
+ * various error bounds and condition numbers corresponding to the
1351
+ * normwise relative error, which is defined as follows:
1352
+ *
1353
+ * Normwise relative error in the ith solution vector:
1354
+ * max_j (abs(XTRUE(j,i) - X(j,i)))
1355
+ * ------------------------------
1356
+ * max_j abs(X(j,i))
1357
+ *
1358
+ * The array is indexed by the type of error information as described
1359
+ * below. There currently are up to three pieces of information
1360
+ * returned.
1361
+ *
1362
+ * The first index in ERR_BNDS_NORM(i,:) corresponds to the ith
1363
+ * right-hand side.
1364
+ *
1365
+ * The second index in ERR_BNDS_NORM(:,err) contains the following
1366
+ * three fields:
1367
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
1368
+ * reciprocal condition number is less than the threshold
1369
+ * sqrt(n) * dlamch('Epsilon').
1370
+ *
1371
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
1372
+ * almost certainly within a factor of 10 of the true error
1373
+ * so long as the next entry is greater than the threshold
1374
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
1375
+ * be trusted if the previous boolean is true.
1376
+ *
1377
+ * err = 3 Reciprocal condition number: Estimated normwise
1378
+ * reciprocal condition number. Compared with the threshold
1379
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
1380
+ * estimate is "guaranteed". These reciprocal condition
1381
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
1382
+ * appropriately scaled matrix Z.
1383
+ * Let Z = S*A, where S scales each row by a power of the
1384
+ * radix so all absolute row sums of Z are approximately 1.
1385
+ *
1386
+ * See Lapack Working Note 165 for further details and extra
1387
+ * cautions.
1388
+ *
1389
+ * ERR_BNDS_COMP (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
1390
+ * For each right-hand side, this array contains information about
1391
+ * various error bounds and condition numbers corresponding to the
1392
+ * componentwise relative error, which is defined as follows:
1393
+ *
1394
+ * Componentwise relative error in the ith solution vector:
1395
+ * abs(XTRUE(j,i) - X(j,i))
1396
+ * max_j ----------------------
1397
+ * abs(X(j,i))
1398
+ *
1399
+ * The array is indexed by the right-hand side i (on which the
1400
+ * componentwise relative error depends), and the type of error
1401
+ * information as described below. There currently are up to three
1402
+ * pieces of information returned for each right-hand side. If
1403
+ * componentwise accuracy is not requested (PARAMS(3) = 0.0), then
1404
+ * ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
1405
+ * the first (:,N_ERR_BNDS) entries are returned.
1406
+ *
1407
+ * The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
1408
+ * right-hand side.
1409
+ *
1410
+ * The second index in ERR_BNDS_COMP(:,err) contains the following
1411
+ * three fields:
1412
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
1413
+ * reciprocal condition number is less than the threshold
1414
+ * sqrt(n) * dlamch('Epsilon').
1415
+ *
1416
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
1417
+ * almost certainly within a factor of 10 of the true error
1418
+ * so long as the next entry is greater than the threshold
1419
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
1420
+ * be trusted if the previous boolean is true.
1421
+ *
1422
+ * err = 3 Reciprocal condition number: Estimated componentwise
1423
+ * reciprocal condition number. Compared with the threshold
1424
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
1425
+ * estimate is "guaranteed". These reciprocal condition
1426
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
1427
+ * appropriately scaled matrix Z.
1428
+ * Let Z = S*(A*diag(x)), where x is the solution for the
1429
+ * current right-hand side and S scales each row of
1430
+ * A*diag(x) by a power of the radix so all absolute row
1431
+ * sums of Z are approximately 1.
1432
+ *
1433
+ * See Lapack Working Note 165 for further details and extra
1434
+ * cautions.
1435
+ *
1436
+ * NPARAMS (input) INTEGER
1437
+ * Specifies the number of parameters set in PARAMS. If .LE. 0, the
1438
+ * PARAMS array is never referenced and default values are used.
1439
+ *
1440
+ * PARAMS (input / output) DOUBLE PRECISION array, dimension NPARAMS
1441
+ * Specifies algorithm parameters. If an entry is .LT. 0.0, then
1442
+ * that entry will be filled with default value used for that
1443
+ * parameter. Only positions up to NPARAMS are accessed; defaults
1444
+ * are used for higher-numbered parameters.
1445
+ *
1446
+ * PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
1447
+ * refinement or not.
1448
+ * Default: 1.0D+0
1449
+ * = 0.0 : No refinement is performed, and no error bounds are
1450
+ * computed.
1451
+ * = 1.0 : Use the extra-precise refinement algorithm.
1452
+ * (other values are reserved for future use)
1453
+ *
1454
+ * PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
1455
+ * computations allowed for refinement.
1456
+ * Default: 10
1457
+ * Aggressive: Set to 100 to permit convergence using approximate
1458
+ * factorizations or factorizations other than LU. If
1459
+ * the factorization uses a technique other than
1460
+ * Gaussian elimination, the guarantees in
1461
+ * err_bnds_norm and err_bnds_comp may no longer be
1462
+ * trustworthy.
1463
+ *
1464
+ * PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code
1465
+ * will attempt to find a solution with small componentwise
1466
+ * relative error in the double-precision algorithm. Positive
1467
+ * is true, 0.0 is false.
1468
+ * Default: 1.0 (attempt componentwise convergence)
1469
+ *
1470
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
1471
+ *
1472
+ * RWORK (workspace) DOUBLE PRECISION array, dimension (2*N)
1473
+ *
1474
+ * INFO (output) INTEGER
1475
+ * = 0: Successful exit. The solution to every right-hand side is
1476
+ * guaranteed.
1477
+ * < 0: If INFO = -i, the i-th argument had an illegal value
1478
+ * > 0 and <= N: U(INFO,INFO) is exactly zero. The factorization
1479
+ * has been completed, but the factor U is exactly singular, so
1480
+ * the solution and error bounds could not be computed. RCOND = 0
1481
+ * is returned.
1482
+ * = N+J: The solution corresponding to the Jth right-hand side is
1483
+ * not guaranteed. The solutions corresponding to other right-
1484
+ * hand sides K with K > J may not be guaranteed as well, but
1485
+ * only the first such right-hand side is reported. If a small
1486
+ * componentwise error is not requested (PARAMS(3) = 0.0) then
1487
+ * the Jth right-hand side is the first with a normwise error
1488
+ * bound that is not guaranteed (the smallest J such
1489
+ * that ERR_BNDS_NORM(J,1) = 0.0). By default (PARAMS(3) = 1.0)
1490
+ * the Jth right-hand side is the first with either a normwise or
1491
+ * componentwise error bound that is not guaranteed (the smallest
1492
+ * J such that either ERR_BNDS_NORM(J,1) = 0.0 or
1493
+ * ERR_BNDS_COMP(J,1) = 0.0). See the definition of
1494
+ * ERR_BNDS_NORM(:,1) and ERR_BNDS_COMP(:,1). To get information
1495
+ * about all of the right-hand sides check ERR_BNDS_NORM or
1496
+ * ERR_BNDS_COMP.
1497
+ *
1498
+
1499
+ * ==================================================================
1500
+ *
1501
+
1502
+
1503
+ </PRE>
1504
+ <A HREF="#top">go to the page top</A>
1505
+
1506
+ <A NAME="zsyswapr"></A>
1507
+ <H2>zsyswapr</H2>
1508
+ <PRE>
1509
+ USAGE:
1510
+ a = NumRu::Lapack.zsyswapr( uplo, a, i1, i2, [:usage => usage, :help => help])
1511
+
1512
+
1513
+ FORTRAN MANUAL
1514
+ SUBROUTINE ZSYSWAPR( UPLO, N, A, I1, I2)
1515
+
1516
+ * Purpose
1517
+ * =======
1518
+ *
1519
+ * ZSYSWAPR applies an elementary permutation on the rows and the columns of
1520
+ * a symmetric matrix.
1521
+ *
1522
+
1523
+ * Arguments
1524
+ * =========
1525
+ *
1526
+ * UPLO (input) CHARACTER*1
1527
+ * Specifies whether the details of the factorization are stored
1528
+ * as an upper or lower triangular matrix.
1529
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1530
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1531
+ *
1532
+ * N (input) INTEGER
1533
+ * The order of the matrix A. N >= 0.
1534
+ *
1535
+ * A (input/output) DOUBLE COMPLEX array, dimension (LDA,N)
1536
+ * On entry, the NB diagonal matrix D and the multipliers
1537
+ * used to obtain the factor U or L as computed by ZSYTRF.
1538
+ *
1539
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1540
+ * matrix. If UPLO = 'U', the upper triangular part of the
1541
+ * inverse is formed and the part of A below the diagonal is not
1542
+ * referenced; if UPLO = 'L' the lower triangular part of the
1543
+ * inverse is formed and the part of A above the diagonal is
1544
+ * not referenced.
1545
+ *
1546
+ * I1 (input) INTEGER
1547
+ * Index of the first row to swap
1548
+ *
1549
+ * I2 (input) INTEGER
1550
+ * Index of the second row to swap
1551
+ *
1552
+
1553
+ * =====================================================================
1554
+ *
1555
+ * ..
1556
+ * .. Local Scalars ..
1557
+ LOGICAL UPPER
1558
+ INTEGER I
1559
+ DOUBLE COMPLEX TMP
1560
+ *
1561
+ * .. External Functions ..
1562
+ LOGICAL LSAME
1563
+ EXTERNAL LSAME
1564
+ * ..
1565
+ * .. External Subroutines ..
1566
+ EXTERNAL ZSWAP
1567
+ * ..
1568
+
1569
+
1570
+ </PRE>
1571
+ <A HREF="#top">go to the page top</A>
1572
+
1573
+ <A NAME="zsytf2"></A>
1574
+ <H2>zsytf2</H2>
1575
+ <PRE>
1576
+ USAGE:
1577
+ ipiv, info, a = NumRu::Lapack.zsytf2( uplo, a, [:usage => usage, :help => help])
1578
+
1579
+
1580
+ FORTRAN MANUAL
1581
+ SUBROUTINE ZSYTF2( UPLO, N, A, LDA, IPIV, INFO )
1582
+
1583
+ * Purpose
1584
+ * =======
1585
+ *
1586
+ * ZSYTF2 computes the factorization of a complex symmetric matrix A
1587
+ * using the Bunch-Kaufman diagonal pivoting method:
1588
+ *
1589
+ * A = U*D*U' or A = L*D*L'
1590
+ *
1591
+ * where U (or L) is a product of permutation and unit upper (lower)
1592
+ * triangular matrices, U' is the transpose of U, and D is symmetric and
1593
+ * block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
1594
+ *
1595
+ * This is the unblocked version of the algorithm, calling Level 2 BLAS.
1596
+ *
1597
+
1598
+ * Arguments
1599
+ * =========
1600
+ *
1601
+ * UPLO (input) CHARACTER*1
1602
+ * Specifies whether the upper or lower triangular part of the
1603
+ * symmetric matrix A is stored:
1604
+ * = 'U': Upper triangular
1605
+ * = 'L': Lower triangular
1606
+ *
1607
+ * N (input) INTEGER
1608
+ * The order of the matrix A. N >= 0.
1609
+ *
1610
+ * A (input/output) COMPLEX*16 array, dimension (LDA,N)
1611
+ * On entry, the symmetric matrix A. If UPLO = 'U', the leading
1612
+ * n-by-n upper triangular part of A contains the upper
1613
+ * triangular part of the matrix A, and the strictly lower
1614
+ * triangular part of A is not referenced. If UPLO = 'L', the
1615
+ * leading n-by-n lower triangular part of A contains the lower
1616
+ * triangular part of the matrix A, and the strictly upper
1617
+ * triangular part of A is not referenced.
1618
+ *
1619
+ * On exit, the block diagonal matrix D and the multipliers used
1620
+ * to obtain the factor U or L (see below for further details).
1621
+ *
1622
+ * LDA (input) INTEGER
1623
+ * The leading dimension of the array A. LDA >= max(1,N).
1624
+ *
1625
+ * IPIV (output) INTEGER array, dimension (N)
1626
+ * Details of the interchanges and the block structure of D.
1627
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1628
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1629
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1630
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1631
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1632
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1633
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1634
+ *
1635
+ * INFO (output) INTEGER
1636
+ * = 0: successful exit
1637
+ * < 0: if INFO = -k, the k-th argument had an illegal value
1638
+ * > 0: if INFO = k, D(k,k) is exactly zero. The factorization
1639
+ * has been completed, but the block diagonal matrix D is
1640
+ * exactly singular, and division by zero will occur if it
1641
+ * is used to solve a system of equations.
1642
+ *
1643
+
1644
+ * Further Details
1645
+ * ===============
1646
+ *
1647
+ * 09-29-06 - patch from
1648
+ * Bobby Cheng, MathWorks
1649
+ *
1650
+ * Replace l.209 and l.377
1651
+ * IF( MAX( ABSAKK, COLMAX ).EQ.ZERO ) THEN
1652
+ * by
1653
+ * IF( (MAX( ABSAKK, COLMAX ).EQ.ZERO) .OR. DISNAN(ABSAKK) ) THEN
1654
+ *
1655
+ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services
1656
+ * Company
1657
+ *
1658
+ * If UPLO = 'U', then A = U*D*U', where
1659
+ * U = P(n)*U(n)* ... *P(k)U(k)* ...,
1660
+ * i.e., U is a product of terms P(k)*U(k), where k decreases from n to
1661
+ * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1662
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1663
+ * defined by IPIV(k), and U(k) is a unit upper triangular matrix, such
1664
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1665
+ *
1666
+ * ( I v 0 ) k-s
1667
+ * U(k) = ( 0 I 0 ) s
1668
+ * ( 0 0 I ) n-k
1669
+ * k-s s n-k
1670
+ *
1671
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).
1672
+ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k),
1673
+ * and A(k,k), and v overwrites A(1:k-2,k-1:k).
1674
+ *
1675
+ * If UPLO = 'L', then A = L*D*L', where
1676
+ * L = P(1)*L(1)* ... *P(k)*L(k)* ...,
1677
+ * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to
1678
+ * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1679
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1680
+ * defined by IPIV(k), and L(k) is a unit lower triangular matrix, such
1681
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1682
+ *
1683
+ * ( I 0 0 ) k-1
1684
+ * L(k) = ( 0 I 0 ) s
1685
+ * ( 0 v I ) n-k-s+1
1686
+ * k-1 s n-k-s+1
1687
+ *
1688
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).
1689
+ * If s = 2, the lower triangle of D(k) overwrites A(k,k), A(k+1,k),
1690
+ * and A(k+1,k+1), and v overwrites A(k+2:n,k:k+1).
1691
+ *
1692
+ * =====================================================================
1693
+ *
1694
+
1695
+
1696
+ </PRE>
1697
+ <A HREF="#top">go to the page top</A>
1698
+
1699
+ <A NAME="zsytrf"></A>
1700
+ <H2>zsytrf</H2>
1701
+ <PRE>
1702
+ USAGE:
1703
+ ipiv, work, info, a = NumRu::Lapack.zsytrf( uplo, a, lwork, [:usage => usage, :help => help])
1704
+
1705
+
1706
+ FORTRAN MANUAL
1707
+ SUBROUTINE ZSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
1708
+
1709
+ * Purpose
1710
+ * =======
1711
+ *
1712
+ * ZSYTRF computes the factorization of a complex symmetric matrix A
1713
+ * using the Bunch-Kaufman diagonal pivoting method. The form of the
1714
+ * factorization is
1715
+ *
1716
+ * A = U*D*U**T or A = L*D*L**T
1717
+ *
1718
+ * where U (or L) is a product of permutation and unit upper (lower)
1719
+ * triangular matrices, and D is symmetric and block diagonal with
1720
+ * with 1-by-1 and 2-by-2 diagonal blocks.
1721
+ *
1722
+ * This is the blocked version of the algorithm, calling Level 3 BLAS.
1723
+ *
1724
+
1725
+ * Arguments
1726
+ * =========
1727
+ *
1728
+ * UPLO (input) CHARACTER*1
1729
+ * = 'U': Upper triangle of A is stored;
1730
+ * = 'L': Lower triangle of A is stored.
1731
+ *
1732
+ * N (input) INTEGER
1733
+ * The order of the matrix A. N >= 0.
1734
+ *
1735
+ * A (input/output) COMPLEX*16 array, dimension (LDA,N)
1736
+ * On entry, the symmetric matrix A. If UPLO = 'U', the leading
1737
+ * N-by-N upper triangular part of A contains the upper
1738
+ * triangular part of the matrix A, and the strictly lower
1739
+ * triangular part of A is not referenced. If UPLO = 'L', the
1740
+ * leading N-by-N lower triangular part of A contains the lower
1741
+ * triangular part of the matrix A, and the strictly upper
1742
+ * triangular part of A is not referenced.
1743
+ *
1744
+ * On exit, the block diagonal matrix D and the multipliers used
1745
+ * to obtain the factor U or L (see below for further details).
1746
+ *
1747
+ * LDA (input) INTEGER
1748
+ * The leading dimension of the array A. LDA >= max(1,N).
1749
+ *
1750
+ * IPIV (output) INTEGER array, dimension (N)
1751
+ * Details of the interchanges and the block structure of D.
1752
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1753
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1754
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1755
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1756
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1757
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1758
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1759
+ *
1760
+ * WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
1761
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1762
+ *
1763
+ * LWORK (input) INTEGER
1764
+ * The length of WORK. LWORK >=1. For best performance
1765
+ * LWORK >= N*NB, where NB is the block size returned by ILAENV.
1766
+ *
1767
+ * If LWORK = -1, then a workspace query is assumed; the routine
1768
+ * only calculates the optimal size of the WORK array, returns
1769
+ * this value as the first entry of the WORK array, and no error
1770
+ * message related to LWORK is issued by XERBLA.
1771
+ *
1772
+ * INFO (output) INTEGER
1773
+ * = 0: successful exit
1774
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1775
+ * > 0: if INFO = i, D(i,i) is exactly zero. The factorization
1776
+ * has been completed, but the block diagonal matrix D is
1777
+ * exactly singular, and division by zero will occur if it
1778
+ * is used to solve a system of equations.
1779
+ *
1780
+
1781
+ * Further Details
1782
+ * ===============
1783
+ *
1784
+ * If UPLO = 'U', then A = U*D*U', where
1785
+ * U = P(n)*U(n)* ... *P(k)U(k)* ...,
1786
+ * i.e., U is a product of terms P(k)*U(k), where k decreases from n to
1787
+ * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1788
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1789
+ * defined by IPIV(k), and U(k) is a unit upper triangular matrix, such
1790
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1791
+ *
1792
+ * ( I v 0 ) k-s
1793
+ * U(k) = ( 0 I 0 ) s
1794
+ * ( 0 0 I ) n-k
1795
+ * k-s s n-k
1796
+ *
1797
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).
1798
+ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k),
1799
+ * and A(k,k), and v overwrites A(1:k-2,k-1:k).
1800
+ *
1801
+ * If UPLO = 'L', then A = L*D*L', where
1802
+ * L = P(1)*L(1)* ... *P(k)*L(k)* ...,
1803
+ * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to
1804
+ * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1805
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1806
+ * defined by IPIV(k), and L(k) is a unit lower triangular matrix, such
1807
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1808
+ *
1809
+ * ( I 0 0 ) k-1
1810
+ * L(k) = ( 0 I 0 ) s
1811
+ * ( 0 v I ) n-k-s+1
1812
+ * k-1 s n-k-s+1
1813
+ *
1814
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).
1815
+ * If s = 2, the lower triangle of D(k) overwrites A(k,k), A(k+1,k),
1816
+ * and A(k+1,k+1), and v overwrites A(k+2:n,k:k+1).
1817
+ *
1818
+ * =====================================================================
1819
+ *
1820
+ * .. Local Scalars ..
1821
+ LOGICAL LQUERY, UPPER
1822
+ INTEGER IINFO, IWS, J, K, KB, LDWORK, LWKOPT, NB, NBMIN
1823
+ * ..
1824
+ * .. External Functions ..
1825
+ LOGICAL LSAME
1826
+ INTEGER ILAENV
1827
+ EXTERNAL LSAME, ILAENV
1828
+ * ..
1829
+ * .. External Subroutines ..
1830
+ EXTERNAL XERBLA, ZLASYF, ZSYTF2
1831
+ * ..
1832
+ * .. Intrinsic Functions ..
1833
+ INTRINSIC MAX
1834
+ * ..
1835
+
1836
+
1837
+ </PRE>
1838
+ <A HREF="#top">go to the page top</A>
1839
+
1840
+ <A NAME="zsytri"></A>
1841
+ <H2>zsytri</H2>
1842
+ <PRE>
1843
+ USAGE:
1844
+ info, a = NumRu::Lapack.zsytri( uplo, a, ipiv, [:usage => usage, :help => help])
1845
+
1846
+
1847
+ FORTRAN MANUAL
1848
+ SUBROUTINE ZSYTRI( UPLO, N, A, LDA, IPIV, WORK, INFO )
1849
+
1850
+ * Purpose
1851
+ * =======
1852
+ *
1853
+ * ZSYTRI computes the inverse of a complex symmetric indefinite matrix
1854
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
1855
+ * ZSYTRF.
1856
+ *
1857
+
1858
+ * Arguments
1859
+ * =========
1860
+ *
1861
+ * UPLO (input) CHARACTER*1
1862
+ * Specifies whether the details of the factorization are stored
1863
+ * as an upper or lower triangular matrix.
1864
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1865
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1866
+ *
1867
+ * N (input) INTEGER
1868
+ * The order of the matrix A. N >= 0.
1869
+ *
1870
+ * A (input/output) COMPLEX*16 array, dimension (LDA,N)
1871
+ * On entry, the block diagonal matrix D and the multipliers
1872
+ * used to obtain the factor U or L as computed by ZSYTRF.
1873
+ *
1874
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1875
+ * matrix. If UPLO = 'U', the upper triangular part of the
1876
+ * inverse is formed and the part of A below the diagonal is not
1877
+ * referenced; if UPLO = 'L' the lower triangular part of the
1878
+ * inverse is formed and the part of A above the diagonal is
1879
+ * not referenced.
1880
+ *
1881
+ * LDA (input) INTEGER
1882
+ * The leading dimension of the array A. LDA >= max(1,N).
1883
+ *
1884
+ * IPIV (input) INTEGER array, dimension (N)
1885
+ * Details of the interchanges and the block structure of D
1886
+ * as determined by ZSYTRF.
1887
+ *
1888
+ * WORK (workspace) COMPLEX*16 array, dimension (2*N)
1889
+ *
1890
+ * INFO (output) INTEGER
1891
+ * = 0: successful exit
1892
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1893
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
1894
+ * inverse could not be computed.
1895
+ *
1896
+
1897
+ * =====================================================================
1898
+ *
1899
+
1900
+
1901
+ </PRE>
1902
+ <A HREF="#top">go to the page top</A>
1903
+
1904
+ <A NAME="zsytri2"></A>
1905
+ <H2>zsytri2</H2>
1906
+ <PRE>
1907
+ USAGE:
1908
+ info, a = NumRu::Lapack.zsytri2( uplo, a, ipiv, [:lwork => lwork, :usage => usage, :help => help])
1909
+
1910
+
1911
+ FORTRAN MANUAL
1912
+ SUBROUTINE ZSYTRI2( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
1913
+
1914
+ * Purpose
1915
+ * =======
1916
+ *
1917
+ * ZSYTRI2 computes the inverse of a complex symmetric indefinite matrix
1918
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
1919
+ * ZSYTRF. ZSYTRI2 sets the LEADING DIMENSION of the workspace
1920
+ * before calling ZSYTRI2X that actually computes the inverse.
1921
+ *
1922
+
1923
+ * Arguments
1924
+ * =========
1925
+ *
1926
+ * UPLO (input) CHARACTER*1
1927
+ * Specifies whether the details of the factorization are stored
1928
+ * as an upper or lower triangular matrix.
1929
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1930
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1931
+ *
1932
+ * N (input) INTEGER
1933
+ * The order of the matrix A. N >= 0.
1934
+ *
1935
+ * A (input/output) DOUBLE COMPLEX array, dimension (LDA,N)
1936
+ * On entry, the NB diagonal matrix D and the multipliers
1937
+ * used to obtain the factor U or L as computed by ZSYTRF.
1938
+ *
1939
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1940
+ * matrix. If UPLO = 'U', the upper triangular part of the
1941
+ * inverse is formed and the part of A below the diagonal is not
1942
+ * referenced; if UPLO = 'L' the lower triangular part of the
1943
+ * inverse is formed and the part of A above the diagonal is
1944
+ * not referenced.
1945
+ *
1946
+ * LDA (input) INTEGER
1947
+ * The leading dimension of the array A. LDA >= max(1,N).
1948
+ *
1949
+ * IPIV (input) INTEGER array, dimension (N)
1950
+ * Details of the interchanges and the NB structure of D
1951
+ * as determined by ZSYTRF.
1952
+ *
1953
+ * WORK (workspace) DOUBLE COMPLEX array, dimension (N+NB+1)*(NB+3)
1954
+ *
1955
+ * LWORK (input) INTEGER
1956
+ * The dimension of the array WORK.
1957
+ * WORK is size >= (N+NB+1)*(NB+3)
1958
+ * If LDWORK = -1, then a workspace query is assumed; the routine
1959
+ * calculates:
1960
+ * - the optimal size of the WORK array, returns
1961
+ * this value as the first entry of the WORK array,
1962
+ * - and no error message related to LDWORK is issued by XERBLA.
1963
+ *
1964
+ * INFO (output) INTEGER
1965
+ * = 0: successful exit
1966
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1967
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
1968
+ * inverse could not be computed.
1969
+ *
1970
+
1971
+ * =====================================================================
1972
+ *
1973
+ * .. Local Scalars ..
1974
+ LOGICAL UPPER, LQUERY
1975
+ INTEGER MINSIZE, NBMAX
1976
+ * ..
1977
+ * .. External Functions ..
1978
+ LOGICAL LSAME
1979
+ INTEGER ILAENV
1980
+ EXTERNAL LSAME, ILAENV
1981
+ * ..
1982
+ * .. External Subroutines ..
1983
+ EXTERNAL ZSYTRI2X
1984
+ * ..
1985
+
1986
+
1987
+ </PRE>
1988
+ <A HREF="#top">go to the page top</A>
1989
+
1990
+ <A NAME="zsytri2x"></A>
1991
+ <H2>zsytri2x</H2>
1992
+ <PRE>
1993
+ USAGE:
1994
+ info, a = NumRu::Lapack.zsytri2x( uplo, a, ipiv, nb, [:usage => usage, :help => help])
1995
+
1996
+
1997
+ FORTRAN MANUAL
1998
+ SUBROUTINE ZSYTRI2X( UPLO, N, A, LDA, IPIV, WORK, NB, INFO )
1999
+
2000
+ * Purpose
2001
+ * =======
2002
+ *
2003
+ * ZSYTRI2X computes the inverse of a complex symmetric indefinite matrix
2004
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
2005
+ * ZSYTRF.
2006
+ *
2007
+
2008
+ * Arguments
2009
+ * =========
2010
+ *
2011
+ * UPLO (input) CHARACTER*1
2012
+ * Specifies whether the details of the factorization are stored
2013
+ * as an upper or lower triangular matrix.
2014
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2015
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2016
+ *
2017
+ * N (input) INTEGER
2018
+ * The order of the matrix A. N >= 0.
2019
+ *
2020
+ * A (input/output) DOUBLE COMPLEX array, dimension (LDA,N)
2021
+ * On entry, the NNB diagonal matrix D and the multipliers
2022
+ * used to obtain the factor U or L as computed by ZSYTRF.
2023
+ *
2024
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
2025
+ * matrix. If UPLO = 'U', the upper triangular part of the
2026
+ * inverse is formed and the part of A below the diagonal is not
2027
+ * referenced; if UPLO = 'L' the lower triangular part of the
2028
+ * inverse is formed and the part of A above the diagonal is
2029
+ * not referenced.
2030
+ *
2031
+ * LDA (input) INTEGER
2032
+ * The leading dimension of the array A. LDA >= max(1,N).
2033
+ *
2034
+ * IPIV (input) INTEGER array, dimension (N)
2035
+ * Details of the interchanges and the NNB structure of D
2036
+ * as determined by ZSYTRF.
2037
+ *
2038
+ * WORK (workspace) DOUBLE COMPLEX array, dimension (N+NNB+1,NNB+3)
2039
+ *
2040
+ * NB (input) INTEGER
2041
+ * Block size
2042
+ *
2043
+ * INFO (output) INTEGER
2044
+ * = 0: successful exit
2045
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2046
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
2047
+ * inverse could not be computed.
2048
+ *
2049
+
2050
+ * =====================================================================
2051
+ *
2052
+
2053
+
2054
+ </PRE>
2055
+ <A HREF="#top">go to the page top</A>
2056
+
2057
+ <A NAME="zsytrs"></A>
2058
+ <H2>zsytrs</H2>
2059
+ <PRE>
2060
+ USAGE:
2061
+ info, b = NumRu::Lapack.zsytrs( uplo, a, ipiv, b, [:usage => usage, :help => help])
2062
+
2063
+
2064
+ FORTRAN MANUAL
2065
+ SUBROUTINE ZSYTRS( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO )
2066
+
2067
+ * Purpose
2068
+ * =======
2069
+ *
2070
+ * ZSYTRS solves a system of linear equations A*X = B with a complex
2071
+ * symmetric matrix A using the factorization A = U*D*U**T or
2072
+ * A = L*D*L**T computed by ZSYTRF.
2073
+ *
2074
+
2075
+ * Arguments
2076
+ * =========
2077
+ *
2078
+ * UPLO (input) CHARACTER*1
2079
+ * Specifies whether the details of the factorization are stored
2080
+ * as an upper or lower triangular matrix.
2081
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2082
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2083
+ *
2084
+ * N (input) INTEGER
2085
+ * The order of the matrix A. N >= 0.
2086
+ *
2087
+ * NRHS (input) INTEGER
2088
+ * The number of right hand sides, i.e., the number of columns
2089
+ * of the matrix B. NRHS >= 0.
2090
+ *
2091
+ * A (input) COMPLEX*16 array, dimension (LDA,N)
2092
+ * The block diagonal matrix D and the multipliers used to
2093
+ * obtain the factor U or L as computed by ZSYTRF.
2094
+ *
2095
+ * LDA (input) INTEGER
2096
+ * The leading dimension of the array A. LDA >= max(1,N).
2097
+ *
2098
+ * IPIV (input) INTEGER array, dimension (N)
2099
+ * Details of the interchanges and the block structure of D
2100
+ * as determined by ZSYTRF.
2101
+ *
2102
+ * B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
2103
+ * On entry, the right hand side matrix B.
2104
+ * On exit, the solution matrix X.
2105
+ *
2106
+ * LDB (input) INTEGER
2107
+ * The leading dimension of the array B. LDB >= max(1,N).
2108
+ *
2109
+ * INFO (output) INTEGER
2110
+ * = 0: successful exit
2111
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2112
+ *
2113
+
2114
+ * =====================================================================
2115
+ *
2116
+
2117
+
2118
+ </PRE>
2119
+ <A HREF="#top">go to the page top</A>
2120
+
2121
+ <A NAME="zsytrs2"></A>
2122
+ <H2>zsytrs2</H2>
2123
+ <PRE>
2124
+ USAGE:
2125
+ info, b = NumRu::Lapack.zsytrs2( uplo, a, ipiv, b, [:usage => usage, :help => help])
2126
+
2127
+
2128
+ FORTRAN MANUAL
2129
+ SUBROUTINE ZSYTRS2( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO )
2130
+
2131
+ * Purpose
2132
+ * =======
2133
+ *
2134
+ * ZSYTRS2 solves a system of linear equations A*X = B with a real
2135
+ * symmetric matrix A using the factorization A = U*D*U**T or
2136
+ * A = L*D*L**T computed by ZSYTRF and converted by ZSYCONV.
2137
+ *
2138
+
2139
+ * Arguments
2140
+ * =========
2141
+ *
2142
+ * UPLO (input) CHARACTER*1
2143
+ * Specifies whether the details of the factorization are stored
2144
+ * as an upper or lower triangular matrix.
2145
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2146
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2147
+ *
2148
+ * N (input) INTEGER
2149
+ * The order of the matrix A. N >= 0.
2150
+ *
2151
+ * NRHS (input) INTEGER
2152
+ * The number of right hand sides, i.e., the number of columns
2153
+ * of the matrix B. NRHS >= 0.
2154
+ *
2155
+ * A (input) DOUBLE COMPLEX array, dimension (LDA,N)
2156
+ * The block diagonal matrix D and the multipliers used to
2157
+ * obtain the factor U or L as computed by ZSYTRF.
2158
+ *
2159
+ * LDA (input) INTEGER
2160
+ * The leading dimension of the array A. LDA >= max(1,N).
2161
+ *
2162
+ * IPIV (input) INTEGER array, dimension (N)
2163
+ * Details of the interchanges and the block structure of D
2164
+ * as determined by ZSYTRF.
2165
+ *
2166
+ * B (input/output) DOUBLE COMPLEX array, dimension (LDB,NRHS)
2167
+ * On entry, the right hand side matrix B.
2168
+ * On exit, the solution matrix X.
2169
+ *
2170
+ * LDB (input) INTEGER
2171
+ * The leading dimension of the array B. LDB >= max(1,N).
2172
+ *
2173
+ * WORK (workspace) REAL array, dimension (N)
2174
+ *
2175
+ * INFO (output) INTEGER
2176
+ * = 0: successful exit
2177
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2178
+ *
2179
+
2180
+ * =====================================================================
2181
+ *
2182
+
2183
+
2184
+ </PRE>
2185
+ <A HREF="#top">go to the page top</A>
2186
+
2187
+ <HR />
2188
+ <A HREF="z.html">back to matrix types</A><BR>
2189
+ <A HREF="z.html">back to data types</A>
2190
+ </BODY>
2191
+ </HTML>