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/ddi.html ADDED
@@ -0,0 +1,87 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>DOUBLE PRECISION routines for diagonal matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>DOUBLE PRECISION routines for diagonal matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#ddisna">ddisna</A></LI>
10
+ </UL>
11
+
12
+ <A NAME="ddisna"></A>
13
+ <H2>ddisna</H2>
14
+ <PRE>
15
+ USAGE:
16
+ sep, info = NumRu::Lapack.ddisna( job, n, d, [:usage => usage, :help => help])
17
+
18
+
19
+ FORTRAN MANUAL
20
+ SUBROUTINE DDISNA( JOB, M, N, D, SEP, INFO )
21
+
22
+ * Purpose
23
+ * =======
24
+ *
25
+ * DDISNA computes the reciprocal condition numbers for the eigenvectors
26
+ * of a real symmetric or complex Hermitian matrix or for the left or
27
+ * right singular vectors of a general m-by-n matrix. The reciprocal
28
+ * condition number is the 'gap' between the corresponding eigenvalue or
29
+ * singular value and the nearest other one.
30
+ *
31
+ * The bound on the error, measured by angle in radians, in the I-th
32
+ * computed vector is given by
33
+ *
34
+ * DLAMCH( 'E' ) * ( ANORM / SEP( I ) )
35
+ *
36
+ * where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed
37
+ * to be smaller than DLAMCH( 'E' )*ANORM in order to limit the size of
38
+ * the error bound.
39
+ *
40
+ * DDISNA may also be used to compute error bounds for eigenvectors of
41
+ * the generalized symmetric definite eigenproblem.
42
+ *
43
+
44
+ * Arguments
45
+ * =========
46
+ *
47
+ * JOB (input) CHARACTER*1
48
+ * Specifies for which problem the reciprocal condition numbers
49
+ * should be computed:
50
+ * = 'E': the eigenvectors of a symmetric/Hermitian matrix;
51
+ * = 'L': the left singular vectors of a general matrix;
52
+ * = 'R': the right singular vectors of a general matrix.
53
+ *
54
+ * M (input) INTEGER
55
+ * The number of rows of the matrix. M >= 0.
56
+ *
57
+ * N (input) INTEGER
58
+ * If JOB = 'L' or 'R', the number of columns of the matrix,
59
+ * in which case N >= 0. Ignored if JOB = 'E'.
60
+ *
61
+ * D (input) DOUBLE PRECISION array, dimension (M) if JOB = 'E'
62
+ * dimension (min(M,N)) if JOB = 'L' or 'R'
63
+ * The eigenvalues (if JOB = 'E') or singular values (if JOB =
64
+ * 'L' or 'R') of the matrix, in either increasing or decreasing
65
+ * order. If singular values, they must be non-negative.
66
+ *
67
+ * SEP (output) DOUBLE PRECISION array, dimension (M) if JOB = 'E'
68
+ * dimension (min(M,N)) if JOB = 'L' or 'R'
69
+ * The reciprocal condition numbers of the vectors.
70
+ *
71
+ * INFO (output) INTEGER
72
+ * = 0: successful exit.
73
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
74
+ *
75
+
76
+ * =====================================================================
77
+ *
78
+
79
+
80
+ </PRE>
81
+ <A HREF="#top">go to the page top</A>
82
+
83
+ <HR />
84
+ <A HREF="d.html">back to matrix types</A><BR>
85
+ <A HREF="d.html">back to data types</A>
86
+ </BODY>
87
+ </HTML>
data/doc/dgb.html ADDED
@@ -0,0 +1,1857 @@
1
+ <HTML>
2
+ <HEAD>
3
+ <TITLE>DOUBLE PRECISION routines for general band matrix</TITLE>
4
+ </HEAD>
5
+ <BODY>
6
+ <A NAME="top"></A>
7
+ <H1>DOUBLE PRECISION routines for general band matrix</H1>
8
+ <UL>
9
+ <LI><A HREF="#dgbbrd">dgbbrd</A></LI>
10
+ <LI><A HREF="#dgbcon">dgbcon</A></LI>
11
+ <LI><A HREF="#dgbequ">dgbequ</A></LI>
12
+ <LI><A HREF="#dgbequb">dgbequb</A></LI>
13
+ <LI><A HREF="#dgbrfs">dgbrfs</A></LI>
14
+ <LI><A HREF="#dgbrfsx">dgbrfsx</A></LI>
15
+ <LI><A HREF="#dgbsv">dgbsv</A></LI>
16
+ <LI><A HREF="#dgbsvx">dgbsvx</A></LI>
17
+ <LI><A HREF="#dgbsvxx">dgbsvxx</A></LI>
18
+ <LI><A HREF="#dgbtf2">dgbtf2</A></LI>
19
+ <LI><A HREF="#dgbtrf">dgbtrf</A></LI>
20
+ <LI><A HREF="#dgbtrs">dgbtrs</A></LI>
21
+ </UL>
22
+
23
+ <A NAME="dgbbrd"></A>
24
+ <H2>dgbbrd</H2>
25
+ <PRE>
26
+ USAGE:
27
+ d, e, q, pt, info, ab, c = NumRu::Lapack.dgbbrd( vect, kl, ku, ab, c, [:usage => usage, :help => help])
28
+
29
+
30
+ FORTRAN MANUAL
31
+ SUBROUTINE DGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, LDQ, PT, LDPT, C, LDC, WORK, INFO )
32
+
33
+ * Purpose
34
+ * =======
35
+ *
36
+ * DGBBRD reduces a real general m-by-n band matrix A to upper
37
+ * bidiagonal form B by an orthogonal transformation: Q' * A * P = B.
38
+ *
39
+ * The routine computes B, and optionally forms Q or P', or computes
40
+ * Q'*C for a given matrix C.
41
+ *
42
+
43
+ * Arguments
44
+ * =========
45
+ *
46
+ * VECT (input) CHARACTER*1
47
+ * Specifies whether or not the matrices Q and P' are to be
48
+ * formed.
49
+ * = 'N': do not form Q or P';
50
+ * = 'Q': form Q only;
51
+ * = 'P': form P' only;
52
+ * = 'B': form both.
53
+ *
54
+ * M (input) INTEGER
55
+ * The number of rows of the matrix A. M >= 0.
56
+ *
57
+ * N (input) INTEGER
58
+ * The number of columns of the matrix A. N >= 0.
59
+ *
60
+ * NCC (input) INTEGER
61
+ * The number of columns of the matrix C. NCC >= 0.
62
+ *
63
+ * KL (input) INTEGER
64
+ * The number of subdiagonals of the matrix A. KL >= 0.
65
+ *
66
+ * KU (input) INTEGER
67
+ * The number of superdiagonals of the matrix A. KU >= 0.
68
+ *
69
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
70
+ * On entry, the m-by-n band matrix A, stored in rows 1 to
71
+ * KL+KU+1. The j-th column of A is stored in the j-th column of
72
+ * the array AB as follows:
73
+ * AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
74
+ * On exit, A is overwritten by values generated during the
75
+ * reduction.
76
+ *
77
+ * LDAB (input) INTEGER
78
+ * The leading dimension of the array A. LDAB >= KL+KU+1.
79
+ *
80
+ * D (output) DOUBLE PRECISION array, dimension (min(M,N))
81
+ * The diagonal elements of the bidiagonal matrix B.
82
+ *
83
+ * E (output) DOUBLE PRECISION array, dimension (min(M,N)-1)
84
+ * The superdiagonal elements of the bidiagonal matrix B.
85
+ *
86
+ * Q (output) DOUBLE PRECISION array, dimension (LDQ,M)
87
+ * If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.
88
+ * If VECT = 'N' or 'P', the array Q is not referenced.
89
+ *
90
+ * LDQ (input) INTEGER
91
+ * The leading dimension of the array Q.
92
+ * LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
93
+ *
94
+ * PT (output) DOUBLE PRECISION array, dimension (LDPT,N)
95
+ * If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.
96
+ * If VECT = 'N' or 'Q', the array PT is not referenced.
97
+ *
98
+ * LDPT (input) INTEGER
99
+ * The leading dimension of the array PT.
100
+ * LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
101
+ *
102
+ * C (input/output) DOUBLE PRECISION array, dimension (LDC,NCC)
103
+ * On entry, an m-by-ncc matrix C.
104
+ * On exit, C is overwritten by Q'*C.
105
+ * C is not referenced if NCC = 0.
106
+ *
107
+ * LDC (input) INTEGER
108
+ * The leading dimension of the array C.
109
+ * LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
110
+ *
111
+ * WORK (workspace) DOUBLE PRECISION array, dimension (2*max(M,N))
112
+ *
113
+ * INFO (output) INTEGER
114
+ * = 0: successful exit.
115
+ * < 0: if INFO = -i, the i-th argument had an illegal value.
116
+ *
117
+
118
+ * =====================================================================
119
+ *
120
+
121
+
122
+ </PRE>
123
+ <A HREF="#top">go to the page top</A>
124
+
125
+ <A NAME="dgbcon"></A>
126
+ <H2>dgbcon</H2>
127
+ <PRE>
128
+ USAGE:
129
+ rcond, info = NumRu::Lapack.dgbcon( norm, kl, ku, ab, ipiv, anorm, [:usage => usage, :help => help])
130
+
131
+
132
+ FORTRAN MANUAL
133
+ SUBROUTINE DGBCON( NORM, N, KL, KU, AB, LDAB, IPIV, ANORM, RCOND, WORK, IWORK, INFO )
134
+
135
+ * Purpose
136
+ * =======
137
+ *
138
+ * DGBCON estimates the reciprocal of the condition number of a real
139
+ * general band matrix A, in either the 1-norm or the infinity-norm,
140
+ * using the LU factorization computed by DGBTRF.
141
+ *
142
+ * An estimate is obtained for norm(inv(A)), and the reciprocal of the
143
+ * condition number is computed as
144
+ * RCOND = 1 / ( norm(A) * norm(inv(A)) ).
145
+ *
146
+
147
+ * Arguments
148
+ * =========
149
+ *
150
+ * NORM (input) CHARACTER*1
151
+ * Specifies whether the 1-norm condition number or the
152
+ * infinity-norm condition number is required:
153
+ * = '1' or 'O': 1-norm;
154
+ * = 'I': Infinity-norm.
155
+ *
156
+ * N (input) INTEGER
157
+ * The order of the matrix A. N >= 0.
158
+ *
159
+ * KL (input) INTEGER
160
+ * The number of subdiagonals within the band of A. KL >= 0.
161
+ *
162
+ * KU (input) INTEGER
163
+ * The number of superdiagonals within the band of A. KU >= 0.
164
+ *
165
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
166
+ * Details of the LU factorization of the band matrix A, as
167
+ * computed by DGBTRF. U is stored as an upper triangular band
168
+ * matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
169
+ * the multipliers used during the factorization are stored in
170
+ * rows KL+KU+2 to 2*KL+KU+1.
171
+ *
172
+ * LDAB (input) INTEGER
173
+ * The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
174
+ *
175
+ * IPIV (input) INTEGER array, dimension (N)
176
+ * The pivot indices; for 1 <= i <= N, row i of the matrix was
177
+ * interchanged with row IPIV(i).
178
+ *
179
+ * ANORM (input) DOUBLE PRECISION
180
+ * If NORM = '1' or 'O', the 1-norm of the original matrix A.
181
+ * If NORM = 'I', the infinity-norm of the original matrix A.
182
+ *
183
+ * RCOND (output) DOUBLE PRECISION
184
+ * The reciprocal of the condition number of the matrix A,
185
+ * computed as RCOND = 1/(norm(A) * norm(inv(A))).
186
+ *
187
+ * WORK (workspace) DOUBLE PRECISION array, dimension (3*N)
188
+ *
189
+ * IWORK (workspace) INTEGER array, dimension (N)
190
+ *
191
+ * INFO (output) INTEGER
192
+ * = 0: successful exit
193
+ * < 0: if INFO = -i, the i-th argument had an illegal value
194
+ *
195
+
196
+ * =====================================================================
197
+ *
198
+
199
+
200
+ </PRE>
201
+ <A HREF="#top">go to the page top</A>
202
+
203
+ <A NAME="dgbequ"></A>
204
+ <H2>dgbequ</H2>
205
+ <PRE>
206
+ USAGE:
207
+ r, c, rowcnd, colcnd, amax, info = NumRu::Lapack.dgbequ( m, kl, ku, ab, [:usage => usage, :help => help])
208
+
209
+
210
+ FORTRAN MANUAL
211
+ SUBROUTINE DGBEQU( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO )
212
+
213
+ * Purpose
214
+ * =======
215
+ *
216
+ * DGBEQU computes row and column scalings intended to equilibrate an
217
+ * M-by-N band matrix A and reduce its condition number. R returns the
218
+ * row scale factors and C the column scale factors, chosen to try to
219
+ * make the largest element in each row and column of the matrix B with
220
+ * elements B(i,j)=R(i)*A(i,j)*C(j) have absolute value 1.
221
+ *
222
+ * R(i) and C(j) are restricted to be between SMLNUM = smallest safe
223
+ * number and BIGNUM = largest safe number. Use of these scaling
224
+ * factors is not guaranteed to reduce the condition number of A but
225
+ * works well in practice.
226
+ *
227
+
228
+ * Arguments
229
+ * =========
230
+ *
231
+ * M (input) INTEGER
232
+ * The number of rows of the matrix A. M >= 0.
233
+ *
234
+ * N (input) INTEGER
235
+ * The number of columns of the matrix A. N >= 0.
236
+ *
237
+ * KL (input) INTEGER
238
+ * The number of subdiagonals within the band of A. KL >= 0.
239
+ *
240
+ * KU (input) INTEGER
241
+ * The number of superdiagonals within the band of A. KU >= 0.
242
+ *
243
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
244
+ * The band matrix A, stored in rows 1 to KL+KU+1. The j-th
245
+ * column of A is stored in the j-th column of the array AB as
246
+ * follows:
247
+ * AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
248
+ *
249
+ * LDAB (input) INTEGER
250
+ * The leading dimension of the array AB. LDAB >= KL+KU+1.
251
+ *
252
+ * R (output) DOUBLE PRECISION array, dimension (M)
253
+ * If INFO = 0, or INFO > M, R contains the row scale factors
254
+ * for A.
255
+ *
256
+ * C (output) DOUBLE PRECISION array, dimension (N)
257
+ * If INFO = 0, C contains the column scale factors for A.
258
+ *
259
+ * ROWCND (output) DOUBLE PRECISION
260
+ * If INFO = 0 or INFO > M, ROWCND contains the ratio of the
261
+ * smallest R(i) to the largest R(i). If ROWCND >= 0.1 and
262
+ * AMAX is neither too large nor too small, it is not worth
263
+ * scaling by R.
264
+ *
265
+ * COLCND (output) DOUBLE PRECISION
266
+ * If INFO = 0, COLCND contains the ratio of the smallest
267
+ * C(i) to the largest C(i). If COLCND >= 0.1, it is not
268
+ * worth scaling by C.
269
+ *
270
+ * AMAX (output) DOUBLE PRECISION
271
+ * Absolute value of largest matrix element. If AMAX is very
272
+ * close to overflow or very close to underflow, the matrix
273
+ * should be scaled.
274
+ *
275
+ * INFO (output) INTEGER
276
+ * = 0: successful exit
277
+ * < 0: if INFO = -i, the i-th argument had an illegal value
278
+ * > 0: if INFO = i, and i is
279
+ * <= M: the i-th row of A is exactly zero
280
+ * > M: the (i-M)-th column of A is exactly zero
281
+ *
282
+
283
+ * =====================================================================
284
+ *
285
+
286
+
287
+ </PRE>
288
+ <A HREF="#top">go to the page top</A>
289
+
290
+ <A NAME="dgbequb"></A>
291
+ <H2>dgbequb</H2>
292
+ <PRE>
293
+ USAGE:
294
+ r, c, rowcnd, colcnd, amax, info = NumRu::Lapack.dgbequb( kl, ku, ab, [:usage => usage, :help => help])
295
+
296
+
297
+ FORTRAN MANUAL
298
+ SUBROUTINE DGBEQUB( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO )
299
+
300
+ * Purpose
301
+ * =======
302
+ *
303
+ * DGBEQUB computes row and column scalings intended to equilibrate an
304
+ * M-by-N matrix A and reduce its condition number. R returns the row
305
+ * scale factors and C the column scale factors, chosen to try to make
306
+ * the largest element in each row and column of the matrix B with
307
+ * elements B(i,j)=R(i)*A(i,j)*C(j) have an absolute value of at most
308
+ * the radix.
309
+ *
310
+ * R(i) and C(j) are restricted to be a power of the radix between
311
+ * SMLNUM = smallest safe number and BIGNUM = largest safe number. Use
312
+ * of these scaling factors is not guaranteed to reduce the condition
313
+ * number of A but works well in practice.
314
+ *
315
+ * This routine differs from DGEEQU by restricting the scaling factors
316
+ * to a power of the radix. Baring over- and underflow, scaling by
317
+ * these factors introduces no additional rounding errors. However, the
318
+ * scaled entries' magnitured are no longer approximately 1 but lie
319
+ * between sqrt(radix) and 1/sqrt(radix).
320
+ *
321
+
322
+ * Arguments
323
+ * =========
324
+ *
325
+ * M (input) INTEGER
326
+ * The number of rows of the matrix A. M >= 0.
327
+ *
328
+ * N (input) INTEGER
329
+ * The number of columns of the matrix A. N >= 0.
330
+ *
331
+ * KL (input) INTEGER
332
+ * The number of subdiagonals within the band of A. KL >= 0.
333
+ *
334
+ * KU (input) INTEGER
335
+ * The number of superdiagonals within the band of A. KU >= 0.
336
+ *
337
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
338
+ * On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
339
+ * The j-th column of A is stored in the j-th column of the
340
+ * array AB as follows:
341
+ * AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)
342
+ *
343
+ * LDAB (input) INTEGER
344
+ * The leading dimension of the array A. LDAB >= max(1,M).
345
+ *
346
+ * R (output) DOUBLE PRECISION array, dimension (M)
347
+ * If INFO = 0 or INFO > M, R contains the row scale factors
348
+ * for A.
349
+ *
350
+ * C (output) DOUBLE PRECISION array, dimension (N)
351
+ * If INFO = 0, C contains the column scale factors for A.
352
+ *
353
+ * ROWCND (output) DOUBLE PRECISION
354
+ * If INFO = 0 or INFO > M, ROWCND contains the ratio of the
355
+ * smallest R(i) to the largest R(i). If ROWCND >= 0.1 and
356
+ * AMAX is neither too large nor too small, it is not worth
357
+ * scaling by R.
358
+ *
359
+ * COLCND (output) DOUBLE PRECISION
360
+ * If INFO = 0, COLCND contains the ratio of the smallest
361
+ * C(i) to the largest C(i). If COLCND >= 0.1, it is not
362
+ * worth scaling by C.
363
+ *
364
+ * AMAX (output) DOUBLE PRECISION
365
+ * Absolute value of largest matrix element. If AMAX is very
366
+ * close to overflow or very close to underflow, the matrix
367
+ * should be scaled.
368
+ *
369
+ * INFO (output) INTEGER
370
+ * = 0: successful exit
371
+ * < 0: if INFO = -i, the i-th argument had an illegal value
372
+ * > 0: if INFO = i, and i is
373
+ * <= M: the i-th row of A is exactly zero
374
+ * > M: the (i-M)-th column of A is exactly zero
375
+ *
376
+
377
+ * =====================================================================
378
+ *
379
+
380
+
381
+ </PRE>
382
+ <A HREF="#top">go to the page top</A>
383
+
384
+ <A NAME="dgbrfs"></A>
385
+ <H2>dgbrfs</H2>
386
+ <PRE>
387
+ USAGE:
388
+ ferr, berr, info, x = NumRu::Lapack.dgbrfs( trans, kl, ku, ab, afb, ipiv, b, x, [:usage => usage, :help => help])
389
+
390
+
391
+ FORTRAN MANUAL
392
+ SUBROUTINE DGBRFS( TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO )
393
+
394
+ * Purpose
395
+ * =======
396
+ *
397
+ * DGBRFS improves the computed solution to a system of linear
398
+ * equations when the coefficient matrix is banded, and provides
399
+ * error bounds and backward error estimates for the solution.
400
+ *
401
+
402
+ * Arguments
403
+ * =========
404
+ *
405
+ * TRANS (input) CHARACTER*1
406
+ * Specifies the form of the system of equations:
407
+ * = 'N': A * X = B (No transpose)
408
+ * = 'T': A**T * X = B (Transpose)
409
+ * = 'C': A**H * X = B (Conjugate transpose = Transpose)
410
+ *
411
+ * N (input) INTEGER
412
+ * The order of the matrix A. N >= 0.
413
+ *
414
+ * KL (input) INTEGER
415
+ * The number of subdiagonals within the band of A. KL >= 0.
416
+ *
417
+ * KU (input) INTEGER
418
+ * The number of superdiagonals within the band of A. KU >= 0.
419
+ *
420
+ * NRHS (input) INTEGER
421
+ * The number of right hand sides, i.e., the number of columns
422
+ * of the matrices B and X. NRHS >= 0.
423
+ *
424
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
425
+ * The original band matrix A, stored in rows 1 to KL+KU+1.
426
+ * The j-th column of A is stored in the j-th column of the
427
+ * array AB as follows:
428
+ * AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
429
+ *
430
+ * LDAB (input) INTEGER
431
+ * The leading dimension of the array AB. LDAB >= KL+KU+1.
432
+ *
433
+ * AFB (input) DOUBLE PRECISION array, dimension (LDAFB,N)
434
+ * Details of the LU factorization of the band matrix A, as
435
+ * computed by DGBTRF. U is stored as an upper triangular band
436
+ * matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
437
+ * the multipliers used during the factorization are stored in
438
+ * rows KL+KU+2 to 2*KL+KU+1.
439
+ *
440
+ * LDAFB (input) INTEGER
441
+ * The leading dimension of the array AFB. LDAFB >= 2*KL*KU+1.
442
+ *
443
+ * IPIV (input) INTEGER array, dimension (N)
444
+ * The pivot indices from DGBTRF; for 1<=i<=N, row i of the
445
+ * matrix was interchanged with row IPIV(i).
446
+ *
447
+ * B (input) DOUBLE PRECISION array, dimension (LDB,NRHS)
448
+ * The right hand side matrix B.
449
+ *
450
+ * LDB (input) INTEGER
451
+ * The leading dimension of the array B. LDB >= max(1,N).
452
+ *
453
+ * X (input/output) DOUBLE PRECISION array, dimension (LDX,NRHS)
454
+ * On entry, the solution matrix X, as computed by DGBTRS.
455
+ * On exit, the improved solution matrix X.
456
+ *
457
+ * LDX (input) INTEGER
458
+ * The leading dimension of the array X. LDX >= max(1,N).
459
+ *
460
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
461
+ * The estimated forward error bound for each solution vector
462
+ * X(j) (the j-th column of the solution matrix X).
463
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
464
+ * is an estimated upper bound for the magnitude of the largest
465
+ * element in (X(j) - XTRUE) divided by the magnitude of the
466
+ * largest element in X(j). The estimate is as reliable as
467
+ * the estimate for RCOND, and is almost always a slight
468
+ * overestimate of the true error.
469
+ *
470
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
471
+ * The componentwise relative backward error of each solution
472
+ * vector X(j) (i.e., the smallest relative change in
473
+ * any element of A or B that makes X(j) an exact solution).
474
+ *
475
+ * WORK (workspace) DOUBLE PRECISION array, dimension (3*N)
476
+ *
477
+ * IWORK (workspace) INTEGER array, dimension (N)
478
+ *
479
+ * INFO (output) INTEGER
480
+ * = 0: successful exit
481
+ * < 0: if INFO = -i, the i-th argument had an illegal value
482
+ *
483
+ * Internal Parameters
484
+ * ===================
485
+ *
486
+ * ITMAX is the maximum number of steps of iterative refinement.
487
+ *
488
+
489
+ * =====================================================================
490
+ *
491
+
492
+
493
+ </PRE>
494
+ <A HREF="#top">go to the page top</A>
495
+
496
+ <A NAME="dgbrfsx"></A>
497
+ <H2>dgbrfsx</H2>
498
+ <PRE>
499
+ USAGE:
500
+ rcond, berr, err_bnds_norm, err_bnds_comp, info, r, c, x, params = NumRu::Lapack.dgbrfsx( trans, equed, kl, ku, ab, afb, ipiv, r, c, b, x, params, [:usage => usage, :help => help])
501
+
502
+
503
+ FORTRAN MANUAL
504
+ SUBROUTINE DGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, R, C, B, LDB, X, LDX, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, IWORK, INFO )
505
+
506
+ * Purpose
507
+ * =======
508
+ *
509
+ * DGBRFSX improves the computed solution to a system of linear
510
+ * equations and provides error bounds and backward error estimates
511
+ * for the solution. In addition to normwise error bound, the code
512
+ * provides maximum componentwise error bound if possible. See
513
+ * comments for ERR_BNDS_NORM and ERR_BNDS_COMP for details of the
514
+ * error bounds.
515
+ *
516
+ * The original system of linear equations may have been equilibrated
517
+ * before calling this routine, as described by arguments EQUED, R
518
+ * and C below. In this case, the solution and error bounds returned
519
+ * are for the original unequilibrated system.
520
+ *
521
+
522
+ * Arguments
523
+ * =========
524
+ *
525
+ * Some optional parameters are bundled in the PARAMS array. These
526
+ * settings determine how refinement is performed, but often the
527
+ * defaults are acceptable. If the defaults are acceptable, users
528
+ * can pass NPARAMS = 0 which prevents the source code from accessing
529
+ * the PARAMS argument.
530
+ *
531
+ * TRANS (input) CHARACTER*1
532
+ * Specifies the form of the system of equations:
533
+ * = 'N': A * X = B (No transpose)
534
+ * = 'T': A**T * X = B (Transpose)
535
+ * = 'C': A**H * X = B (Conjugate transpose = Transpose)
536
+ *
537
+ * EQUED (input) CHARACTER*1
538
+ * Specifies the form of equilibration that was done to A
539
+ * before calling this routine. This is needed to compute
540
+ * the solution and error bounds correctly.
541
+ * = 'N': No equilibration
542
+ * = 'R': Row equilibration, i.e., A has been premultiplied by
543
+ * diag(R).
544
+ * = 'C': Column equilibration, i.e., A has been postmultiplied
545
+ * by diag(C).
546
+ * = 'B': Both row and column equilibration, i.e., A has been
547
+ * replaced by diag(R) * A * diag(C).
548
+ * The right hand side B has been changed accordingly.
549
+ *
550
+ * N (input) INTEGER
551
+ * The order of the matrix A. N >= 0.
552
+ *
553
+ * KL (input) INTEGER
554
+ * The number of subdiagonals within the band of A. KL >= 0.
555
+ *
556
+ * KU (input) INTEGER
557
+ * The number of superdiagonals within the band of A. KU >= 0.
558
+ *
559
+ * NRHS (input) INTEGER
560
+ * The number of right hand sides, i.e., the number of columns
561
+ * of the matrices B and X. NRHS >= 0.
562
+ *
563
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
564
+ * The original band matrix A, stored in rows 1 to KL+KU+1.
565
+ * The j-th column of A is stored in the j-th column of the
566
+ * array AB as follows:
567
+ * AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
568
+ *
569
+ * LDAB (input) INTEGER
570
+ * The leading dimension of the array AB. LDAB >= KL+KU+1.
571
+ *
572
+ * AFB (input) DOUBLE PRECISION array, dimension (LDAFB,N)
573
+ * Details of the LU factorization of the band matrix A, as
574
+ * computed by DGBTRF. U is stored as an upper triangular band
575
+ * matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
576
+ * the multipliers used during the factorization are stored in
577
+ * rows KL+KU+2 to 2*KL+KU+1.
578
+ *
579
+ * LDAFB (input) INTEGER
580
+ * The leading dimension of the array AFB. LDAFB >= 2*KL*KU+1.
581
+ *
582
+ * IPIV (input) INTEGER array, dimension (N)
583
+ * The pivot indices from DGETRF; for 1<=i<=N, row i of the
584
+ * matrix was interchanged with row IPIV(i).
585
+ *
586
+ * R (input or output) DOUBLE PRECISION array, dimension (N)
587
+ * The row scale factors for A. If EQUED = 'R' or 'B', A is
588
+ * multiplied on the left by diag(R); if EQUED = 'N' or 'C', R
589
+ * is not accessed. R is an input argument if FACT = 'F';
590
+ * otherwise, R is an output argument. If FACT = 'F' and
591
+ * EQUED = 'R' or 'B', each element of R must be positive.
592
+ * If R is output, each element of R is a power of the radix.
593
+ * If R is input, each element of R should be a power of the radix
594
+ * to ensure a reliable solution and error estimates. Scaling by
595
+ * powers of the radix does not cause rounding errors unless the
596
+ * result underflows or overflows. Rounding errors during scaling
597
+ * lead to refining with a matrix that is not equivalent to the
598
+ * input matrix, producing error estimates that may not be
599
+ * reliable.
600
+ *
601
+ * C (input or output) DOUBLE PRECISION array, dimension (N)
602
+ * The column scale factors for A. If EQUED = 'C' or 'B', A is
603
+ * multiplied on the right by diag(C); if EQUED = 'N' or 'R', C
604
+ * is not accessed. C is an input argument if FACT = 'F';
605
+ * otherwise, C is an output argument. If FACT = 'F' and
606
+ * EQUED = 'C' or 'B', each element of C must be positive.
607
+ * If C is output, each element of C is a power of the radix.
608
+ * If C is input, each element of C should be a power of the radix
609
+ * to ensure a reliable solution and error estimates. Scaling by
610
+ * powers of the radix does not cause rounding errors unless the
611
+ * result underflows or overflows. Rounding errors during scaling
612
+ * lead to refining with a matrix that is not equivalent to the
613
+ * input matrix, producing error estimates that may not be
614
+ * reliable.
615
+ *
616
+ * B (input) DOUBLE PRECISION array, dimension (LDB,NRHS)
617
+ * The right hand side matrix B.
618
+ *
619
+ * LDB (input) INTEGER
620
+ * The leading dimension of the array B. LDB >= max(1,N).
621
+ *
622
+ * X (input/output) DOUBLE PRECISION array, dimension (LDX,NRHS)
623
+ * On entry, the solution matrix X, as computed by DGETRS.
624
+ * On exit, the improved solution matrix X.
625
+ *
626
+ * LDX (input) INTEGER
627
+ * The leading dimension of the array X. LDX >= max(1,N).
628
+ *
629
+ * RCOND (output) DOUBLE PRECISION
630
+ * Reciprocal scaled condition number. This is an estimate of the
631
+ * reciprocal Skeel condition number of the matrix A after
632
+ * equilibration (if done). If this is less than the machine
633
+ * precision (in particular, if it is zero), the matrix is singular
634
+ * to working precision. Note that the error may still be small even
635
+ * if this number is very small and the matrix appears ill-
636
+ * conditioned.
637
+ *
638
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
639
+ * Componentwise relative backward error. This is the
640
+ * componentwise relative backward error of each solution vector X(j)
641
+ * (i.e., the smallest relative change in any element of A or B that
642
+ * makes X(j) an exact solution).
643
+ *
644
+ * N_ERR_BNDS (input) INTEGER
645
+ * Number of error bounds to return for each right hand side
646
+ * and each type (normwise or componentwise). See ERR_BNDS_NORM and
647
+ * ERR_BNDS_COMP below.
648
+ *
649
+ * ERR_BNDS_NORM (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
650
+ * For each right-hand side, this array contains information about
651
+ * various error bounds and condition numbers corresponding to the
652
+ * normwise relative error, which is defined as follows:
653
+ *
654
+ * Normwise relative error in the ith solution vector:
655
+ * max_j (abs(XTRUE(j,i) - X(j,i)))
656
+ * ------------------------------
657
+ * max_j abs(X(j,i))
658
+ *
659
+ * The array is indexed by the type of error information as described
660
+ * below. There currently are up to three pieces of information
661
+ * returned.
662
+ *
663
+ * The first index in ERR_BNDS_NORM(i,:) corresponds to the ith
664
+ * right-hand side.
665
+ *
666
+ * The second index in ERR_BNDS_NORM(:,err) contains the following
667
+ * three fields:
668
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
669
+ * reciprocal condition number is less than the threshold
670
+ * sqrt(n) * dlamch('Epsilon').
671
+ *
672
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
673
+ * almost certainly within a factor of 10 of the true error
674
+ * so long as the next entry is greater than the threshold
675
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
676
+ * be trusted if the previous boolean is true.
677
+ *
678
+ * err = 3 Reciprocal condition number: Estimated normwise
679
+ * reciprocal condition number. Compared with the threshold
680
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
681
+ * estimate is "guaranteed". These reciprocal condition
682
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
683
+ * appropriately scaled matrix Z.
684
+ * Let Z = S*A, where S scales each row by a power of the
685
+ * radix so all absolute row sums of Z are approximately 1.
686
+ *
687
+ * See Lapack Working Note 165 for further details and extra
688
+ * cautions.
689
+ *
690
+ * ERR_BNDS_COMP (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
691
+ * For each right-hand side, this array contains information about
692
+ * various error bounds and condition numbers corresponding to the
693
+ * componentwise relative error, which is defined as follows:
694
+ *
695
+ * Componentwise relative error in the ith solution vector:
696
+ * abs(XTRUE(j,i) - X(j,i))
697
+ * max_j ----------------------
698
+ * abs(X(j,i))
699
+ *
700
+ * The array is indexed by the right-hand side i (on which the
701
+ * componentwise relative error depends), and the type of error
702
+ * information as described below. There currently are up to three
703
+ * pieces of information returned for each right-hand side. If
704
+ * componentwise accuracy is not requested (PARAMS(3) = 0.0), then
705
+ * ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
706
+ * the first (:,N_ERR_BNDS) entries are returned.
707
+ *
708
+ * The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
709
+ * right-hand side.
710
+ *
711
+ * The second index in ERR_BNDS_COMP(:,err) contains the following
712
+ * three fields:
713
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
714
+ * reciprocal condition number is less than the threshold
715
+ * sqrt(n) * dlamch('Epsilon').
716
+ *
717
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
718
+ * almost certainly within a factor of 10 of the true error
719
+ * so long as the next entry is greater than the threshold
720
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
721
+ * be trusted if the previous boolean is true.
722
+ *
723
+ * err = 3 Reciprocal condition number: Estimated componentwise
724
+ * reciprocal condition number. Compared with the threshold
725
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
726
+ * estimate is "guaranteed". These reciprocal condition
727
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
728
+ * appropriately scaled matrix Z.
729
+ * Let Z = S*(A*diag(x)), where x is the solution for the
730
+ * current right-hand side and S scales each row of
731
+ * A*diag(x) by a power of the radix so all absolute row
732
+ * sums of Z are approximately 1.
733
+ *
734
+ * See Lapack Working Note 165 for further details and extra
735
+ * cautions.
736
+ *
737
+ * NPARAMS (input) INTEGER
738
+ * Specifies the number of parameters set in PARAMS. If .LE. 0, the
739
+ * PARAMS array is never referenced and default values are used.
740
+ *
741
+ * PARAMS (input / output) DOUBLE PRECISION array, dimension (NPARAMS)
742
+ * Specifies algorithm parameters. If an entry is .LT. 0.0, then
743
+ * that entry will be filled with default value used for that
744
+ * parameter. Only positions up to NPARAMS are accessed; defaults
745
+ * are used for higher-numbered parameters.
746
+ *
747
+ * PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
748
+ * refinement or not.
749
+ * Default: 1.0D+0
750
+ * = 0.0 : No refinement is performed, and no error bounds are
751
+ * computed.
752
+ * = 1.0 : Use the double-precision refinement algorithm,
753
+ * possibly with doubled-single computations if the
754
+ * compilation environment does not support DOUBLE
755
+ * PRECISION.
756
+ * (other values are reserved for future use)
757
+ *
758
+ * PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
759
+ * computations allowed for refinement.
760
+ * Default: 10
761
+ * Aggressive: Set to 100 to permit convergence using approximate
762
+ * factorizations or factorizations other than LU. If
763
+ * the factorization uses a technique other than
764
+ * Gaussian elimination, the guarantees in
765
+ * err_bnds_norm and err_bnds_comp may no longer be
766
+ * trustworthy.
767
+ *
768
+ * PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code
769
+ * will attempt to find a solution with small componentwise
770
+ * relative error in the double-precision algorithm. Positive
771
+ * is true, 0.0 is false.
772
+ * Default: 1.0 (attempt componentwise convergence)
773
+ *
774
+ * WORK (workspace) DOUBLE PRECISION array, dimension (4*N)
775
+ *
776
+ * IWORK (workspace) INTEGER array, dimension (N)
777
+ *
778
+ * INFO (output) INTEGER
779
+ * = 0: Successful exit. The solution to every right-hand side is
780
+ * guaranteed.
781
+ * < 0: If INFO = -i, the i-th argument had an illegal value
782
+ * > 0 and <= N: U(INFO,INFO) is exactly zero. The factorization
783
+ * has been completed, but the factor U is exactly singular, so
784
+ * the solution and error bounds could not be computed. RCOND = 0
785
+ * is returned.
786
+ * = N+J: The solution corresponding to the Jth right-hand side is
787
+ * not guaranteed. The solutions corresponding to other right-
788
+ * hand sides K with K > J may not be guaranteed as well, but
789
+ * only the first such right-hand side is reported. If a small
790
+ * componentwise error is not requested (PARAMS(3) = 0.0) then
791
+ * the Jth right-hand side is the first with a normwise error
792
+ * bound that is not guaranteed (the smallest J such
793
+ * that ERR_BNDS_NORM(J,1) = 0.0). By default (PARAMS(3) = 1.0)
794
+ * the Jth right-hand side is the first with either a normwise or
795
+ * componentwise error bound that is not guaranteed (the smallest
796
+ * J such that either ERR_BNDS_NORM(J,1) = 0.0 or
797
+ * ERR_BNDS_COMP(J,1) = 0.0). See the definition of
798
+ * ERR_BNDS_NORM(:,1) and ERR_BNDS_COMP(:,1). To get information
799
+ * about all of the right-hand sides check ERR_BNDS_NORM or
800
+ * ERR_BNDS_COMP.
801
+ *
802
+
803
+ * ==================================================================
804
+ *
805
+
806
+
807
+ </PRE>
808
+ <A HREF="#top">go to the page top</A>
809
+
810
+ <A NAME="dgbsv"></A>
811
+ <H2>dgbsv</H2>
812
+ <PRE>
813
+ USAGE:
814
+ ipiv, info, ab, b = NumRu::Lapack.dgbsv( kl, ku, ab, b, [:usage => usage, :help => help])
815
+
816
+
817
+ FORTRAN MANUAL
818
+ SUBROUTINE DGBSV( N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO )
819
+
820
+ * Purpose
821
+ * =======
822
+ *
823
+ * DGBSV computes the solution to a real system of linear equations
824
+ * A * X = B, where A is a band matrix of order N with KL subdiagonals
825
+ * and KU superdiagonals, and X and B are N-by-NRHS matrices.
826
+ *
827
+ * The LU decomposition with partial pivoting and row interchanges is
828
+ * used to factor A as A = L * U, where L is a product of permutation
829
+ * and unit lower triangular matrices with KL subdiagonals, and U is
830
+ * upper triangular with KL+KU superdiagonals. The factored form of A
831
+ * is then used to solve the system of equations A * X = B.
832
+ *
833
+
834
+ * Arguments
835
+ * =========
836
+ *
837
+ * N (input) INTEGER
838
+ * The number of linear equations, i.e., the order of the
839
+ * matrix A. N >= 0.
840
+ *
841
+ * KL (input) INTEGER
842
+ * The number of subdiagonals within the band of A. KL >= 0.
843
+ *
844
+ * KU (input) INTEGER
845
+ * The number of superdiagonals within the band of A. KU >= 0.
846
+ *
847
+ * NRHS (input) INTEGER
848
+ * The number of right hand sides, i.e., the number of columns
849
+ * of the matrix B. NRHS >= 0.
850
+ *
851
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
852
+ * On entry, the matrix A in band storage, in rows KL+1 to
853
+ * 2*KL+KU+1; rows 1 to KL of the array need not be set.
854
+ * The j-th column of A is stored in the j-th column of the
855
+ * array AB as follows:
856
+ * AB(KL+KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+KL)
857
+ * On exit, details of the factorization: U is stored as an
858
+ * upper triangular band matrix with KL+KU superdiagonals in
859
+ * rows 1 to KL+KU+1, and the multipliers used during the
860
+ * factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
861
+ * See below for further details.
862
+ *
863
+ * LDAB (input) INTEGER
864
+ * The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
865
+ *
866
+ * IPIV (output) INTEGER array, dimension (N)
867
+ * The pivot indices that define the permutation matrix P;
868
+ * row i of the matrix was interchanged with row IPIV(i).
869
+ *
870
+ * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
871
+ * On entry, the N-by-NRHS right hand side matrix B.
872
+ * On exit, if INFO = 0, the N-by-NRHS solution matrix X.
873
+ *
874
+ * LDB (input) INTEGER
875
+ * The leading dimension of the array B. LDB >= max(1,N).
876
+ *
877
+ * INFO (output) INTEGER
878
+ * = 0: successful exit
879
+ * < 0: if INFO = -i, the i-th argument had an illegal value
880
+ * > 0: if INFO = i, U(i,i) is exactly zero. The factorization
881
+ * has been completed, but the factor U is exactly
882
+ * singular, and the solution has not been computed.
883
+ *
884
+
885
+ * Further Details
886
+ * ===============
887
+ *
888
+ * The band storage scheme is illustrated by the following example, when
889
+ * M = N = 6, KL = 2, KU = 1:
890
+ *
891
+ * On entry: On exit:
892
+ *
893
+ * * * * + + + * * * u14 u25 u36
894
+ * * * + + + + * * u13 u24 u35 u46
895
+ * * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
896
+ * a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
897
+ * a21 a32 a43 a54 a65 * m21 m32 m43 m54 m65 *
898
+ * a31 a42 a53 a64 * * m31 m42 m53 m64 * *
899
+ *
900
+ * Array elements marked * are not used by the routine; elements marked
901
+ * + need not be set on entry, but are required by the routine to store
902
+ * elements of U because of fill-in resulting from the row interchanges.
903
+ *
904
+ * =====================================================================
905
+ *
906
+ * .. External Subroutines ..
907
+ EXTERNAL DGBTRF, DGBTRS, XERBLA
908
+ * ..
909
+ * .. Intrinsic Functions ..
910
+ INTRINSIC MAX
911
+ * ..
912
+
913
+
914
+ </PRE>
915
+ <A HREF="#top">go to the page top</A>
916
+
917
+ <A NAME="dgbsvx"></A>
918
+ <H2>dgbsvx</H2>
919
+ <PRE>
920
+ USAGE:
921
+ x, rcond, ferr, berr, work, info, ab, afb, ipiv, equed, r, c, b = NumRu::Lapack.dgbsvx( fact, trans, kl, ku, ab, b, [:afb => afb, :ipiv => ipiv, :equed => equed, :r => r, :c => c, :usage => usage, :help => help])
922
+
923
+
924
+ FORTRAN MANUAL
925
+ SUBROUTINE DGBSVX( FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO )
926
+
927
+ * Purpose
928
+ * =======
929
+ *
930
+ * DGBSVX uses the LU factorization to compute the solution to a real
931
+ * system of linear equations A * X = B, A**T * X = B, or A**H * X = B,
932
+ * where A is a band matrix of order N with KL subdiagonals and KU
933
+ * superdiagonals, and X and B are N-by-NRHS matrices.
934
+ *
935
+ * Error bounds on the solution and a condition estimate are also
936
+ * provided.
937
+ *
938
+ * Description
939
+ * ===========
940
+ *
941
+ * The following steps are performed by this subroutine:
942
+ *
943
+ * 1. If FACT = 'E', real scaling factors are computed to equilibrate
944
+ * the system:
945
+ * TRANS = 'N': diag(R)*A*diag(C) *inv(diag(C))*X = diag(R)*B
946
+ * TRANS = 'T': (diag(R)*A*diag(C))**T *inv(diag(R))*X = diag(C)*B
947
+ * TRANS = 'C': (diag(R)*A*diag(C))**H *inv(diag(R))*X = diag(C)*B
948
+ * Whether or not the system will be equilibrated depends on the
949
+ * scaling of the matrix A, but if equilibration is used, A is
950
+ * overwritten by diag(R)*A*diag(C) and B by diag(R)*B (if TRANS='N')
951
+ * or diag(C)*B (if TRANS = 'T' or 'C').
952
+ *
953
+ * 2. If FACT = 'N' or 'E', the LU decomposition is used to factor the
954
+ * matrix A (after equilibration if FACT = 'E') as
955
+ * A = L * U,
956
+ * where L is a product of permutation and unit lower triangular
957
+ * matrices with KL subdiagonals, and U is upper triangular with
958
+ * KL+KU superdiagonals.
959
+ *
960
+ * 3. If some U(i,i)=0, so that U is exactly singular, then the routine
961
+ * returns with INFO = i. Otherwise, the factored form of A is used
962
+ * to estimate the condition number of the matrix A. If the
963
+ * reciprocal of the condition number is less than machine precision,
964
+ * INFO = N+1 is returned as a warning, but the routine still goes on
965
+ * to solve for X and compute error bounds as described below.
966
+ *
967
+ * 4. The system of equations is solved for X using the factored form
968
+ * of A.
969
+ *
970
+ * 5. Iterative refinement is applied to improve the computed solution
971
+ * matrix and calculate error bounds and backward error estimates
972
+ * for it.
973
+ *
974
+ * 6. If equilibration was used, the matrix X is premultiplied by
975
+ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so
976
+ * that it solves the original system before equilibration.
977
+ *
978
+
979
+ * Arguments
980
+ * =========
981
+ *
982
+ * FACT (input) CHARACTER*1
983
+ * Specifies whether or not the factored form of the matrix A is
984
+ * supplied on entry, and if not, whether the matrix A should be
985
+ * equilibrated before it is factored.
986
+ * = 'F': On entry, AFB and IPIV contain the factored form of
987
+ * A. If EQUED is not 'N', the matrix A has been
988
+ * equilibrated with scaling factors given by R and C.
989
+ * AB, AFB, and IPIV are not modified.
990
+ * = 'N': The matrix A will be copied to AFB and factored.
991
+ * = 'E': The matrix A will be equilibrated if necessary, then
992
+ * copied to AFB and factored.
993
+ *
994
+ * TRANS (input) CHARACTER*1
995
+ * Specifies the form of the system of equations.
996
+ * = 'N': A * X = B (No transpose)
997
+ * = 'T': A**T * X = B (Transpose)
998
+ * = 'C': A**H * X = B (Transpose)
999
+ *
1000
+ * N (input) INTEGER
1001
+ * The number of linear equations, i.e., the order of the
1002
+ * matrix A. N >= 0.
1003
+ *
1004
+ * KL (input) INTEGER
1005
+ * The number of subdiagonals within the band of A. KL >= 0.
1006
+ *
1007
+ * KU (input) INTEGER
1008
+ * The number of superdiagonals within the band of A. KU >= 0.
1009
+ *
1010
+ * NRHS (input) INTEGER
1011
+ * The number of right hand sides, i.e., the number of columns
1012
+ * of the matrices B and X. NRHS >= 0.
1013
+ *
1014
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
1015
+ * On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
1016
+ * The j-th column of A is stored in the j-th column of the
1017
+ * array AB as follows:
1018
+ * AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)
1019
+ *
1020
+ * If FACT = 'F' and EQUED is not 'N', then A must have been
1021
+ * equilibrated by the scaling factors in R and/or C. AB is not
1022
+ * modified if FACT = 'F' or 'N', or if FACT = 'E' and
1023
+ * EQUED = 'N' on exit.
1024
+ *
1025
+ * On exit, if EQUED .ne. 'N', A is scaled as follows:
1026
+ * EQUED = 'R': A := diag(R) * A
1027
+ * EQUED = 'C': A := A * diag(C)
1028
+ * EQUED = 'B': A := diag(R) * A * diag(C).
1029
+ *
1030
+ * LDAB (input) INTEGER
1031
+ * The leading dimension of the array AB. LDAB >= KL+KU+1.
1032
+ *
1033
+ * AFB (input or output) DOUBLE PRECISION array, dimension (LDAFB,N)
1034
+ * If FACT = 'F', then AFB is an input argument and on entry
1035
+ * contains details of the LU factorization of the band matrix
1036
+ * A, as computed by DGBTRF. U is stored as an upper triangular
1037
+ * band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1,
1038
+ * and the multipliers used during the factorization are stored
1039
+ * in rows KL+KU+2 to 2*KL+KU+1. If EQUED .ne. 'N', then AFB is
1040
+ * the factored form of the equilibrated matrix A.
1041
+ *
1042
+ * If FACT = 'N', then AFB is an output argument and on exit
1043
+ * returns details of the LU factorization of A.
1044
+ *
1045
+ * If FACT = 'E', then AFB is an output argument and on exit
1046
+ * returns details of the LU factorization of the equilibrated
1047
+ * matrix A (see the description of AB for the form of the
1048
+ * equilibrated matrix).
1049
+ *
1050
+ * LDAFB (input) INTEGER
1051
+ * The leading dimension of the array AFB. LDAFB >= 2*KL+KU+1.
1052
+ *
1053
+ * IPIV (input or output) INTEGER array, dimension (N)
1054
+ * If FACT = 'F', then IPIV is an input argument and on entry
1055
+ * contains the pivot indices from the factorization A = L*U
1056
+ * as computed by DGBTRF; row i of the matrix was interchanged
1057
+ * with row IPIV(i).
1058
+ *
1059
+ * If FACT = 'N', then IPIV is an output argument and on exit
1060
+ * contains the pivot indices from the factorization A = L*U
1061
+ * of the original matrix A.
1062
+ *
1063
+ * If FACT = 'E', then IPIV is an output argument and on exit
1064
+ * contains the pivot indices from the factorization A = L*U
1065
+ * of the equilibrated matrix A.
1066
+ *
1067
+ * EQUED (input or output) CHARACTER*1
1068
+ * Specifies the form of equilibration that was done.
1069
+ * = 'N': No equilibration (always true if FACT = 'N').
1070
+ * = 'R': Row equilibration, i.e., A has been premultiplied by
1071
+ * diag(R).
1072
+ * = 'C': Column equilibration, i.e., A has been postmultiplied
1073
+ * by diag(C).
1074
+ * = 'B': Both row and column equilibration, i.e., A has been
1075
+ * replaced by diag(R) * A * diag(C).
1076
+ * EQUED is an input argument if FACT = 'F'; otherwise, it is an
1077
+ * output argument.
1078
+ *
1079
+ * R (input or output) DOUBLE PRECISION array, dimension (N)
1080
+ * The row scale factors for A. If EQUED = 'R' or 'B', A is
1081
+ * multiplied on the left by diag(R); if EQUED = 'N' or 'C', R
1082
+ * is not accessed. R is an input argument if FACT = 'F';
1083
+ * otherwise, R is an output argument. If FACT = 'F' and
1084
+ * EQUED = 'R' or 'B', each element of R must be positive.
1085
+ *
1086
+ * C (input or output) DOUBLE PRECISION array, dimension (N)
1087
+ * The column scale factors for A. If EQUED = 'C' or 'B', A is
1088
+ * multiplied on the right by diag(C); if EQUED = 'N' or 'R', C
1089
+ * is not accessed. C is an input argument if FACT = 'F';
1090
+ * otherwise, C is an output argument. If FACT = 'F' and
1091
+ * EQUED = 'C' or 'B', each element of C must be positive.
1092
+ *
1093
+ * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
1094
+ * On entry, the right hand side matrix B.
1095
+ * On exit,
1096
+ * if EQUED = 'N', B is not modified;
1097
+ * if TRANS = 'N' and EQUED = 'R' or 'B', B is overwritten by
1098
+ * diag(R)*B;
1099
+ * if TRANS = 'T' or 'C' and EQUED = 'C' or 'B', B is
1100
+ * overwritten by diag(C)*B.
1101
+ *
1102
+ * LDB (input) INTEGER
1103
+ * The leading dimension of the array B. LDB >= max(1,N).
1104
+ *
1105
+ * X (output) DOUBLE PRECISION array, dimension (LDX,NRHS)
1106
+ * If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X
1107
+ * to the original system of equations. Note that A and B are
1108
+ * modified on exit if EQUED .ne. 'N', and the solution to the
1109
+ * equilibrated system is inv(diag(C))*X if TRANS = 'N' and
1110
+ * EQUED = 'C' or 'B', or inv(diag(R))*X if TRANS = 'T' or 'C'
1111
+ * and EQUED = 'R' or 'B'.
1112
+ *
1113
+ * LDX (input) INTEGER
1114
+ * The leading dimension of the array X. LDX >= max(1,N).
1115
+ *
1116
+ * RCOND (output) DOUBLE PRECISION
1117
+ * The estimate of the reciprocal condition number of the matrix
1118
+ * A after equilibration (if done). If RCOND is less than the
1119
+ * machine precision (in particular, if RCOND = 0), the matrix
1120
+ * is singular to working precision. This condition is
1121
+ * indicated by a return code of INFO > 0.
1122
+ *
1123
+ * FERR (output) DOUBLE PRECISION array, dimension (NRHS)
1124
+ * The estimated forward error bound for each solution vector
1125
+ * X(j) (the j-th column of the solution matrix X).
1126
+ * If XTRUE is the true solution corresponding to X(j), FERR(j)
1127
+ * is an estimated upper bound for the magnitude of the largest
1128
+ * element in (X(j) - XTRUE) divided by the magnitude of the
1129
+ * largest element in X(j). The estimate is as reliable as
1130
+ * the estimate for RCOND, and is almost always a slight
1131
+ * overestimate of the true error.
1132
+ *
1133
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1134
+ * The componentwise relative backward error of each solution
1135
+ * vector X(j) (i.e., the smallest relative change in
1136
+ * any element of A or B that makes X(j) an exact solution).
1137
+ *
1138
+ * WORK (workspace/output) DOUBLE PRECISION array, dimension (3*N)
1139
+ * On exit, WORK(1) contains the reciprocal pivot growth
1140
+ * factor norm(A)/norm(U). The "max absolute element" norm is
1141
+ * used. If WORK(1) is much less than 1, then the stability
1142
+ * of the LU factorization of the (equilibrated) matrix A
1143
+ * could be poor. This also means that the solution X, condition
1144
+ * estimator RCOND, and forward error bound FERR could be
1145
+ * unreliable. If factorization fails with 0<INFO<=N, then
1146
+ * WORK(1) contains the reciprocal pivot growth factor for the
1147
+ * leading INFO columns of A.
1148
+ *
1149
+ * IWORK (workspace) INTEGER array, dimension (N)
1150
+ *
1151
+ * INFO (output) INTEGER
1152
+ * = 0: successful exit
1153
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1154
+ * > 0: if INFO = i, and i is
1155
+ * <= N: U(i,i) is exactly zero. The factorization
1156
+ * has been completed, but the factor U is exactly
1157
+ * singular, so the solution and error bounds
1158
+ * could not be computed. RCOND = 0 is returned.
1159
+ * = N+1: U is nonsingular, but RCOND is less than machine
1160
+ * precision, meaning that the matrix is singular
1161
+ * to working precision. Nevertheless, the
1162
+ * solution and error bounds are computed because
1163
+ * there are a number of situations where the
1164
+ * computed solution can be more accurate than the
1165
+ * value of RCOND would suggest.
1166
+ *
1167
+
1168
+ * =====================================================================
1169
+ *
1170
+
1171
+
1172
+ </PRE>
1173
+ <A HREF="#top">go to the page top</A>
1174
+
1175
+ <A NAME="dgbsvxx"></A>
1176
+ <H2>dgbsvxx</H2>
1177
+ <PRE>
1178
+ USAGE:
1179
+ x, rcond, rpvgrw, berr, err_bnds_norm, err_bnds_comp, info, ab, afb, ipiv, equed, r, c, b, params = NumRu::Lapack.dgbsvxx( fact, trans, kl, ku, ab, afb, ipiv, equed, r, c, b, params, [:usage => usage, :help => help])
1180
+
1181
+
1182
+ FORTRAN MANUAL
1183
+ SUBROUTINE DGBSVXX( FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, IWORK, INFO )
1184
+
1185
+ * Purpose
1186
+ * =======
1187
+ *
1188
+ * DGBSVXX uses the LU factorization to compute the solution to a
1189
+ * double precision system of linear equations A * X = B, where A is an
1190
+ * N-by-N matrix and X and B are N-by-NRHS matrices.
1191
+ *
1192
+ * If requested, both normwise and maximum componentwise error bounds
1193
+ * are returned. DGBSVXX will return a solution with a tiny
1194
+ * guaranteed error (O(eps) where eps is the working machine
1195
+ * precision) unless the matrix is very ill-conditioned, in which
1196
+ * case a warning is returned. Relevant condition numbers also are
1197
+ * calculated and returned.
1198
+ *
1199
+ * DGBSVXX accepts user-provided factorizations and equilibration
1200
+ * factors; see the definitions of the FACT and EQUED options.
1201
+ * Solving with refinement and using a factorization from a previous
1202
+ * DGBSVXX call will also produce a solution with either O(eps)
1203
+ * errors or warnings, but we cannot make that claim for general
1204
+ * user-provided factorizations and equilibration factors if they
1205
+ * differ from what DGBSVXX would itself produce.
1206
+ *
1207
+ * Description
1208
+ * ===========
1209
+ *
1210
+ * The following steps are performed:
1211
+ *
1212
+ * 1. If FACT = 'E', double precision scaling factors are computed to equilibrate
1213
+ * the system:
1214
+ *
1215
+ * TRANS = 'N': diag(R)*A*diag(C) *inv(diag(C))*X = diag(R)*B
1216
+ * TRANS = 'T': (diag(R)*A*diag(C))**T *inv(diag(R))*X = diag(C)*B
1217
+ * TRANS = 'C': (diag(R)*A*diag(C))**H *inv(diag(R))*X = diag(C)*B
1218
+ *
1219
+ * Whether or not the system will be equilibrated depends on the
1220
+ * scaling of the matrix A, but if equilibration is used, A is
1221
+ * overwritten by diag(R)*A*diag(C) and B by diag(R)*B (if TRANS='N')
1222
+ * or diag(C)*B (if TRANS = 'T' or 'C').
1223
+ *
1224
+ * 2. If FACT = 'N' or 'E', the LU decomposition is used to factor
1225
+ * the matrix A (after equilibration if FACT = 'E') as
1226
+ *
1227
+ * A = P * L * U,
1228
+ *
1229
+ * where P is a permutation matrix, L is a unit lower triangular
1230
+ * matrix, and U is upper triangular.
1231
+ *
1232
+ * 3. If some U(i,i)=0, so that U is exactly singular, then the
1233
+ * routine returns with INFO = i. Otherwise, the factored form of A
1234
+ * is used to estimate the condition number of the matrix A (see
1235
+ * argument RCOND). If the reciprocal of the condition number is less
1236
+ * than machine precision, the routine still goes on to solve for X
1237
+ * and compute error bounds as described below.
1238
+ *
1239
+ * 4. The system of equations is solved for X using the factored form
1240
+ * of A.
1241
+ *
1242
+ * 5. By default (unless PARAMS(LA_LINRX_ITREF_I) is set to zero),
1243
+ * the routine will use iterative refinement to try to get a small
1244
+ * error and error bounds. Refinement calculates the residual to at
1245
+ * least twice the working precision.
1246
+ *
1247
+ * 6. If equilibration was used, the matrix X is premultiplied by
1248
+ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so
1249
+ * that it solves the original system before equilibration.
1250
+ *
1251
+
1252
+ * Arguments
1253
+ * =========
1254
+ *
1255
+ * Some optional parameters are bundled in the PARAMS array. These
1256
+ * settings determine how refinement is performed, but often the
1257
+ * defaults are acceptable. If the defaults are acceptable, users
1258
+ * can pass NPARAMS = 0 which prevents the source code from accessing
1259
+ * the PARAMS argument.
1260
+ *
1261
+ * FACT (input) CHARACTER*1
1262
+ * Specifies whether or not the factored form of the matrix A is
1263
+ * supplied on entry, and if not, whether the matrix A should be
1264
+ * equilibrated before it is factored.
1265
+ * = 'F': On entry, AF and IPIV contain the factored form of A.
1266
+ * If EQUED is not 'N', the matrix A has been
1267
+ * equilibrated with scaling factors given by R and C.
1268
+ * A, AF, and IPIV are not modified.
1269
+ * = 'N': The matrix A will be copied to AF and factored.
1270
+ * = 'E': The matrix A will be equilibrated if necessary, then
1271
+ * copied to AF and factored.
1272
+ *
1273
+ * TRANS (input) CHARACTER*1
1274
+ * Specifies the form of the system of equations:
1275
+ * = 'N': A * X = B (No transpose)
1276
+ * = 'T': A**T * X = B (Transpose)
1277
+ * = 'C': A**H * X = B (Conjugate Transpose = Transpose)
1278
+ *
1279
+ * N (input) INTEGER
1280
+ * The number of linear equations, i.e., the order of the
1281
+ * matrix A. N >= 0.
1282
+ *
1283
+ * KL (input) INTEGER
1284
+ * The number of subdiagonals within the band of A. KL >= 0.
1285
+ *
1286
+ * KU (input) INTEGER
1287
+ * The number of superdiagonals within the band of A. KU >= 0.
1288
+ *
1289
+ * NRHS (input) INTEGER
1290
+ * The number of right hand sides, i.e., the number of columns
1291
+ * of the matrices B and X. NRHS >= 0.
1292
+ *
1293
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
1294
+ * On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
1295
+ * The j-th column of A is stored in the j-th column of the
1296
+ * array AB as follows:
1297
+ * AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)
1298
+ *
1299
+ * If FACT = 'F' and EQUED is not 'N', then AB must have been
1300
+ * equilibrated by the scaling factors in R and/or C. AB is not
1301
+ * modified if FACT = 'F' or 'N', or if FACT = 'E' and
1302
+ * EQUED = 'N' on exit.
1303
+ *
1304
+ * On exit, if EQUED .ne. 'N', A is scaled as follows:
1305
+ * EQUED = 'R': A := diag(R) * A
1306
+ * EQUED = 'C': A := A * diag(C)
1307
+ * EQUED = 'B': A := diag(R) * A * diag(C).
1308
+ *
1309
+ * LDAB (input) INTEGER
1310
+ * The leading dimension of the array AB. LDAB >= KL+KU+1.
1311
+ *
1312
+ * AFB (input or output) DOUBLE PRECISION array, dimension (LDAFB,N)
1313
+ * If FACT = 'F', then AFB is an input argument and on entry
1314
+ * contains details of the LU factorization of the band matrix
1315
+ * A, as computed by DGBTRF. U is stored as an upper triangular
1316
+ * band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1,
1317
+ * and the multipliers used during the factorization are stored
1318
+ * in rows KL+KU+2 to 2*KL+KU+1. If EQUED .ne. 'N', then AFB is
1319
+ * the factored form of the equilibrated matrix A.
1320
+ *
1321
+ * If FACT = 'N', then AF is an output argument and on exit
1322
+ * returns the factors L and U from the factorization A = P*L*U
1323
+ * of the original matrix A.
1324
+ *
1325
+ * If FACT = 'E', then AF is an output argument and on exit
1326
+ * returns the factors L and U from the factorization A = P*L*U
1327
+ * of the equilibrated matrix A (see the description of A for
1328
+ * the form of the equilibrated matrix).
1329
+ *
1330
+ * LDAFB (input) INTEGER
1331
+ * The leading dimension of the array AFB. LDAFB >= 2*KL+KU+1.
1332
+ *
1333
+ * IPIV (input or output) INTEGER array, dimension (N)
1334
+ * If FACT = 'F', then IPIV is an input argument and on entry
1335
+ * contains the pivot indices from the factorization A = P*L*U
1336
+ * as computed by DGETRF; row i of the matrix was interchanged
1337
+ * with row IPIV(i).
1338
+ *
1339
+ * If FACT = 'N', then IPIV is an output argument and on exit
1340
+ * contains the pivot indices from the factorization A = P*L*U
1341
+ * of the original matrix A.
1342
+ *
1343
+ * If FACT = 'E', then IPIV is an output argument and on exit
1344
+ * contains the pivot indices from the factorization A = P*L*U
1345
+ * of the equilibrated matrix A.
1346
+ *
1347
+ * EQUED (input or output) CHARACTER*1
1348
+ * Specifies the form of equilibration that was done.
1349
+ * = 'N': No equilibration (always true if FACT = 'N').
1350
+ * = 'R': Row equilibration, i.e., A has been premultiplied by
1351
+ * diag(R).
1352
+ * = 'C': Column equilibration, i.e., A has been postmultiplied
1353
+ * by diag(C).
1354
+ * = 'B': Both row and column equilibration, i.e., A has been
1355
+ * replaced by diag(R) * A * diag(C).
1356
+ * EQUED is an input argument if FACT = 'F'; otherwise, it is an
1357
+ * output argument.
1358
+ *
1359
+ * R (input or output) DOUBLE PRECISION array, dimension (N)
1360
+ * The row scale factors for A. If EQUED = 'R' or 'B', A is
1361
+ * multiplied on the left by diag(R); if EQUED = 'N' or 'C', R
1362
+ * is not accessed. R is an input argument if FACT = 'F';
1363
+ * otherwise, R is an output argument. If FACT = 'F' and
1364
+ * EQUED = 'R' or 'B', each element of R must be positive.
1365
+ * If R is output, each element of R is a power of the radix.
1366
+ * If R is input, each element of R should be a power of the radix
1367
+ * to ensure a reliable solution and error estimates. Scaling by
1368
+ * powers of the radix does not cause rounding errors unless the
1369
+ * result underflows or overflows. Rounding errors during scaling
1370
+ * lead to refining with a matrix that is not equivalent to the
1371
+ * input matrix, producing error estimates that may not be
1372
+ * reliable.
1373
+ *
1374
+ * C (input or output) DOUBLE PRECISION array, dimension (N)
1375
+ * The column scale factors for A. If EQUED = 'C' or 'B', A is
1376
+ * multiplied on the right by diag(C); if EQUED = 'N' or 'R', C
1377
+ * is not accessed. C is an input argument if FACT = 'F';
1378
+ * otherwise, C is an output argument. If FACT = 'F' and
1379
+ * EQUED = 'C' or 'B', each element of C must be positive.
1380
+ * If C is output, each element of C is a power of the radix.
1381
+ * If C is input, each element of C should be a power of the radix
1382
+ * to ensure a reliable solution and error estimates. Scaling by
1383
+ * powers of the radix does not cause rounding errors unless the
1384
+ * result underflows or overflows. Rounding errors during scaling
1385
+ * lead to refining with a matrix that is not equivalent to the
1386
+ * input matrix, producing error estimates that may not be
1387
+ * reliable.
1388
+ *
1389
+ * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
1390
+ * On entry, the N-by-NRHS right hand side matrix B.
1391
+ * On exit,
1392
+ * if EQUED = 'N', B is not modified;
1393
+ * if TRANS = 'N' and EQUED = 'R' or 'B', B is overwritten by
1394
+ * diag(R)*B;
1395
+ * if TRANS = 'T' or 'C' and EQUED = 'C' or 'B', B is
1396
+ * overwritten by diag(C)*B.
1397
+ *
1398
+ * LDB (input) INTEGER
1399
+ * The leading dimension of the array B. LDB >= max(1,N).
1400
+ *
1401
+ * X (output) DOUBLE PRECISION array, dimension (LDX,NRHS)
1402
+ * If INFO = 0, the N-by-NRHS solution matrix X to the original
1403
+ * system of equations. Note that A and B are modified on exit
1404
+ * if EQUED .ne. 'N', and the solution to the equilibrated system is
1405
+ * inv(diag(C))*X if TRANS = 'N' and EQUED = 'C' or 'B', or
1406
+ * inv(diag(R))*X if TRANS = 'T' or 'C' and EQUED = 'R' or 'B'.
1407
+ *
1408
+ * LDX (input) INTEGER
1409
+ * The leading dimension of the array X. LDX >= max(1,N).
1410
+ *
1411
+ * RCOND (output) DOUBLE PRECISION
1412
+ * Reciprocal scaled condition number. This is an estimate of the
1413
+ * reciprocal Skeel condition number of the matrix A after
1414
+ * equilibration (if done). If this is less than the machine
1415
+ * precision (in particular, if it is zero), the matrix is singular
1416
+ * to working precision. Note that the error may still be small even
1417
+ * if this number is very small and the matrix appears ill-
1418
+ * conditioned.
1419
+ *
1420
+ * RPVGRW (output) DOUBLE PRECISION
1421
+ * Reciprocal pivot growth. On exit, this contains the reciprocal
1422
+ * pivot growth factor norm(A)/norm(U). The "max absolute element"
1423
+ * norm is used. If this is much less than 1, then the stability of
1424
+ * the LU factorization of the (equilibrated) matrix A could be poor.
1425
+ * This also means that the solution X, estimated condition numbers,
1426
+ * and error bounds could be unreliable. If factorization fails with
1427
+ * 0<INFO<=N, then this contains the reciprocal pivot growth factor
1428
+ * for the leading INFO columns of A. In DGESVX, this quantity is
1429
+ * returned in WORK(1).
1430
+ *
1431
+ * BERR (output) DOUBLE PRECISION array, dimension (NRHS)
1432
+ * Componentwise relative backward error. This is the
1433
+ * componentwise relative backward error of each solution vector X(j)
1434
+ * (i.e., the smallest relative change in any element of A or B that
1435
+ * makes X(j) an exact solution).
1436
+ *
1437
+ * N_ERR_BNDS (input) INTEGER
1438
+ * Number of error bounds to return for each right hand side
1439
+ * and each type (normwise or componentwise). See ERR_BNDS_NORM and
1440
+ * ERR_BNDS_COMP below.
1441
+ *
1442
+ * ERR_BNDS_NORM (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
1443
+ * For each right-hand side, this array contains information about
1444
+ * various error bounds and condition numbers corresponding to the
1445
+ * normwise relative error, which is defined as follows:
1446
+ *
1447
+ * Normwise relative error in the ith solution vector:
1448
+ * max_j (abs(XTRUE(j,i) - X(j,i)))
1449
+ * ------------------------------
1450
+ * max_j abs(X(j,i))
1451
+ *
1452
+ * The array is indexed by the type of error information as described
1453
+ * below. There currently are up to three pieces of information
1454
+ * returned.
1455
+ *
1456
+ * The first index in ERR_BNDS_NORM(i,:) corresponds to the ith
1457
+ * right-hand side.
1458
+ *
1459
+ * The second index in ERR_BNDS_NORM(:,err) contains the following
1460
+ * three fields:
1461
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
1462
+ * reciprocal condition number is less than the threshold
1463
+ * sqrt(n) * dlamch('Epsilon').
1464
+ *
1465
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
1466
+ * almost certainly within a factor of 10 of the true error
1467
+ * so long as the next entry is greater than the threshold
1468
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
1469
+ * be trusted if the previous boolean is true.
1470
+ *
1471
+ * err = 3 Reciprocal condition number: Estimated normwise
1472
+ * reciprocal condition number. Compared with the threshold
1473
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
1474
+ * estimate is "guaranteed". These reciprocal condition
1475
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
1476
+ * appropriately scaled matrix Z.
1477
+ * Let Z = S*A, where S scales each row by a power of the
1478
+ * radix so all absolute row sums of Z are approximately 1.
1479
+ *
1480
+ * See Lapack Working Note 165 for further details and extra
1481
+ * cautions.
1482
+ *
1483
+ * ERR_BNDS_COMP (output) DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
1484
+ * For each right-hand side, this array contains information about
1485
+ * various error bounds and condition numbers corresponding to the
1486
+ * componentwise relative error, which is defined as follows:
1487
+ *
1488
+ * Componentwise relative error in the ith solution vector:
1489
+ * abs(XTRUE(j,i) - X(j,i))
1490
+ * max_j ----------------------
1491
+ * abs(X(j,i))
1492
+ *
1493
+ * The array is indexed by the right-hand side i (on which the
1494
+ * componentwise relative error depends), and the type of error
1495
+ * information as described below. There currently are up to three
1496
+ * pieces of information returned for each right-hand side. If
1497
+ * componentwise accuracy is not requested (PARAMS(3) = 0.0), then
1498
+ * ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
1499
+ * the first (:,N_ERR_BNDS) entries are returned.
1500
+ *
1501
+ * The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
1502
+ * right-hand side.
1503
+ *
1504
+ * The second index in ERR_BNDS_COMP(:,err) contains the following
1505
+ * three fields:
1506
+ * err = 1 "Trust/don't trust" boolean. Trust the answer if the
1507
+ * reciprocal condition number is less than the threshold
1508
+ * sqrt(n) * dlamch('Epsilon').
1509
+ *
1510
+ * err = 2 "Guaranteed" error bound: The estimated forward error,
1511
+ * almost certainly within a factor of 10 of the true error
1512
+ * so long as the next entry is greater than the threshold
1513
+ * sqrt(n) * dlamch('Epsilon'). This error bound should only
1514
+ * be trusted if the previous boolean is true.
1515
+ *
1516
+ * err = 3 Reciprocal condition number: Estimated componentwise
1517
+ * reciprocal condition number. Compared with the threshold
1518
+ * sqrt(n) * dlamch('Epsilon') to determine if the error
1519
+ * estimate is "guaranteed". These reciprocal condition
1520
+ * numbers are 1 / (norm(Z^{-1},inf) * norm(Z,inf)) for some
1521
+ * appropriately scaled matrix Z.
1522
+ * Let Z = S*(A*diag(x)), where x is the solution for the
1523
+ * current right-hand side and S scales each row of
1524
+ * A*diag(x) by a power of the radix so all absolute row
1525
+ * sums of Z are approximately 1.
1526
+ *
1527
+ * See Lapack Working Note 165 for further details and extra
1528
+ * cautions.
1529
+ *
1530
+ * NPARAMS (input) INTEGER
1531
+ * Specifies the number of parameters set in PARAMS. If .LE. 0, the
1532
+ * PARAMS array is never referenced and default values are used.
1533
+ *
1534
+ * PARAMS (input / output) DOUBLE PRECISION array, dimension (NPARAMS)
1535
+ * Specifies algorithm parameters. If an entry is .LT. 0.0, then
1536
+ * that entry will be filled with default value used for that
1537
+ * parameter. Only positions up to NPARAMS are accessed; defaults
1538
+ * are used for higher-numbered parameters.
1539
+ *
1540
+ * PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
1541
+ * refinement or not.
1542
+ * Default: 1.0D+0
1543
+ * = 0.0 : No refinement is performed, and no error bounds are
1544
+ * computed.
1545
+ * = 1.0 : Use the extra-precise refinement algorithm.
1546
+ * (other values are reserved for future use)
1547
+ *
1548
+ * PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
1549
+ * computations allowed for refinement.
1550
+ * Default: 10
1551
+ * Aggressive: Set to 100 to permit convergence using approximate
1552
+ * factorizations or factorizations other than LU. If
1553
+ * the factorization uses a technique other than
1554
+ * Gaussian elimination, the guarantees in
1555
+ * err_bnds_norm and err_bnds_comp may no longer be
1556
+ * trustworthy.
1557
+ *
1558
+ * PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code
1559
+ * will attempt to find a solution with small componentwise
1560
+ * relative error in the double-precision algorithm. Positive
1561
+ * is true, 0.0 is false.
1562
+ * Default: 1.0 (attempt componentwise convergence)
1563
+ *
1564
+ * WORK (workspace) DOUBLE PRECISION array, dimension (4*N)
1565
+ *
1566
+ * IWORK (workspace) INTEGER array, dimension (N)
1567
+ *
1568
+ * INFO (output) INTEGER
1569
+ * = 0: Successful exit. The solution to every right-hand side is
1570
+ * guaranteed.
1571
+ * < 0: If INFO = -i, the i-th argument had an illegal value
1572
+ * > 0 and <= N: U(INFO,INFO) is exactly zero. The factorization
1573
+ * has been completed, but the factor U is exactly singular, so
1574
+ * the solution and error bounds could not be computed. RCOND = 0
1575
+ * is returned.
1576
+ * = N+J: The solution corresponding to the Jth right-hand side is
1577
+ * not guaranteed. The solutions corresponding to other right-
1578
+ * hand sides K with K > J may not be guaranteed as well, but
1579
+ * only the first such right-hand side is reported. If a small
1580
+ * componentwise error is not requested (PARAMS(3) = 0.0) then
1581
+ * the Jth right-hand side is the first with a normwise error
1582
+ * bound that is not guaranteed (the smallest J such
1583
+ * that ERR_BNDS_NORM(J,1) = 0.0). By default (PARAMS(3) = 1.0)
1584
+ * the Jth right-hand side is the first with either a normwise or
1585
+ * componentwise error bound that is not guaranteed (the smallest
1586
+ * J such that either ERR_BNDS_NORM(J,1) = 0.0 or
1587
+ * ERR_BNDS_COMP(J,1) = 0.0). See the definition of
1588
+ * ERR_BNDS_NORM(:,1) and ERR_BNDS_COMP(:,1). To get information
1589
+ * about all of the right-hand sides check ERR_BNDS_NORM or
1590
+ * ERR_BNDS_COMP.
1591
+ *
1592
+
1593
+ * ==================================================================
1594
+ *
1595
+
1596
+
1597
+ </PRE>
1598
+ <A HREF="#top">go to the page top</A>
1599
+
1600
+ <A NAME="dgbtf2"></A>
1601
+ <H2>dgbtf2</H2>
1602
+ <PRE>
1603
+ USAGE:
1604
+ ipiv, info, ab = NumRu::Lapack.dgbtf2( m, kl, ku, ab, [:usage => usage, :help => help])
1605
+
1606
+
1607
+ FORTRAN MANUAL
1608
+ SUBROUTINE DGBTF2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
1609
+
1610
+ * Purpose
1611
+ * =======
1612
+ *
1613
+ * DGBTF2 computes an LU factorization of a real m-by-n band matrix A
1614
+ * using partial pivoting with row interchanges.
1615
+ *
1616
+ * This is the unblocked version of the algorithm, calling Level 2 BLAS.
1617
+ *
1618
+
1619
+ * Arguments
1620
+ * =========
1621
+ *
1622
+ * M (input) INTEGER
1623
+ * The number of rows of the matrix A. M >= 0.
1624
+ *
1625
+ * N (input) INTEGER
1626
+ * The number of columns of the matrix A. N >= 0.
1627
+ *
1628
+ * KL (input) INTEGER
1629
+ * The number of subdiagonals within the band of A. KL >= 0.
1630
+ *
1631
+ * KU (input) INTEGER
1632
+ * The number of superdiagonals within the band of A. KU >= 0.
1633
+ *
1634
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
1635
+ * On entry, the matrix A in band storage, in rows KL+1 to
1636
+ * 2*KL+KU+1; rows 1 to KL of the array need not be set.
1637
+ * The j-th column of A is stored in the j-th column of the
1638
+ * array AB as follows:
1639
+ * AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
1640
+ *
1641
+ * On exit, details of the factorization: U is stored as an
1642
+ * upper triangular band matrix with KL+KU superdiagonals in
1643
+ * rows 1 to KL+KU+1, and the multipliers used during the
1644
+ * factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
1645
+ * See below for further details.
1646
+ *
1647
+ * LDAB (input) INTEGER
1648
+ * The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
1649
+ *
1650
+ * IPIV (output) INTEGER array, dimension (min(M,N))
1651
+ * The pivot indices; for 1 <= i <= min(M,N), row i of the
1652
+ * matrix was interchanged with row IPIV(i).
1653
+ *
1654
+ * INFO (output) INTEGER
1655
+ * = 0: successful exit
1656
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1657
+ * > 0: if INFO = +i, U(i,i) is exactly zero. The factorization
1658
+ * has been completed, but the factor U is exactly
1659
+ * singular, and division by zero will occur if it is used
1660
+ * to solve a system of equations.
1661
+ *
1662
+
1663
+ * Further Details
1664
+ * ===============
1665
+ *
1666
+ * The band storage scheme is illustrated by the following example, when
1667
+ * M = N = 6, KL = 2, KU = 1:
1668
+ *
1669
+ * On entry: On exit:
1670
+ *
1671
+ * * * * + + + * * * u14 u25 u36
1672
+ * * * + + + + * * u13 u24 u35 u46
1673
+ * * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
1674
+ * a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
1675
+ * a21 a32 a43 a54 a65 * m21 m32 m43 m54 m65 *
1676
+ * a31 a42 a53 a64 * * m31 m42 m53 m64 * *
1677
+ *
1678
+ * Array elements marked * are not used by the routine; elements marked
1679
+ * + need not be set on entry, but are required by the routine to store
1680
+ * elements of U, because of fill-in resulting from the row
1681
+ * interchanges.
1682
+ *
1683
+ * =====================================================================
1684
+ *
1685
+
1686
+
1687
+ </PRE>
1688
+ <A HREF="#top">go to the page top</A>
1689
+
1690
+ <A NAME="dgbtrf"></A>
1691
+ <H2>dgbtrf</H2>
1692
+ <PRE>
1693
+ USAGE:
1694
+ ipiv, info, ab = NumRu::Lapack.dgbtrf( m, kl, ku, ab, [:usage => usage, :help => help])
1695
+
1696
+
1697
+ FORTRAN MANUAL
1698
+ SUBROUTINE DGBTRF( M, N, KL, KU, AB, LDAB, IPIV, INFO )
1699
+
1700
+ * Purpose
1701
+ * =======
1702
+ *
1703
+ * DGBTRF computes an LU factorization of a real m-by-n band matrix A
1704
+ * using partial pivoting with row interchanges.
1705
+ *
1706
+ * This is the blocked version of the algorithm, calling Level 3 BLAS.
1707
+ *
1708
+
1709
+ * Arguments
1710
+ * =========
1711
+ *
1712
+ * M (input) INTEGER
1713
+ * The number of rows of the matrix A. M >= 0.
1714
+ *
1715
+ * N (input) INTEGER
1716
+ * The number of columns of the matrix A. N >= 0.
1717
+ *
1718
+ * KL (input) INTEGER
1719
+ * The number of subdiagonals within the band of A. KL >= 0.
1720
+ *
1721
+ * KU (input) INTEGER
1722
+ * The number of superdiagonals within the band of A. KU >= 0.
1723
+ *
1724
+ * AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
1725
+ * On entry, the matrix A in band storage, in rows KL+1 to
1726
+ * 2*KL+KU+1; rows 1 to KL of the array need not be set.
1727
+ * The j-th column of A is stored in the j-th column of the
1728
+ * array AB as follows:
1729
+ * AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
1730
+ *
1731
+ * On exit, details of the factorization: U is stored as an
1732
+ * upper triangular band matrix with KL+KU superdiagonals in
1733
+ * rows 1 to KL+KU+1, and the multipliers used during the
1734
+ * factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
1735
+ * See below for further details.
1736
+ *
1737
+ * LDAB (input) INTEGER
1738
+ * The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
1739
+ *
1740
+ * IPIV (output) INTEGER array, dimension (min(M,N))
1741
+ * The pivot indices; for 1 <= i <= min(M,N), row i of the
1742
+ * matrix was interchanged with row IPIV(i).
1743
+ *
1744
+ * INFO (output) INTEGER
1745
+ * = 0: successful exit
1746
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1747
+ * > 0: if INFO = +i, U(i,i) is exactly zero. The factorization
1748
+ * has been completed, but the factor U is exactly
1749
+ * singular, and division by zero will occur if it is used
1750
+ * to solve a system of equations.
1751
+ *
1752
+
1753
+ * Further Details
1754
+ * ===============
1755
+ *
1756
+ * The band storage scheme is illustrated by the following example, when
1757
+ * M = N = 6, KL = 2, KU = 1:
1758
+ *
1759
+ * On entry: On exit:
1760
+ *
1761
+ * * * * + + + * * * u14 u25 u36
1762
+ * * * + + + + * * u13 u24 u35 u46
1763
+ * * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
1764
+ * a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
1765
+ * a21 a32 a43 a54 a65 * m21 m32 m43 m54 m65 *
1766
+ * a31 a42 a53 a64 * * m31 m42 m53 m64 * *
1767
+ *
1768
+ * Array elements marked * are not used by the routine; elements marked
1769
+ * + need not be set on entry, but are required by the routine to store
1770
+ * elements of U because of fill-in resulting from the row interchanges.
1771
+ *
1772
+ * =====================================================================
1773
+ *
1774
+
1775
+
1776
+ </PRE>
1777
+ <A HREF="#top">go to the page top</A>
1778
+
1779
+ <A NAME="dgbtrs"></A>
1780
+ <H2>dgbtrs</H2>
1781
+ <PRE>
1782
+ USAGE:
1783
+ info, b = NumRu::Lapack.dgbtrs( trans, kl, ku, ab, ipiv, b, [:usage => usage, :help => help])
1784
+
1785
+
1786
+ FORTRAN MANUAL
1787
+ SUBROUTINE DGBTRS( TRANS, N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO )
1788
+
1789
+ * Purpose
1790
+ * =======
1791
+ *
1792
+ * DGBTRS solves a system of linear equations
1793
+ * A * X = B or A' * X = B
1794
+ * with a general band matrix A using the LU factorization computed
1795
+ * by DGBTRF.
1796
+ *
1797
+
1798
+ * Arguments
1799
+ * =========
1800
+ *
1801
+ * TRANS (input) CHARACTER*1
1802
+ * Specifies the form of the system of equations.
1803
+ * = 'N': A * X = B (No transpose)
1804
+ * = 'T': A'* X = B (Transpose)
1805
+ * = 'C': A'* X = B (Conjugate transpose = Transpose)
1806
+ *
1807
+ * N (input) INTEGER
1808
+ * The order of the matrix A. N >= 0.
1809
+ *
1810
+ * KL (input) INTEGER
1811
+ * The number of subdiagonals within the band of A. KL >= 0.
1812
+ *
1813
+ * KU (input) INTEGER
1814
+ * The number of superdiagonals within the band of A. KU >= 0.
1815
+ *
1816
+ * NRHS (input) INTEGER
1817
+ * The number of right hand sides, i.e., the number of columns
1818
+ * of the matrix B. NRHS >= 0.
1819
+ *
1820
+ * AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
1821
+ * Details of the LU factorization of the band matrix A, as
1822
+ * computed by DGBTRF. U is stored as an upper triangular band
1823
+ * matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
1824
+ * the multipliers used during the factorization are stored in
1825
+ * rows KL+KU+2 to 2*KL+KU+1.
1826
+ *
1827
+ * LDAB (input) INTEGER
1828
+ * The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
1829
+ *
1830
+ * IPIV (input) INTEGER array, dimension (N)
1831
+ * The pivot indices; for 1 <= i <= N, row i of the matrix was
1832
+ * interchanged with row IPIV(i).
1833
+ *
1834
+ * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
1835
+ * On entry, the right hand side matrix B.
1836
+ * On exit, the solution matrix X.
1837
+ *
1838
+ * LDB (input) INTEGER
1839
+ * The leading dimension of the array B. LDB >= max(1,N).
1840
+ *
1841
+ * INFO (output) INTEGER
1842
+ * = 0: successful exit
1843
+ * < 0: if INFO = -i, the i-th argument had an illegal value
1844
+ *
1845
+
1846
+ * =====================================================================
1847
+ *
1848
+
1849
+
1850
+ </PRE>
1851
+ <A HREF="#top">go to the page top</A>
1852
+
1853
+ <HR />
1854
+ <A HREF="d.html">back to matrix types</A><BR>
1855
+ <A HREF="d.html">back to data types</A>
1856
+ </BODY>
1857
+ </HTML>