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/csy.html ADDED
@@ -0,0 +1,2194 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>COMPLEX routines for symmetric matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>COMPLEX routines for symmetric matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#csycon">csycon</A></LI>
10
+ <LI><A HREF="#csyconv">csyconv</A></LI>
11
+ <LI><A HREF="#csyequb">csyequb</A></LI>
12
+ <LI><A HREF="#csymv">csymv</A></LI>
13
+ <LI><A HREF="#csyr">csyr</A></LI>
14
+ <LI><A HREF="#csyrfs">csyrfs</A></LI>
15
+ <LI><A HREF="#csyrfsx">csyrfsx</A></LI>
16
+ <LI><A HREF="#csysv">csysv</A></LI>
17
+ <LI><A HREF="#csysvx">csysvx</A></LI>
18
+ <LI><A HREF="#csysvxx">csysvxx</A></LI>
19
+ <LI><A HREF="#csyswapr">csyswapr</A></LI>
20
+ <LI><A HREF="#csytf2">csytf2</A></LI>
21
+ <LI><A HREF="#csytrf">csytrf</A></LI>
22
+ <LI><A HREF="#csytri">csytri</A></LI>
23
+ <LI><A HREF="#csytri2">csytri2</A></LI>
24
+ <LI><A HREF="#csytri2x">csytri2x</A></LI>
25
+ <LI><A HREF="#csytrs">csytrs</A></LI>
26
+ <LI><A HREF="#csytrs2">csytrs2</A></LI>
27
+ </UL>
28
+
29
+ <A NAME="csycon"></A>
30
+ <H2>csycon</H2>
31
+ <PRE>
32
+ USAGE:
33
+ rcond, info = NumRu::Lapack.csycon( uplo, a, ipiv, anorm, [:usage => usage, :help => help])
34
+
35
+
36
+ FORTRAN MANUAL
37
+ SUBROUTINE CSYCON( UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO )
38
+
39
+ * Purpose
40
+ * =======
41
+ *
42
+ * CSYCON 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 CSYTRF.
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 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 CSYTRF.
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 CSYTRF.
72
+ *
73
+ * ANORM (input) REAL
74
+ * The 1-norm of the original matrix A.
75
+ *
76
+ * RCOND (output) REAL
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 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="csyconv"></A>
96
+ <H2>csyconv</H2>
97
+ <PRE>
98
+ USAGE:
99
+ info = NumRu::Lapack.csyconv( uplo, way, a, ipiv, [:usage => usage, :help => help])
100
+
101
+
102
+ FORTRAN MANUAL
103
+ SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
104
+
105
+ * Purpose
106
+ * =======
107
+ *
108
+ * CSYCONV convert A given by TRF into L and D and vice-versa.
109
+ * Get Non-diag 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) 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 CSYTRF.
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 CSYTRF.
139
+ *
140
+ * WORK (workspace) 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="csyequb"></A>
164
+ <H2>csyequb</H2>
165
+ <PRE>
166
+ USAGE:
167
+ s, scond, amax, info = NumRu::Lapack.csyequb( uplo, a, [:usage => usage, :help => help])
168
+
169
+
170
+ FORTRAN MANUAL
171
+ SUBROUTINE CSYEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )
172
+
173
+ * Purpose
174
+ * =======
175
+ *
176
+ * CSYEQUB 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 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) REAL array, dimension (N)
207
+ * If INFO = 0, S contains the scale factors for A.
208
+ *
209
+ * SCOND (output) REAL
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) REAL
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 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="csymv"></A>
243
+ <H2>csymv</H2>
244
+ <PRE>
245
+ USAGE:
246
+ y = NumRu::Lapack.csymv( uplo, alpha, a, x, incx, beta, y, incy, [:usage => usage, :help => help])
247
+
248
+
249
+ FORTRAN MANUAL
250
+ SUBROUTINE CSYMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )
251
+
252
+ * Purpose
253
+ * =======
254
+ *
255
+ * CSYMV 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
285
+ * On entry, ALPHA specifies the scalar alpha.
286
+ * Unchanged on exit.
287
+ *
288
+ * A (input) COMPLEX 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 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
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 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="csyr"></A>
341
+ <H2>csyr</H2>
342
+ <PRE>
343
+ USAGE:
344
+ a = NumRu::Lapack.csyr( uplo, alpha, x, incx, a, [:usage => usage, :help => help])
345
+
346
+
347
+ FORTRAN MANUAL
348
+ SUBROUTINE CSYR( UPLO, N, ALPHA, X, INCX, A, LDA )
349
+
350
+ * Purpose
351
+ * =======
352
+ *
353
+ * CSYR 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
383
+ * On entry, ALPHA specifies the scalar alpha.
384
+ * Unchanged on exit.
385
+ *
386
+ * X (input) COMPLEX 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 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="csyrfs"></A>
426
+ <H2>csyrfs</H2>
427
+ <PRE>
428
+ USAGE:
429
+ ferr, berr, info, x = NumRu::Lapack.csyrfs( uplo, a, af, ipiv, b, x, [:usage => usage, :help => help])
430
+
431
+
432
+ FORTRAN MANUAL
433
+ SUBROUTINE CSYRFS( UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO )
434
+
435
+ * Purpose
436
+ * =======
437
+ *
438
+ * CSYRFS 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 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 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 CSYTRF.
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 CSYTRF.
481
+ *
482
+ * B (input) COMPLEX 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 array, dimension (LDX,NRHS)
489
+ * On entry, the solution matrix X, as computed by CSYTRS.
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) REAL 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) REAL 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 array, dimension (2*N)
511
+ *
512
+ * RWORK (workspace) REAL 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="csyrfsx"></A>
532
+ <H2>csyrfsx</H2>
533
+ <PRE>
534
+ USAGE:
535
+ rcond, berr, err_bnds_norm, err_bnds_comp, info, s, x, params = NumRu::Lapack.csyrfsx( uplo, equed, a, af, ipiv, s, b, x, params, [:usage => usage, :help => help])
536
+
537
+
538
+ FORTRAN MANUAL
539
+ SUBROUTINE CSYRFSX( 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
+ * CSYRFSX 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 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 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 SSYTRF.
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 SSYTRF.
610
+ *
611
+ * S (input or output) REAL 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 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 array, dimension (LDX,NRHS)
631
+ * On entry, the solution matrix X, as computed by SGETRS.
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) REAL
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) REAL 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) REAL 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) * slamch('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) * slamch('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) * slamch('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) REAL 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) * slamch('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) * slamch('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) * slamch('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) REAL 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.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 array, dimension (2*N)
783
+ *
784
+ * RWORK (workspace) REAL 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="csysv"></A>
819
+ <H2>csysv</H2>
820
+ <PRE>
821
+ USAGE:
822
+ ipiv, work, info, a, b = NumRu::Lapack.csysv( uplo, a, b, [:lwork => lwork, :usage => usage, :help => help])
823
+
824
+
825
+ FORTRAN MANUAL
826
+ SUBROUTINE CSYSV( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO )
827
+
828
+ * Purpose
829
+ * =======
830
+ *
831
+ * CSYSV 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 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
+ * CSYTRF.
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 CSYTRF. 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 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 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
+ * CSYTRF.
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 ILAENV, LSAME
926
+ * ..
927
+ * .. External Subroutines ..
928
+ EXTERNAL CSYTRF, CSYTRS2, XERBLA
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="csysvx"></A>
939
+ <H2>csysvx</H2>
940
+ <PRE>
941
+ USAGE:
942
+ x, rcond, ferr, berr, work, info, af, ipiv = NumRu::Lapack.csysvx( fact, uplo, a, af, ipiv, b, [:lwork => lwork, :usage => usage, :help => help])
943
+
944
+
945
+ FORTRAN MANUAL
946
+ SUBROUTINE CSYSVX( 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
+ * CSYSVX 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 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 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 CSYTRF.
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 CSYTRF.
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 CSYTRF.
1050
+ *
1051
+ * B (input) COMPLEX 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 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) REAL
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) REAL 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) REAL 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 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 CSYTRF.
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) REAL 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="csysvxx"></A>
1125
+ <H2>csysvxx</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.csysvxx( fact, uplo, a, af, ipiv, equed, s, b, params, [:usage => usage, :help => help])
1129
+
1130
+
1131
+ FORTRAN MANUAL
1132
+ SUBROUTINE CSYSVXX( 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
+ * CSYSVXX uses the diagonal pivoting factorization to compute the
1138
+ * solution to a complex 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. CSYSVXX 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
+ * CSYSVXX 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
+ * CSYSVXX 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 CSYSVXX would itself produce.
1156
+ *
1157
+ * Description
1158
+ * ===========
1159
+ *
1160
+ * The following steps are performed:
1161
+ *
1162
+ * 1. If FACT = 'E', real 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 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 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 SSYTRF.
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 SSYTRF. 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 SSYTRF.
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) REAL 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 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 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) REAL
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) REAL
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) REAL 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) REAL 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) * slamch('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) * slamch('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) * slamch('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) REAL 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) * slamch('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) * slamch('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) * slamch('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) REAL 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.0
1449
+ * = 0.0 : No refinement is performed, and no error bounds are
1450
+ * computed.
1451
+ * = 1.0 : Use the double-precision refinement algorithm,
1452
+ * possibly with doubled-single computations if the
1453
+ * compilation environment does not support DOUBLE
1454
+ * PRECISION.
1455
+ * (other values are reserved for future use)
1456
+ *
1457
+ * PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
1458
+ * computations allowed for refinement.
1459
+ * Default: 10
1460
+ * Aggressive: Set to 100 to permit convergence using approximate
1461
+ * factorizations or factorizations other than LU. If
1462
+ * the factorization uses a technique other than
1463
+ * Gaussian elimination, the guarantees in
1464
+ * err_bnds_norm and err_bnds_comp may no longer be
1465
+ * trustworthy.
1466
+ *
1467
+ * PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code
1468
+ * will attempt to find a solution with small componentwise
1469
+ * relative error in the double-precision algorithm. Positive
1470
+ * is true, 0.0 is false.
1471
+ * Default: 1.0 (attempt componentwise convergence)
1472
+ *
1473
+ * WORK (workspace) COMPLEX array, dimension (2*N)
1474
+ *
1475
+ * RWORK (workspace) REAL array, dimension (2*N)
1476
+ *
1477
+ * INFO (output) INTEGER
1478
+ * = 0: Successful exit. The solution to every right-hand side is
1479
+ * guaranteed.
1480
+ * < 0: If INFO = -i, the i-th argument had an illegal value
1481
+ * > 0 and <= N: U(INFO,INFO) is exactly zero. The factorization
1482
+ * has been completed, but the factor U is exactly singular, so
1483
+ * the solution and error bounds could not be computed. RCOND = 0
1484
+ * is returned.
1485
+ * = N+J: The solution corresponding to the Jth right-hand side is
1486
+ * not guaranteed. The solutions corresponding to other right-
1487
+ * hand sides K with K > J may not be guaranteed as well, but
1488
+ * only the first such right-hand side is reported. If a small
1489
+ * componentwise error is not requested (PARAMS(3) = 0.0) then
1490
+ * the Jth right-hand side is the first with a normwise error
1491
+ * bound that is not guaranteed (the smallest J such
1492
+ * that ERR_BNDS_NORM(J,1) = 0.0). By default (PARAMS(3) = 1.0)
1493
+ * the Jth right-hand side is the first with either a normwise or
1494
+ * componentwise error bound that is not guaranteed (the smallest
1495
+ * J such that either ERR_BNDS_NORM(J,1) = 0.0 or
1496
+ * ERR_BNDS_COMP(J,1) = 0.0). See the definition of
1497
+ * ERR_BNDS_NORM(:,1) and ERR_BNDS_COMP(:,1). To get information
1498
+ * about all of the right-hand sides check ERR_BNDS_NORM or
1499
+ * ERR_BNDS_COMP.
1500
+ *
1501
+
1502
+ * ==================================================================
1503
+ *
1504
+
1505
+
1506
+ </PRE>
1507
+ <A HREF="#top">go to the page top</A>
1508
+
1509
+ <A NAME="csyswapr"></A>
1510
+ <H2>csyswapr</H2>
1511
+ <PRE>
1512
+ USAGE:
1513
+ a = NumRu::Lapack.csyswapr( uplo, a, i1, i2, [:usage => usage, :help => help])
1514
+
1515
+
1516
+ FORTRAN MANUAL
1517
+ SUBROUTINE CSYSWAPR( UPLO, N, A, I1, I2)
1518
+
1519
+ * Purpose
1520
+ * =======
1521
+ *
1522
+ * CSYSWAPR applies an elementary permutation on the rows and the columns of
1523
+ * a symmetric matrix.
1524
+ *
1525
+
1526
+ * Arguments
1527
+ * =========
1528
+ *
1529
+ * UPLO (input) CHARACTER*1
1530
+ * Specifies whether the details of the factorization are stored
1531
+ * as an upper or lower triangular matrix.
1532
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1533
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1534
+ *
1535
+ * N (input) INTEGER
1536
+ * The order of the matrix A. N >= 0.
1537
+ *
1538
+ * A (input/output) COMPLEX array, dimension (LDA,N)
1539
+ * On entry, the NB diagonal matrix D and the multipliers
1540
+ * used to obtain the factor U or L as computed by CSYTRF.
1541
+ *
1542
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1543
+ * matrix. If UPLO = 'U', the upper triangular part of the
1544
+ * inverse is formed and the part of A below the diagonal is not
1545
+ * referenced; if UPLO = 'L' the lower triangular part of the
1546
+ * inverse is formed and the part of A above the diagonal is
1547
+ * not referenced.
1548
+ *
1549
+ * I1 (input) INTEGER
1550
+ * Index of the first row to swap
1551
+ *
1552
+ * I2 (input) INTEGER
1553
+ * Index of the second row to swap
1554
+ *
1555
+
1556
+ * =====================================================================
1557
+ *
1558
+ * ..
1559
+ * .. Local Scalars ..
1560
+ LOGICAL UPPER
1561
+ INTEGER I
1562
+ COMPLEX TMP
1563
+ *
1564
+ * .. External Functions ..
1565
+ LOGICAL LSAME
1566
+ EXTERNAL LSAME
1567
+ * ..
1568
+ * .. External Subroutines ..
1569
+ EXTERNAL CSWAP
1570
+ * ..
1571
+
1572
+
1573
+ </PRE>
1574
+ <A HREF="#top">go to the page top</A>
1575
+
1576
+ <A NAME="csytf2"></A>
1577
+ <H2>csytf2</H2>
1578
+ <PRE>
1579
+ USAGE:
1580
+ ipiv, info, a = NumRu::Lapack.csytf2( uplo, a, [:usage => usage, :help => help])
1581
+
1582
+
1583
+ FORTRAN MANUAL
1584
+ SUBROUTINE CSYTF2( UPLO, N, A, LDA, IPIV, INFO )
1585
+
1586
+ * Purpose
1587
+ * =======
1588
+ *
1589
+ * CSYTF2 computes the factorization of a complex symmetric matrix A
1590
+ * using the Bunch-Kaufman diagonal pivoting method:
1591
+ *
1592
+ * A = U*D*U' or A = L*D*L'
1593
+ *
1594
+ * where U (or L) is a product of permutation and unit upper (lower)
1595
+ * triangular matrices, U' is the transpose of U, and D is symmetric and
1596
+ * block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
1597
+ *
1598
+ * This is the unblocked version of the algorithm, calling Level 2 BLAS.
1599
+ *
1600
+
1601
+ * Arguments
1602
+ * =========
1603
+ *
1604
+ * UPLO (input) CHARACTER*1
1605
+ * Specifies whether the upper or lower triangular part of the
1606
+ * symmetric matrix A is stored:
1607
+ * = 'U': Upper triangular
1608
+ * = 'L': Lower triangular
1609
+ *
1610
+ * N (input) INTEGER
1611
+ * The order of the matrix A. N >= 0.
1612
+ *
1613
+ * A (input/output) COMPLEX array, dimension (LDA,N)
1614
+ * On entry, the symmetric matrix A. If UPLO = 'U', the leading
1615
+ * n-by-n upper triangular part of A contains the upper
1616
+ * triangular part of the matrix A, and the strictly lower
1617
+ * triangular part of A is not referenced. If UPLO = 'L', the
1618
+ * leading n-by-n lower triangular part of A contains the lower
1619
+ * triangular part of the matrix A, and the strictly upper
1620
+ * triangular part of A is not referenced.
1621
+ *
1622
+ * On exit, the block diagonal matrix D and the multipliers used
1623
+ * to obtain the factor U or L (see below for further details).
1624
+ *
1625
+ * LDA (input) INTEGER
1626
+ * The leading dimension of the array A. LDA >= max(1,N).
1627
+ *
1628
+ * IPIV (output) INTEGER array, dimension (N)
1629
+ * Details of the interchanges and the block structure of D.
1630
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1631
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1632
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1633
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1634
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1635
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1636
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1637
+ *
1638
+ * INFO (output) INTEGER
1639
+ * = 0: successful exit
1640
+ * < 0: if INFO = -k, the k-th argument had an illegal value
1641
+ * > 0: if INFO = k, D(k,k) is exactly zero. The factorization
1642
+ * has been completed, but the block diagonal matrix D is
1643
+ * exactly singular, and division by zero will occur if it
1644
+ * is used to solve a system of equations.
1645
+ *
1646
+
1647
+ * Further Details
1648
+ * ===============
1649
+ *
1650
+ * 09-29-06 - patch from
1651
+ * Bobby Cheng, MathWorks
1652
+ *
1653
+ * Replace l.209 and l.377
1654
+ * IF( MAX( ABSAKK, COLMAX ).EQ.ZERO ) THEN
1655
+ * by
1656
+ * IF( (MAX( ABSAKK, COLMAX ).EQ.ZERO) .OR. SISNAN(ABSAKK) ) THEN
1657
+ *
1658
+ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services
1659
+ * Company
1660
+ *
1661
+ * If UPLO = 'U', then A = U*D*U', where
1662
+ * U = P(n)*U(n)* ... *P(k)U(k)* ...,
1663
+ * i.e., U is a product of terms P(k)*U(k), where k decreases from n to
1664
+ * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1665
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1666
+ * defined by IPIV(k), and U(k) is a unit upper triangular matrix, such
1667
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1668
+ *
1669
+ * ( I v 0 ) k-s
1670
+ * U(k) = ( 0 I 0 ) s
1671
+ * ( 0 0 I ) n-k
1672
+ * k-s s n-k
1673
+ *
1674
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).
1675
+ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k),
1676
+ * and A(k,k), and v overwrites A(1:k-2,k-1:k).
1677
+ *
1678
+ * If UPLO = 'L', then A = L*D*L', where
1679
+ * L = P(1)*L(1)* ... *P(k)*L(k)* ...,
1680
+ * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to
1681
+ * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1682
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1683
+ * defined by IPIV(k), and L(k) is a unit lower triangular matrix, such
1684
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1685
+ *
1686
+ * ( I 0 0 ) k-1
1687
+ * L(k) = ( 0 I 0 ) s
1688
+ * ( 0 v I ) n-k-s+1
1689
+ * k-1 s n-k-s+1
1690
+ *
1691
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).
1692
+ * If s = 2, the lower triangle of D(k) overwrites A(k,k), A(k+1,k),
1693
+ * and A(k+1,k+1), and v overwrites A(k+2:n,k:k+1).
1694
+ *
1695
+ * =====================================================================
1696
+ *
1697
+
1698
+
1699
+ </PRE>
1700
+ <A HREF="#top">go to the page top</A>
1701
+
1702
+ <A NAME="csytrf"></A>
1703
+ <H2>csytrf</H2>
1704
+ <PRE>
1705
+ USAGE:
1706
+ ipiv, work, info, a = NumRu::Lapack.csytrf( uplo, a, lwork, [:usage => usage, :help => help])
1707
+
1708
+
1709
+ FORTRAN MANUAL
1710
+ SUBROUTINE CSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
1711
+
1712
+ * Purpose
1713
+ * =======
1714
+ *
1715
+ * CSYTRF computes the factorization of a complex symmetric matrix A
1716
+ * using the Bunch-Kaufman diagonal pivoting method. The form of the
1717
+ * factorization is
1718
+ *
1719
+ * A = U*D*U**T or A = L*D*L**T
1720
+ *
1721
+ * where U (or L) is a product of permutation and unit upper (lower)
1722
+ * triangular matrices, and D is symmetric and block diagonal with
1723
+ * with 1-by-1 and 2-by-2 diagonal blocks.
1724
+ *
1725
+ * This is the blocked version of the algorithm, calling Level 3 BLAS.
1726
+ *
1727
+
1728
+ * Arguments
1729
+ * =========
1730
+ *
1731
+ * UPLO (input) CHARACTER*1
1732
+ * = 'U': Upper triangle of A is stored;
1733
+ * = 'L': Lower triangle of A is stored.
1734
+ *
1735
+ * N (input) INTEGER
1736
+ * The order of the matrix A. N >= 0.
1737
+ *
1738
+ * A (input/output) COMPLEX array, dimension (LDA,N)
1739
+ * On entry, the symmetric matrix A. If UPLO = 'U', the leading
1740
+ * N-by-N upper triangular part of A contains the upper
1741
+ * triangular part of the matrix A, and the strictly lower
1742
+ * triangular part of A is not referenced. If UPLO = 'L', the
1743
+ * leading N-by-N lower triangular part of A contains the lower
1744
+ * triangular part of the matrix A, and the strictly upper
1745
+ * triangular part of A is not referenced.
1746
+ *
1747
+ * On exit, the block diagonal matrix D and the multipliers used
1748
+ * to obtain the factor U or L (see below for further details).
1749
+ *
1750
+ * LDA (input) INTEGER
1751
+ * The leading dimension of the array A. LDA >= max(1,N).
1752
+ *
1753
+ * IPIV (output) INTEGER array, dimension (N)
1754
+ * Details of the interchanges and the block structure of D.
1755
+ * If IPIV(k) > 0, then rows and columns k and IPIV(k) were
1756
+ * interchanged and D(k,k) is a 1-by-1 diagonal block.
1757
+ * If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
1758
+ * columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k)
1759
+ * is a 2-by-2 diagonal block. If UPLO = 'L' and IPIV(k) =
1760
+ * IPIV(k+1) < 0, then rows and columns k+1 and -IPIV(k) were
1761
+ * interchanged and D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
1762
+ *
1763
+ * WORK (workspace/output) COMPLEX array, dimension (MAX(1,LWORK))
1764
+ * On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
1765
+ *
1766
+ * LWORK (input) INTEGER
1767
+ * The length of WORK. LWORK >=1. For best performance
1768
+ * LWORK >= N*NB, where NB is the block size returned by ILAENV.
1769
+ *
1770
+ * If LWORK = -1, then a workspace query is assumed; the routine
1771
+ * only calculates the optimal size of the WORK array, returns
1772
+ * this value as the first entry of the WORK array, and no error
1773
+ * message related to LWORK is issued by XERBLA.
1774
+ *
1775
+ * INFO (output) INTEGER
1776
+ * = 0: successful exit
1777
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1778
+ * > 0: if INFO = i, D(i,i) is exactly zero. The factorization
1779
+ * has been completed, but the block diagonal matrix D is
1780
+ * exactly singular, and division by zero will occur if it
1781
+ * is used to solve a system of equations.
1782
+ *
1783
+
1784
+ * Further Details
1785
+ * ===============
1786
+ *
1787
+ * If UPLO = 'U', then A = U*D*U', where
1788
+ * U = P(n)*U(n)* ... *P(k)U(k)* ...,
1789
+ * i.e., U is a product of terms P(k)*U(k), where k decreases from n to
1790
+ * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1791
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1792
+ * defined by IPIV(k), and U(k) is a unit upper triangular matrix, such
1793
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1794
+ *
1795
+ * ( I v 0 ) k-s
1796
+ * U(k) = ( 0 I 0 ) s
1797
+ * ( 0 0 I ) n-k
1798
+ * k-s s n-k
1799
+ *
1800
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).
1801
+ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k),
1802
+ * and A(k,k), and v overwrites A(1:k-2,k-1:k).
1803
+ *
1804
+ * If UPLO = 'L', then A = L*D*L', where
1805
+ * L = P(1)*L(1)* ... *P(k)*L(k)* ...,
1806
+ * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to
1807
+ * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1
1808
+ * and 2-by-2 diagonal blocks D(k). P(k) is a permutation matrix as
1809
+ * defined by IPIV(k), and L(k) is a unit lower triangular matrix, such
1810
+ * that if the diagonal block D(k) is of order s (s = 1 or 2), then
1811
+ *
1812
+ * ( I 0 0 ) k-1
1813
+ * L(k) = ( 0 I 0 ) s
1814
+ * ( 0 v I ) n-k-s+1
1815
+ * k-1 s n-k-s+1
1816
+ *
1817
+ * If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).
1818
+ * If s = 2, the lower triangle of D(k) overwrites A(k,k), A(k+1,k),
1819
+ * and A(k+1,k+1), and v overwrites A(k+2:n,k:k+1).
1820
+ *
1821
+ * =====================================================================
1822
+ *
1823
+ * .. Local Scalars ..
1824
+ LOGICAL LQUERY, UPPER
1825
+ INTEGER IINFO, IWS, J, K, KB, LDWORK, LWKOPT, NB, NBMIN
1826
+ * ..
1827
+ * .. External Functions ..
1828
+ LOGICAL LSAME
1829
+ INTEGER ILAENV
1830
+ EXTERNAL LSAME, ILAENV
1831
+ * ..
1832
+ * .. External Subroutines ..
1833
+ EXTERNAL CLASYF, CSYTF2, XERBLA
1834
+ * ..
1835
+ * .. Intrinsic Functions ..
1836
+ INTRINSIC MAX
1837
+ * ..
1838
+
1839
+
1840
+ </PRE>
1841
+ <A HREF="#top">go to the page top</A>
1842
+
1843
+ <A NAME="csytri"></A>
1844
+ <H2>csytri</H2>
1845
+ <PRE>
1846
+ USAGE:
1847
+ info, a = NumRu::Lapack.csytri( uplo, a, ipiv, [:usage => usage, :help => help])
1848
+
1849
+
1850
+ FORTRAN MANUAL
1851
+ SUBROUTINE CSYTRI( UPLO, N, A, LDA, IPIV, WORK, INFO )
1852
+
1853
+ * Purpose
1854
+ * =======
1855
+ *
1856
+ * CSYTRI computes the inverse of a complex symmetric indefinite matrix
1857
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
1858
+ * CSYTRF.
1859
+ *
1860
+
1861
+ * Arguments
1862
+ * =========
1863
+ *
1864
+ * UPLO (input) CHARACTER*1
1865
+ * Specifies whether the details of the factorization are stored
1866
+ * as an upper or lower triangular matrix.
1867
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1868
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1869
+ *
1870
+ * N (input) INTEGER
1871
+ * The order of the matrix A. N >= 0.
1872
+ *
1873
+ * A (input/output) COMPLEX array, dimension (LDA,N)
1874
+ * On entry, the block diagonal matrix D and the multipliers
1875
+ * used to obtain the factor U or L as computed by CSYTRF.
1876
+ *
1877
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1878
+ * matrix. If UPLO = 'U', the upper triangular part of the
1879
+ * inverse is formed and the part of A below the diagonal is not
1880
+ * referenced; if UPLO = 'L' the lower triangular part of the
1881
+ * inverse is formed and the part of A above the diagonal is
1882
+ * not referenced.
1883
+ *
1884
+ * LDA (input) INTEGER
1885
+ * The leading dimension of the array A. LDA >= max(1,N).
1886
+ *
1887
+ * IPIV (input) INTEGER array, dimension (N)
1888
+ * Details of the interchanges and the block structure of D
1889
+ * as determined by CSYTRF.
1890
+ *
1891
+ * WORK (workspace) COMPLEX array, dimension (2*N)
1892
+ *
1893
+ * INFO (output) INTEGER
1894
+ * = 0: successful exit
1895
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1896
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
1897
+ * inverse could not be computed.
1898
+ *
1899
+
1900
+ * =====================================================================
1901
+ *
1902
+
1903
+
1904
+ </PRE>
1905
+ <A HREF="#top">go to the page top</A>
1906
+
1907
+ <A NAME="csytri2"></A>
1908
+ <H2>csytri2</H2>
1909
+ <PRE>
1910
+ USAGE:
1911
+ info, a = NumRu::Lapack.csytri2( uplo, a, ipiv, [:lwork => lwork, :usage => usage, :help => help])
1912
+
1913
+
1914
+ FORTRAN MANUAL
1915
+ SUBROUTINE CSYTRI2( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
1916
+
1917
+ * Purpose
1918
+ * =======
1919
+ *
1920
+ * CSYTRI2 computes the inverse of a complex symmetric indefinite matrix
1921
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
1922
+ * CSYTRF. CSYTRI2 sets the LEADING DIMENSION of the workspace
1923
+ * before calling CSYTRI2X that actually computes the inverse.
1924
+ *
1925
+
1926
+ * Arguments
1927
+ * =========
1928
+ *
1929
+ * UPLO (input) CHARACTER*1
1930
+ * Specifies whether the details of the factorization are stored
1931
+ * as an upper or lower triangular matrix.
1932
+ * = 'U': Upper triangular, form is A = U*D*U**T;
1933
+ * = 'L': Lower triangular, form is A = L*D*L**T.
1934
+ *
1935
+ * N (input) INTEGER
1936
+ * The order of the matrix A. N >= 0.
1937
+ *
1938
+ * A (input/output) COMPLEX array, dimension (LDA,N)
1939
+ * On entry, the NB diagonal matrix D and the multipliers
1940
+ * used to obtain the factor U or L as computed by CSYTRF.
1941
+ *
1942
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
1943
+ * matrix. If UPLO = 'U', the upper triangular part of the
1944
+ * inverse is formed and the part of A below the diagonal is not
1945
+ * referenced; if UPLO = 'L' the lower triangular part of the
1946
+ * inverse is formed and the part of A above the diagonal is
1947
+ * not referenced.
1948
+ *
1949
+ * LDA (input) INTEGER
1950
+ * The leading dimension of the array A. LDA >= max(1,N).
1951
+ *
1952
+ * IPIV (input) INTEGER array, dimension (N)
1953
+ * Details of the interchanges and the NB structure of D
1954
+ * as determined by CSYTRF.
1955
+ *
1956
+ * WORK (workspace) COMPLEX array, dimension (N+NB+1)*(NB+3)
1957
+ *
1958
+ * LWORK (input) INTEGER
1959
+ * The dimension of the array WORK.
1960
+ * WORK is size >= (N+NB+1)*(NB+3)
1961
+ * If LDWORK = -1, then a workspace query is assumed; the routine
1962
+ * calculates:
1963
+ * - the optimal size of the WORK array, returns
1964
+ * this value as the first entry of the WORK array,
1965
+ * - and no error message related to LDWORK is issued by XERBLA.
1966
+ *
1967
+ * INFO (output) INTEGER
1968
+ * = 0: successful exit
1969
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1970
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
1971
+ * inverse could not be computed.
1972
+ *
1973
+
1974
+ * =====================================================================
1975
+ *
1976
+ * .. Local Scalars ..
1977
+ LOGICAL UPPER, LQUERY
1978
+ INTEGER MINSIZE, NBMAX
1979
+ * ..
1980
+ * .. External Functions ..
1981
+ LOGICAL LSAME
1982
+ INTEGER ILAENV
1983
+ EXTERNAL LSAME, ILAENV
1984
+ * ..
1985
+ * .. External Subroutines ..
1986
+ EXTERNAL CSYTRI2X
1987
+ * ..
1988
+
1989
+
1990
+ </PRE>
1991
+ <A HREF="#top">go to the page top</A>
1992
+
1993
+ <A NAME="csytri2x"></A>
1994
+ <H2>csytri2x</H2>
1995
+ <PRE>
1996
+ USAGE:
1997
+ info, a = NumRu::Lapack.csytri2x( uplo, a, ipiv, nb, [:usage => usage, :help => help])
1998
+
1999
+
2000
+ FORTRAN MANUAL
2001
+ SUBROUTINE CSYTRI2X( UPLO, N, A, LDA, IPIV, WORK, NB, INFO )
2002
+
2003
+ * Purpose
2004
+ * =======
2005
+ *
2006
+ * CSYTRI2X computes the inverse of a real symmetric indefinite matrix
2007
+ * A using the factorization A = U*D*U**T or A = L*D*L**T computed by
2008
+ * CSYTRF.
2009
+ *
2010
+
2011
+ * Arguments
2012
+ * =========
2013
+ *
2014
+ * UPLO (input) CHARACTER*1
2015
+ * Specifies whether the details of the factorization are stored
2016
+ * as an upper or lower triangular matrix.
2017
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2018
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2019
+ *
2020
+ * N (input) INTEGER
2021
+ * The order of the matrix A. N >= 0.
2022
+ *
2023
+ * A (input/output) COMPLEX array, dimension (LDA,N)
2024
+ * On entry, the NNB diagonal matrix D and the multipliers
2025
+ * used to obtain the factor U or L as computed by CSYTRF.
2026
+ *
2027
+ * On exit, if INFO = 0, the (symmetric) inverse of the original
2028
+ * matrix. If UPLO = 'U', the upper triangular part of the
2029
+ * inverse is formed and the part of A below the diagonal is not
2030
+ * referenced; if UPLO = 'L' the lower triangular part of the
2031
+ * inverse is formed and the part of A above the diagonal is
2032
+ * not referenced.
2033
+ *
2034
+ * LDA (input) INTEGER
2035
+ * The leading dimension of the array A. LDA >= max(1,N).
2036
+ *
2037
+ * IPIV (input) INTEGER array, dimension (N)
2038
+ * Details of the interchanges and the NNB structure of D
2039
+ * as determined by CSYTRF.
2040
+ *
2041
+ * WORK (workspace) COMPLEX array, dimension (N+NNB+1,NNB+3)
2042
+ *
2043
+ * NB (input) INTEGER
2044
+ * Block size
2045
+ *
2046
+ * INFO (output) INTEGER
2047
+ * = 0: successful exit
2048
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2049
+ * > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
2050
+ * inverse could not be computed.
2051
+ *
2052
+
2053
+ * =====================================================================
2054
+ *
2055
+
2056
+
2057
+ </PRE>
2058
+ <A HREF="#top">go to the page top</A>
2059
+
2060
+ <A NAME="csytrs"></A>
2061
+ <H2>csytrs</H2>
2062
+ <PRE>
2063
+ USAGE:
2064
+ info, b = NumRu::Lapack.csytrs( uplo, a, ipiv, b, [:usage => usage, :help => help])
2065
+
2066
+
2067
+ FORTRAN MANUAL
2068
+ SUBROUTINE CSYTRS( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO )
2069
+
2070
+ * Purpose
2071
+ * =======
2072
+ *
2073
+ * CSYTRS solves a system of linear equations A*X = B with a complex
2074
+ * symmetric matrix A using the factorization A = U*D*U**T or
2075
+ * A = L*D*L**T computed by CSYTRF.
2076
+ *
2077
+
2078
+ * Arguments
2079
+ * =========
2080
+ *
2081
+ * UPLO (input) CHARACTER*1
2082
+ * Specifies whether the details of the factorization are stored
2083
+ * as an upper or lower triangular matrix.
2084
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2085
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2086
+ *
2087
+ * N (input) INTEGER
2088
+ * The order of the matrix A. N >= 0.
2089
+ *
2090
+ * NRHS (input) INTEGER
2091
+ * The number of right hand sides, i.e., the number of columns
2092
+ * of the matrix B. NRHS >= 0.
2093
+ *
2094
+ * A (input) COMPLEX array, dimension (LDA,N)
2095
+ * The block diagonal matrix D and the multipliers used to
2096
+ * obtain the factor U or L as computed by CSYTRF.
2097
+ *
2098
+ * LDA (input) INTEGER
2099
+ * The leading dimension of the array A. LDA >= max(1,N).
2100
+ *
2101
+ * IPIV (input) INTEGER array, dimension (N)
2102
+ * Details of the interchanges and the block structure of D
2103
+ * as determined by CSYTRF.
2104
+ *
2105
+ * B (input/output) COMPLEX array, dimension (LDB,NRHS)
2106
+ * On entry, the right hand side matrix B.
2107
+ * On exit, the solution matrix X.
2108
+ *
2109
+ * LDB (input) INTEGER
2110
+ * The leading dimension of the array B. LDB >= max(1,N).
2111
+ *
2112
+ * INFO (output) INTEGER
2113
+ * = 0: successful exit
2114
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2115
+ *
2116
+
2117
+ * =====================================================================
2118
+ *
2119
+
2120
+
2121
+ </PRE>
2122
+ <A HREF="#top">go to the page top</A>
2123
+
2124
+ <A NAME="csytrs2"></A>
2125
+ <H2>csytrs2</H2>
2126
+ <PRE>
2127
+ USAGE:
2128
+ info, b = NumRu::Lapack.csytrs2( uplo, a, ipiv, b, [:usage => usage, :help => help])
2129
+
2130
+
2131
+ FORTRAN MANUAL
2132
+ SUBROUTINE CSYTRS2( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO )
2133
+
2134
+ * Purpose
2135
+ * =======
2136
+ *
2137
+ * CSYTRS2 solves a system of linear equations A*X = B with a COMPLEX
2138
+ * symmetric matrix A using the factorization A = U*D*U**T or
2139
+ * A = L*D*L**T computed by CSYTRF and converted by CSYCONV.
2140
+ *
2141
+
2142
+ * Arguments
2143
+ * =========
2144
+ *
2145
+ * UPLO (input) CHARACTER*1
2146
+ * Specifies whether the details of the factorization are stored
2147
+ * as an upper or lower triangular matrix.
2148
+ * = 'U': Upper triangular, form is A = U*D*U**T;
2149
+ * = 'L': Lower triangular, form is A = L*D*L**T.
2150
+ *
2151
+ * N (input) INTEGER
2152
+ * The order of the matrix A. N >= 0.
2153
+ *
2154
+ * NRHS (input) INTEGER
2155
+ * The number of right hand sides, i.e., the number of columns
2156
+ * of the matrix B. NRHS >= 0.
2157
+ *
2158
+ * A (input) COMPLEX array, dimension (LDA,N)
2159
+ * The block diagonal matrix D and the multipliers used to
2160
+ * obtain the factor U or L as computed by CSYTRF.
2161
+ *
2162
+ * LDA (input) INTEGER
2163
+ * The leading dimension of the array A. LDA >= max(1,N).
2164
+ *
2165
+ * IPIV (input) INTEGER array, dimension (N)
2166
+ * Details of the interchanges and the block structure of D
2167
+ * as determined by CSYTRF.
2168
+ *
2169
+ * B (input/output) COMPLEX array, dimension (LDB,NRHS)
2170
+ * On entry, the right hand side matrix B.
2171
+ * On exit, the solution matrix X.
2172
+ *
2173
+ * LDB (input) INTEGER
2174
+ * The leading dimension of the array B. LDB >= max(1,N).
2175
+ *
2176
+ * WORK (workspace) COMPLEX array, dimension (N)
2177
+ *
2178
+ * INFO (output) INTEGER
2179
+ * = 0: successful exit
2180
+ * < 0: if INFO = -i, the i-th argument had an illegal value
2181
+ *
2182
+
2183
+ * =====================================================================
2184
+ *
2185
+
2186
+
2187
+ </PRE>
2188
+ <A HREF="#top">go to the page top</A>
2189
+
2190
+ <HR />
2191
+ <A HREF="c.html">back to matrix types</A><BR>
2192
+ <A HREF="c.html">back to data types</A>
2193
+ </BODY>
2194
+ </HTML>