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.
- data/COPYING +56 -0
- data/GPL +340 -0
- data/README.rdoc +61 -0
- data/Rakefile +115 -0
- data/dev/common.rb +9 -0
- data/dev/defs/cbbcsd +297 -0
- data/dev/defs/cbdsqr +196 -0
- data/dev/defs/cgbbrd +174 -0
- data/dev/defs/cgbcon +114 -0
- data/dev/defs/cgbequ +121 -0
- data/dev/defs/cgbequb +128 -0
- data/dev/defs/cgbrfs +182 -0
- data/dev/defs/cgbrfsx +418 -0
- data/dev/defs/cgbsv +134 -0
- data/dev/defs/cgbsvx +356 -0
- data/dev/defs/cgbsvxx +539 -0
- data/dev/defs/cgbtf2 +110 -0
- data/dev/defs/cgbtrf +109 -0
- data/dev/defs/cgbtrs +106 -0
- data/dev/defs/cgebak +95 -0
- data/dev/defs/cgebal +125 -0
- data/dev/defs/cgebd2 +162 -0
- data/dev/defs/cgebrd +178 -0
- data/dev/defs/cgecon +90 -0
- data/dev/defs/cgeequ +107 -0
- data/dev/defs/cgeequb +114 -0
- data/dev/defs/cgees +169 -0
- data/dev/defs/cgeesx +209 -0
- data/dev/defs/cgeev +154 -0
- data/dev/defs/cgeevx +263 -0
- data/dev/defs/cgegs +204 -0
- data/dev/defs/cgegv +261 -0
- data/dev/defs/cgehd2 +115 -0
- data/dev/defs/cgehrd +136 -0
- data/dev/defs/cgelq2 +89 -0
- data/dev/defs/cgelqf +113 -0
- data/dev/defs/cgels +157 -0
- data/dev/defs/cgelsd +211 -0
- data/dev/defs/cgelss +156 -0
- data/dev/defs/cgelsx +155 -0
- data/dev/defs/cgelsy +188 -0
- data/dev/defs/cgeql2 +91 -0
- data/dev/defs/cgeqlf +116 -0
- data/dev/defs/cgeqp3 +127 -0
- data/dev/defs/cgeqpf +118 -0
- data/dev/defs/cgeqr2 +89 -0
- data/dev/defs/cgeqr2p +89 -0
- data/dev/defs/cgeqrf +114 -0
- data/dev/defs/cgeqrfp +114 -0
- data/dev/defs/cgerfs +164 -0
- data/dev/defs/cgerfsx +394 -0
- data/dev/defs/cgerq2 +91 -0
- data/dev/defs/cgerqf +116 -0
- data/dev/defs/cgesc2 +87 -0
- data/dev/defs/cgesdd +203 -0
- data/dev/defs/cgesv +97 -0
- data/dev/defs/cgesvd +195 -0
- data/dev/defs/cgesvx +333 -0
- data/dev/defs/cgesvxx +519 -0
- data/dev/defs/cgetc2 +82 -0
- data/dev/defs/cgetf2 +76 -0
- data/dev/defs/cgetrf +76 -0
- data/dev/defs/cgetri +86 -0
- data/dev/defs/cgetrs +91 -0
- data/dev/defs/cggbak +119 -0
- data/dev/defs/cggbal +144 -0
- data/dev/defs/cgges +247 -0
- data/dev/defs/cggesx +311 -0
- data/dev/defs/cggev +197 -0
- data/dev/defs/cggevx +353 -0
- data/dev/defs/cggglm +160 -0
- data/dev/defs/cgghrd +171 -0
- data/dev/defs/cgglse +157 -0
- data/dev/defs/cggqrf +195 -0
- data/dev/defs/cggrqf +194 -0
- data/dev/defs/cggsvd +324 -0
- data/dev/defs/cggsvp +240 -0
- data/dev/defs/cgtcon +112 -0
- data/dev/defs/cgtrfs +193 -0
- data/dev/defs/cgtsv +97 -0
- data/dev/defs/cgtsvx +275 -0
- data/dev/defs/cgttrf +97 -0
- data/dev/defs/cgttrs +119 -0
- data/dev/defs/cgtts2 +108 -0
- data/dev/defs/chbev +124 -0
- data/dev/defs/chbevd +194 -0
- data/dev/defs/chbevx +234 -0
- data/dev/defs/chbgst +137 -0
- data/dev/defs/chbgv +163 -0
- data/dev/defs/chbgvd +231 -0
- data/dev/defs/chbgvx +265 -0
- data/dev/defs/chbtrd +132 -0
- data/dev/defs/checon +91 -0
- data/dev/defs/cheequb +87 -0
- data/dev/defs/cheev +111 -0
- data/dev/defs/cheevd +178 -0
- data/dev/defs/cheevr +325 -0
- data/dev/defs/cheevx +225 -0
- data/dev/defs/chegs2 +96 -0
- data/dev/defs/chegst +96 -0
- data/dev/defs/chegv +155 -0
- data/dev/defs/chegvd +222 -0
- data/dev/defs/chegvx +270 -0
- data/dev/defs/cherfs +170 -0
- data/dev/defs/cherfsx +380 -0
- data/dev/defs/chesv +147 -0
- data/dev/defs/chesvx +261 -0
- data/dev/defs/chesvxx +481 -0
- data/dev/defs/chetd2 +143 -0
- data/dev/defs/chetf2 +141 -0
- data/dev/defs/chetrd +162 -0
- data/dev/defs/chetrf +151 -0
- data/dev/defs/chetri +83 -0
- data/dev/defs/chetrs +90 -0
- data/dev/defs/chetrs2 +97 -0
- data/dev/defs/chfrk +138 -0
- data/dev/defs/chgeqz +258 -0
- data/dev/defs/chla_transtype +32 -0
- data/dev/defs/chpcon +85 -0
- data/dev/defs/chpev +110 -0
- data/dev/defs/chpevd +179 -0
- data/dev/defs/chpevx +204 -0
- data/dev/defs/chpgst +80 -0
- data/dev/defs/chpgv +145 -0
- data/dev/defs/chpgvd +221 -0
- data/dev/defs/chpgvx +247 -0
- data/dev/defs/chprfs +156 -0
- data/dev/defs/chpsv +134 -0
- data/dev/defs/chpsvx +248 -0
- data/dev/defs/chptrd +118 -0
- data/dev/defs/chptrf +120 -0
- data/dev/defs/chptri +77 -0
- data/dev/defs/chptrs +84 -0
- data/dev/defs/chsein +217 -0
- data/dev/defs/chseqr +263 -0
- data/dev/defs/cla_gbamv +154 -0
- data/dev/defs/cla_gbrcond_c +146 -0
- data/dev/defs/cla_gbrcond_x +140 -0
- data/dev/defs/cla_gbrfsx_extended +391 -0
- data/dev/defs/cla_gbrpvgrw +94 -0
- data/dev/defs/cla_geamv +142 -0
- data/dev/defs/cla_gercond_c +128 -0
- data/dev/defs/cla_gercond_x +122 -0
- data/dev/defs/cla_gerfsx_extended +376 -0
- data/dev/defs/cla_heamv +142 -0
- data/dev/defs/cla_hercond_c +125 -0
- data/dev/defs/cla_hercond_x +119 -0
- data/dev/defs/cla_herfsx_extended +375 -0
- data/dev/defs/cla_herpvgrw +105 -0
- data/dev/defs/cla_lin_berr +79 -0
- data/dev/defs/cla_porcond_c +116 -0
- data/dev/defs/cla_porcond_x +110 -0
- data/dev/defs/cla_porfsx_extended +366 -0
- data/dev/defs/cla_porpvgrw +85 -0
- data/dev/defs/cla_rpvgrw +76 -0
- data/dev/defs/cla_syamv +142 -0
- data/dev/defs/cla_syrcond_c +125 -0
- data/dev/defs/cla_syrcond_x +119 -0
- data/dev/defs/cla_syrfsx_extended +375 -0
- data/dev/defs/cla_syrpvgrw +105 -0
- data/dev/defs/cla_wwaddw +53 -0
- data/dev/defs/clabrd +187 -0
- data/dev/defs/clacgv +44 -0
- data/dev/defs/clacn2 +91 -0
- data/dev/defs/clacon +75 -0
- data/dev/defs/clacp2 +78 -0
- data/dev/defs/clacpy +78 -0
- data/dev/defs/clacrm +88 -0
- data/dev/defs/clacrt +73 -0
- data/dev/defs/cladiv +37 -0
- data/dev/defs/claed0 +121 -0
- data/dev/defs/claed7 +237 -0
- data/dev/defs/claed8 +211 -0
- data/dev/defs/claein +117 -0
- data/dev/defs/claesy +81 -0
- data/dev/defs/claev2 +83 -0
- data/dev/defs/clag2z +73 -0
- data/dev/defs/clags2 +116 -0
- data/dev/defs/clagtm +115 -0
- data/dev/defs/clahef +127 -0
- data/dev/defs/clahqr +159 -0
- data/dev/defs/clahr2 +153 -0
- data/dev/defs/clahrd +141 -0
- data/dev/defs/claic1 +101 -0
- data/dev/defs/clals0 +251 -0
- data/dev/defs/clalsa +267 -0
- data/dev/defs/clalsd +160 -0
- data/dev/defs/clangb +92 -0
- data/dev/defs/clange +84 -0
- data/dev/defs/clangt +77 -0
- data/dev/defs/clanhb +99 -0
- data/dev/defs/clanhe +93 -0
- data/dev/defs/clanhf +211 -0
- data/dev/defs/clanhp +85 -0
- data/dev/defs/clanhs +78 -0
- data/dev/defs/clanht +69 -0
- data/dev/defs/clansb +97 -0
- data/dev/defs/clansp +83 -0
- data/dev/defs/clansy +92 -0
- data/dev/defs/clantb +108 -0
- data/dev/defs/clantp +93 -0
- data/dev/defs/clantr +109 -0
- data/dev/defs/clapll +67 -0
- data/dev/defs/clapmr +73 -0
- data/dev/defs/clapmt +73 -0
- data/dev/defs/claqgb +124 -0
- data/dev/defs/claqge +107 -0
- data/dev/defs/claqhb +105 -0
- data/dev/defs/claqhe +98 -0
- data/dev/defs/claqhp +89 -0
- data/dev/defs/claqp2 +115 -0
- data/dev/defs/claqps +146 -0
- data/dev/defs/claqr0 +203 -0
- data/dev/defs/claqr1 +66 -0
- data/dev/defs/claqr2 +243 -0
- data/dev/defs/claqr3 +238 -0
- data/dev/defs/claqr4 +203 -0
- data/dev/defs/claqr5 +221 -0
- data/dev/defs/claqsb +105 -0
- data/dev/defs/claqsp +89 -0
- data/dev/defs/claqsy +98 -0
- data/dev/defs/clar1v +199 -0
- data/dev/defs/clar2v +88 -0
- data/dev/defs/clarcm +88 -0
- data/dev/defs/clarf +97 -0
- data/dev/defs/clarfb +139 -0
- data/dev/defs/clarfg +71 -0
- data/dev/defs/clarfgp +69 -0
- data/dev/defs/clarft +133 -0
- data/dev/defs/clarfx +88 -0
- data/dev/defs/clargv +88 -0
- data/dev/defs/clarnv +63 -0
- data/dev/defs/clarrv +259 -0
- data/dev/defs/clarscl2 +61 -0
- data/dev/defs/clartg +66 -0
- data/dev/defs/clartv +82 -0
- data/dev/defs/clarz +111 -0
- data/dev/defs/clarzb +150 -0
- data/dev/defs/clarzt +151 -0
- data/dev/defs/clascl +102 -0
- data/dev/defs/clascl2 +61 -0
- data/dev/defs/claset +77 -0
- data/dev/defs/clasr +169 -0
- data/dev/defs/classq +71 -0
- data/dev/defs/claswp +81 -0
- data/dev/defs/clasyf +127 -0
- data/dev/defs/clatbs +206 -0
- data/dev/defs/clatdf +133 -0
- data/dev/defs/clatps +193 -0
- data/dev/defs/clatrd +168 -0
- data/dev/defs/clatrs +202 -0
- data/dev/defs/clatrz +106 -0
- data/dev/defs/clatzm +124 -0
- data/dev/defs/clauu2 +68 -0
- data/dev/defs/clauum +68 -0
- data/dev/defs/cpbcon +99 -0
- data/dev/defs/cpbequ +96 -0
- data/dev/defs/cpbrfs +166 -0
- data/dev/defs/cpbstf +116 -0
- data/dev/defs/cpbsv +136 -0
- data/dev/defs/cpbsvx +314 -0
- data/dev/defs/cpbtf2 +105 -0
- data/dev/defs/cpbtrf +103 -0
- data/dev/defs/cpbtrs +98 -0
- data/dev/defs/cpftrf +183 -0
- data/dev/defs/cpftri +175 -0
- data/dev/defs/cpftrs +185 -0
- data/dev/defs/cpocon +87 -0
- data/dev/defs/cpoequ +80 -0
- data/dev/defs/cpoequb +80 -0
- data/dev/defs/cporfs +160 -0
- data/dev/defs/cporfsx +371 -0
- data/dev/defs/cposv +105 -0
- data/dev/defs/cposvx +281 -0
- data/dev/defs/cposvxx +471 -0
- data/dev/defs/cpotf2 +75 -0
- data/dev/defs/cpotrf +73 -0
- data/dev/defs/cpotri +67 -0
- data/dev/defs/cpotrs +79 -0
- data/dev/defs/cppcon +85 -0
- data/dev/defs/cppequ +82 -0
- data/dev/defs/cpprfs +146 -0
- data/dev/defs/cppsv +115 -0
- data/dev/defs/cppsvx +283 -0
- data/dev/defs/cpptrf +81 -0
- data/dev/defs/cpptri +58 -0
- data/dev/defs/cpptrs +84 -0
- data/dev/defs/cpstf2 +108 -0
- data/dev/defs/cpstrf +108 -0
- data/dev/defs/cptcon +84 -0
- data/dev/defs/cpteqr +116 -0
- data/dev/defs/cptrfs +161 -0
- data/dev/defs/cptsv +89 -0
- data/dev/defs/cptsvx +210 -0
- data/dev/defs/cpttrf +59 -0
- data/dev/defs/cpttrs +98 -0
- data/dev/defs/cptts2 +89 -0
- data/dev/defs/crot +72 -0
- data/dev/defs/cspcon +85 -0
- data/dev/defs/cspmv +121 -0
- data/dev/defs/cspr +98 -0
- data/dev/defs/csprfs +156 -0
- data/dev/defs/cspsv +134 -0
- data/dev/defs/cspsvx +248 -0
- data/dev/defs/csptrf +121 -0
- data/dev/defs/csptri +77 -0
- data/dev/defs/csptrs +84 -0
- data/dev/defs/csrscl +49 -0
- data/dev/defs/cstedc +191 -0
- data/dev/defs/cstegr +233 -0
- data/dev/defs/cstein +159 -0
- data/dev/defs/cstemr +302 -0
- data/dev/defs/csteqr +103 -0
- data/dev/defs/csycon +91 -0
- data/dev/defs/csyconv +90 -0
- data/dev/defs/csyequb +104 -0
- data/dev/defs/csymv +126 -0
- data/dev/defs/csyr +102 -0
- data/dev/defs/csyrfs +170 -0
- data/dev/defs/csyrfsx +380 -0
- data/dev/defs/csysv +149 -0
- data/dev/defs/csysvx +261 -0
- data/dev/defs/csysvxx +485 -0
- data/dev/defs/csyswapr +70 -0
- data/dev/defs/csytf2 +140 -0
- data/dev/defs/csytrf +156 -0
- data/dev/defs/csytri +83 -0
- data/dev/defs/csytri2 +110 -0
- data/dev/defs/csytri2x +90 -0
- data/dev/defs/csytrs +90 -0
- data/dev/defs/csytrs2 +97 -0
- data/dev/defs/ctbcon +109 -0
- data/dev/defs/ctbrfs +164 -0
- data/dev/defs/ctbtrs +113 -0
- data/dev/defs/ctfsm +259 -0
- data/dev/defs/ctftri +183 -0
- data/dev/defs/ctfttp +172 -0
- data/dev/defs/ctfttr +182 -0
- data/dev/defs/ctgevc +194 -0
- data/dev/defs/ctgex2 +158 -0
- data/dev/defs/ctgexc +176 -0
- data/dev/defs/ctgsen +406 -0
- data/dev/defs/ctgsja +344 -0
- data/dev/defs/ctgsna +282 -0
- data/dev/defs/ctgsy2 +235 -0
- data/dev/defs/ctgsyl +273 -0
- data/dev/defs/ctpcon +95 -0
- data/dev/defs/ctprfs +150 -0
- data/dev/defs/ctptri +79 -0
- data/dev/defs/ctptrs +98 -0
- data/dev/defs/ctpttf +172 -0
- data/dev/defs/ctpttr +73 -0
- data/dev/defs/ctrcon +103 -0
- data/dev/defs/ctrevc +188 -0
- data/dev/defs/ctrexc +99 -0
- data/dev/defs/ctrrfs +158 -0
- data/dev/defs/ctrsen +234 -0
- data/dev/defs/ctrsna +223 -0
- data/dev/defs/ctrsyl +126 -0
- data/dev/defs/ctrti2 +76 -0
- data/dev/defs/ctrtri +75 -0
- data/dev/defs/ctrtrs +107 -0
- data/dev/defs/ctrttf +181 -0
- data/dev/defs/ctrttp +72 -0
- data/dev/defs/ctzrqf +104 -0
- data/dev/defs/ctzrzf +128 -0
- data/dev/defs/cunbdb +270 -0
- data/dev/defs/cuncsd +283 -0
- data/dev/defs/cung2l +85 -0
- data/dev/defs/cung2r +85 -0
- data/dev/defs/cungbr +129 -0
- data/dev/defs/cunghr +97 -0
- data/dev/defs/cungl2 +84 -0
- data/dev/defs/cunglq +100 -0
- data/dev/defs/cungql +101 -0
- data/dev/defs/cungqr +101 -0
- data/dev/defs/cungr2 +85 -0
- data/dev/defs/cungrq +101 -0
- data/dev/defs/cungtr +95 -0
- data/dev/defs/cunm2l +130 -0
- data/dev/defs/cunm2r +130 -0
- data/dev/defs/cunmbr +179 -0
- data/dev/defs/cunmhr +157 -0
- data/dev/defs/cunml2 +130 -0
- data/dev/defs/cunmlq +143 -0
- data/dev/defs/cunmql +143 -0
- data/dev/defs/cunmqr +143 -0
- data/dev/defs/cunmr2 +130 -0
- data/dev/defs/cunmr3 +152 -0
- data/dev/defs/cunmrq +143 -0
- data/dev/defs/cunmrz +157 -0
- data/dev/defs/cunmtr +152 -0
- data/dev/defs/cupgtr +87 -0
- data/dev/defs/cupmtr +120 -0
- data/dev/defs/dbbcsd +297 -0
- data/dev/defs/dbdsdc +194 -0
- data/dev/defs/dbdsqr +203 -0
- data/dev/defs/ddisna +84 -0
- data/dev/defs/dgbbrd +167 -0
- data/dev/defs/dgbcon +114 -0
- data/dev/defs/dgbequ +121 -0
- data/dev/defs/dgbequb +128 -0
- data/dev/defs/dgbrfs +182 -0
- data/dev/defs/dgbrfsx +418 -0
- data/dev/defs/dgbsv +134 -0
- data/dev/defs/dgbsvx +353 -0
- data/dev/defs/dgbsvxx +536 -0
- data/dev/defs/dgbtf2 +110 -0
- data/dev/defs/dgbtrf +109 -0
- data/dev/defs/dgbtrs +106 -0
- data/dev/defs/dgebak +95 -0
- data/dev/defs/dgebal +125 -0
- data/dev/defs/dgebd2 +162 -0
- data/dev/defs/dgebrd +178 -0
- data/dev/defs/dgecon +90 -0
- data/dev/defs/dgeequ +107 -0
- data/dev/defs/dgeequb +114 -0
- data/dev/defs/dgees +188 -0
- data/dev/defs/dgeesx +251 -0
- data/dev/defs/dgeev +166 -0
- data/dev/defs/dgeevx +282 -0
- data/dev/defs/dgegs +207 -0
- data/dev/defs/dgegv +286 -0
- data/dev/defs/dgehd2 +115 -0
- data/dev/defs/dgehrd +136 -0
- data/dev/defs/dgejsv +862 -0
- data/dev/defs/dgelq2 +89 -0
- data/dev/defs/dgelqf +113 -0
- data/dev/defs/dgels +158 -0
- data/dev/defs/dgelsd +193 -0
- data/dev/defs/dgelss +149 -0
- data/dev/defs/dgelsx +148 -0
- data/dev/defs/dgelsy +181 -0
- data/dev/defs/dgeql2 +91 -0
- data/dev/defs/dgeqlf +116 -0
- data/dev/defs/dgeqp3 +120 -0
- data/dev/defs/dgeqpf +111 -0
- data/dev/defs/dgeqr2 +89 -0
- data/dev/defs/dgeqr2p +89 -0
- data/dev/defs/dgeqrf +114 -0
- data/dev/defs/dgeqrfp +114 -0
- data/dev/defs/dgerfs +164 -0
- data/dev/defs/dgerfsx +394 -0
- data/dev/defs/dgerq2 +91 -0
- data/dev/defs/dgerqf +116 -0
- data/dev/defs/dgesc2 +86 -0
- data/dev/defs/dgesdd +197 -0
- data/dev/defs/dgesv +97 -0
- data/dev/defs/dgesvd +188 -0
- data/dev/defs/dgesvj +308 -0
- data/dev/defs/dgesvx +333 -0
- data/dev/defs/dgesvxx +516 -0
- data/dev/defs/dgetc2 +82 -0
- data/dev/defs/dgetf2 +76 -0
- data/dev/defs/dgetrf +76 -0
- data/dev/defs/dgetri +86 -0
- data/dev/defs/dgetrs +91 -0
- data/dev/defs/dggbak +119 -0
- data/dev/defs/dggbal +145 -0
- data/dev/defs/dgges +261 -0
- data/dev/defs/dggesx +342 -0
- data/dev/defs/dggev +206 -0
- data/dev/defs/dggevx +371 -0
- data/dev/defs/dggglm +160 -0
- data/dev/defs/dgghrd +174 -0
- data/dev/defs/dgglse +157 -0
- data/dev/defs/dggqrf +195 -0
- data/dev/defs/dggrqf +194 -0
- data/dev/defs/dggsvd +319 -0
- data/dev/defs/dggsvp +233 -0
- data/dev/defs/dgsvj0 +200 -0
- data/dev/defs/dgsvj1 +220 -0
- data/dev/defs/dgtcon +119 -0
- data/dev/defs/dgtrfs +193 -0
- data/dev/defs/dgtsv +100 -0
- data/dev/defs/dgtsvx +275 -0
- data/dev/defs/dgttrf +97 -0
- data/dev/defs/dgttrs +119 -0
- data/dev/defs/dgtts2 +106 -0
- data/dev/defs/dhgeqz +282 -0
- data/dev/defs/dhsein +234 -0
- data/dev/defs/dhseqr +279 -0
- data/dev/defs/disnan +29 -0
- data/dev/defs/dla_gbamv +152 -0
- data/dev/defs/dla_gbrcond +152 -0
- data/dev/defs/dla_gbrfsx_extended +393 -0
- data/dev/defs/dla_gbrpvgrw +90 -0
- data/dev/defs/dla_geamv +142 -0
- data/dev/defs/dla_gercond +134 -0
- data/dev/defs/dla_gerfsx_extended +379 -0
- data/dev/defs/dla_lin_berr +78 -0
- data/dev/defs/dla_porcond +122 -0
- data/dev/defs/dla_porfsx_extended +366 -0
- data/dev/defs/dla_porpvgrw +81 -0
- data/dev/defs/dla_rpvgrw +72 -0
- data/dev/defs/dla_syamv +142 -0
- data/dev/defs/dla_syrcond +131 -0
- data/dev/defs/dla_syrfsx_extended +375 -0
- data/dev/defs/dla_syrpvgrw +101 -0
- data/dev/defs/dla_wwaddw +53 -0
- data/dev/defs/dlabad +43 -0
- data/dev/defs/dlabrd +186 -0
- data/dev/defs/dlacn2 +96 -0
- data/dev/defs/dlacon +80 -0
- data/dev/defs/dlacpy +78 -0
- data/dev/defs/dladiv +57 -0
- data/dev/defs/dlae2 +66 -0
- data/dev/defs/dlaebz +292 -0
- data/dev/defs/dlaed0 +147 -0
- data/dev/defs/dlaed1 +141 -0
- data/dev/defs/dlaed2 +194 -0
- data/dev/defs/dlaed3 +167 -0
- data/dev/defs/dlaed4 +113 -0
- data/dev/defs/dlaed5 +78 -0
- data/dev/defs/dlaed6 +101 -0
- data/dev/defs/dlaed7 +241 -0
- data/dev/defs/dlaed8 +227 -0
- data/dev/defs/dlaed9 +137 -0
- data/dev/defs/dlaeda +147 -0
- data/dev/defs/dlaein +141 -0
- data/dev/defs/dlaev2 +83 -0
- data/dev/defs/dlaexc +107 -0
- data/dev/defs/dlag2 +123 -0
- data/dev/defs/dlag2s +81 -0
- data/dev/defs/dlags2 +108 -0
- data/dev/defs/dlagtf +128 -0
- data/dev/defs/dlagtm +115 -0
- data/dev/defs/dlagts +135 -0
- data/dev/defs/dlagv2 +128 -0
- data/dev/defs/dlahqr +172 -0
- data/dev/defs/dlahr2 +153 -0
- data/dev/defs/dlahrd +141 -0
- data/dev/defs/dlaic1 +101 -0
- data/dev/defs/dlaln2 +187 -0
- data/dev/defs/dlals0 +250 -0
- data/dev/defs/dlalsa +268 -0
- data/dev/defs/dlalsd +152 -0
- data/dev/defs/dlamrg +66 -0
- data/dev/defs/dlaneg +87 -0
- data/dev/defs/dlangb +93 -0
- data/dev/defs/dlange +84 -0
- data/dev/defs/dlangt +77 -0
- data/dev/defs/dlanhs +78 -0
- data/dev/defs/dlansb +97 -0
- data/dev/defs/dlansf +178 -0
- data/dev/defs/dlansp +83 -0
- data/dev/defs/dlanst +69 -0
- data/dev/defs/dlansy +92 -0
- data/dev/defs/dlantb +108 -0
- data/dev/defs/dlantp +93 -0
- data/dev/defs/dlantr +109 -0
- data/dev/defs/dlanv2 +84 -0
- data/dev/defs/dlapll +69 -0
- data/dev/defs/dlapmr +73 -0
- data/dev/defs/dlapmt +73 -0
- data/dev/defs/dlapy2 +30 -0
- data/dev/defs/dlapy3 +34 -0
- data/dev/defs/dlaqgb +124 -0
- data/dev/defs/dlaqge +107 -0
- data/dev/defs/dlaqp2 +115 -0
- data/dev/defs/dlaqps +146 -0
- data/dev/defs/dlaqr0 +225 -0
- data/dev/defs/dlaqr1 +79 -0
- data/dev/defs/dlaqr2 +252 -0
- data/dev/defs/dlaqr3 +247 -0
- data/dev/defs/dlaqr4 +225 -0
- data/dev/defs/dlaqr5 +230 -0
- data/dev/defs/dlaqsb +105 -0
- data/dev/defs/dlaqsp +89 -0
- data/dev/defs/dlaqsy +98 -0
- data/dev/defs/dlaqtr +134 -0
- data/dev/defs/dlar1v +199 -0
- data/dev/defs/dlar2v +86 -0
- data/dev/defs/dlarf +93 -0
- data/dev/defs/dlarfb +139 -0
- data/dev/defs/dlarfg +71 -0
- data/dev/defs/dlarfgp +69 -0
- data/dev/defs/dlarft +133 -0
- data/dev/defs/dlarfx +89 -0
- data/dev/defs/dlargv +74 -0
- data/dev/defs/dlarnv +61 -0
- data/dev/defs/dlarra +106 -0
- data/dev/defs/dlarrb +167 -0
- data/dev/defs/dlarrc +99 -0
- data/dev/defs/dlarrd +290 -0
- data/dev/defs/dlarre +265 -0
- data/dev/defs/dlarrf +168 -0
- data/dev/defs/dlarrj +138 -0
- data/dev/defs/dlarrk +108 -0
- data/dev/defs/dlarrr +62 -0
- data/dev/defs/dlarrv +259 -0
- data/dev/defs/dlarscl2 +61 -0
- data/dev/defs/dlartg +64 -0
- data/dev/defs/dlartgp +62 -0
- data/dev/defs/dlartgs +57 -0
- data/dev/defs/dlartv +82 -0
- data/dev/defs/dlaruv +59 -0
- data/dev/defs/dlarz +109 -0
- data/dev/defs/dlarzb +150 -0
- data/dev/defs/dlarzt +151 -0
- data/dev/defs/dlas2 +71 -0
- data/dev/defs/dlascl +102 -0
- data/dev/defs/dlascl2 +61 -0
- data/dev/defs/dlasd0 +133 -0
- data/dev/defs/dlasd1 +180 -0
- data/dev/defs/dlasd2 +254 -0
- data/dev/defs/dlasd3 +213 -0
- data/dev/defs/dlasd4 +123 -0
- data/dev/defs/dlasd5 +88 -0
- data/dev/defs/dlasd6 +300 -0
- data/dev/defs/dlasd7 +264 -0
- data/dev/defs/dlasd8 +144 -0
- data/dev/defs/dlasda +276 -0
- data/dev/defs/dlasdq +187 -0
- data/dev/defs/dlasdt +76 -0
- data/dev/defs/dlaset +81 -0
- data/dev/defs/dlasq1 +75 -0
- data/dev/defs/dlasq2 +73 -0
- data/dev/defs/dlasq3 +141 -0
- data/dev/defs/dlasq4 +107 -0
- data/dev/defs/dlasq5 +100 -0
- data/dev/defs/dlasq6 +90 -0
- data/dev/defs/dlasr +169 -0
- data/dev/defs/dlasrt +53 -0
- data/dev/defs/dlassq +68 -0
- data/dev/defs/dlasv2 +100 -0
- data/dev/defs/dlaswp +81 -0
- data/dev/defs/dlasy2 +145 -0
- data/dev/defs/dlasyf +126 -0
- data/dev/defs/dlat2s +83 -0
- data/dev/defs/dlatbs +206 -0
- data/dev/defs/dlatdf +131 -0
- data/dev/defs/dlatps +192 -0
- data/dev/defs/dlatrd +168 -0
- data/dev/defs/dlatrs +202 -0
- data/dev/defs/dlatrz +106 -0
- data/dev/defs/dlatzm +123 -0
- data/dev/defs/dlauu2 +68 -0
- data/dev/defs/dlauum +68 -0
- data/dev/defs/dopgtr +87 -0
- data/dev/defs/dopmtr +120 -0
- data/dev/defs/dorbdb +270 -0
- data/dev/defs/dorcsd +264 -0
- data/dev/defs/dorg2l +85 -0
- data/dev/defs/dorg2r +85 -0
- data/dev/defs/dorgbr +129 -0
- data/dev/defs/dorghr +97 -0
- data/dev/defs/dorgl2 +84 -0
- data/dev/defs/dorglq +100 -0
- data/dev/defs/dorgql +101 -0
- data/dev/defs/dorgqr +101 -0
- data/dev/defs/dorgr2 +85 -0
- data/dev/defs/dorgrq +101 -0
- data/dev/defs/dorgtr +95 -0
- data/dev/defs/dorm2l +130 -0
- data/dev/defs/dorm2r +130 -0
- data/dev/defs/dormbr +176 -0
- data/dev/defs/dormhr +157 -0
- data/dev/defs/dorml2 +130 -0
- data/dev/defs/dormlq +143 -0
- data/dev/defs/dormql +143 -0
- data/dev/defs/dormqr +143 -0
- data/dev/defs/dormr2 +130 -0
- data/dev/defs/dormr3 +152 -0
- data/dev/defs/dormrq +143 -0
- data/dev/defs/dormrz +157 -0
- data/dev/defs/dormtr +152 -0
- data/dev/defs/dpbcon +98 -0
- data/dev/defs/dpbequ +96 -0
- data/dev/defs/dpbrfs +166 -0
- data/dev/defs/dpbstf +115 -0
- data/dev/defs/dpbsv +136 -0
- data/dev/defs/dpbsvx +314 -0
- data/dev/defs/dpbtf2 +105 -0
- data/dev/defs/dpbtrf +103 -0
- data/dev/defs/dpbtrs +98 -0
- data/dev/defs/dpftrf +161 -0
- data/dev/defs/dpftri +154 -0
- data/dev/defs/dpftrs +164 -0
- data/dev/defs/dpocon +87 -0
- data/dev/defs/dpoequ +80 -0
- data/dev/defs/dpoequb +80 -0
- data/dev/defs/dporfs +160 -0
- data/dev/defs/dporfsx +370 -0
- data/dev/defs/dposv +105 -0
- data/dev/defs/dposvx +281 -0
- data/dev/defs/dposvxx +468 -0
- data/dev/defs/dpotf2 +75 -0
- data/dev/defs/dpotrf +73 -0
- data/dev/defs/dpotri +67 -0
- data/dev/defs/dpotrs +79 -0
- data/dev/defs/dppcon +85 -0
- data/dev/defs/dppequ +82 -0
- data/dev/defs/dpprfs +146 -0
- data/dev/defs/dppsv +115 -0
- data/dev/defs/dppsvx +283 -0
- data/dev/defs/dpptrf +81 -0
- data/dev/defs/dpptri +58 -0
- data/dev/defs/dpptrs +84 -0
- data/dev/defs/dpstf2 +108 -0
- data/dev/defs/dpstrf +108 -0
- data/dev/defs/dptcon +84 -0
- data/dev/defs/dpteqr +117 -0
- data/dev/defs/dptrfs +141 -0
- data/dev/defs/dptsv +89 -0
- data/dev/defs/dptsvx +203 -0
- data/dev/defs/dpttrf +59 -0
- data/dev/defs/dpttrs +88 -0
- data/dev/defs/dptts2 +77 -0
- data/dev/defs/drscl +49 -0
- data/dev/defs/dsbev +117 -0
- data/dev/defs/dsbevd +169 -0
- data/dev/defs/dsbevx +231 -0
- data/dev/defs/dsbgst +130 -0
- data/dev/defs/dsbgv +156 -0
- data/dev/defs/dsbgvd +206 -0
- data/dev/defs/dsbgvx +259 -0
- data/dev/defs/dsbtrd +132 -0
- data/dev/defs/dsfrk +134 -0
- data/dev/defs/dsgesv +170 -0
- data/dev/defs/dspcon +92 -0
- data/dev/defs/dspev +103 -0
- data/dev/defs/dspevd +155 -0
- data/dev/defs/dspevx +197 -0
- data/dev/defs/dspgst +80 -0
- data/dev/defs/dspgv +139 -0
- data/dev/defs/dspgvd +188 -0
- data/dev/defs/dspgvx +241 -0
- data/dev/defs/dsposv +173 -0
- data/dev/defs/dsprfs +156 -0
- data/dev/defs/dspsv +134 -0
- data/dev/defs/dspsvx +249 -0
- data/dev/defs/dsptrd +118 -0
- data/dev/defs/dsptrf +120 -0
- data/dev/defs/dsptri +77 -0
- data/dev/defs/dsptrs +84 -0
- data/dev/defs/dstebz +229 -0
- data/dev/defs/dstedc +165 -0
- data/dev/defs/dstegr +233 -0
- data/dev/defs/dstein +152 -0
- data/dev/defs/dstemr +285 -0
- data/dev/defs/dsteqr +103 -0
- data/dev/defs/dsterf +54 -0
- data/dev/defs/dstev +88 -0
- data/dev/defs/dstevd +138 -0
- data/dev/defs/dstevr +273 -0
- data/dev/defs/dstevx +193 -0
- data/dev/defs/dsycon +98 -0
- data/dev/defs/dsyconv +90 -0
- data/dev/defs/dsyequb +104 -0
- data/dev/defs/dsyev +104 -0
- data/dev/defs/dsyevd +157 -0
- data/dev/defs/dsyevr +300 -0
- data/dev/defs/dsyevx +218 -0
- data/dev/defs/dsygs2 +96 -0
- data/dev/defs/dsygst +96 -0
- data/dev/defs/dsygv +148 -0
- data/dev/defs/dsygvd +197 -0
- data/dev/defs/dsygvx +263 -0
- data/dev/defs/dsyrfs +170 -0
- data/dev/defs/dsyrfsx +380 -0
- data/dev/defs/dsysv +149 -0
- data/dev/defs/dsysvx +261 -0
- data/dev/defs/dsysvxx +481 -0
- data/dev/defs/dsyswapr +70 -0
- data/dev/defs/dsytd2 +142 -0
- data/dev/defs/dsytf2 +143 -0
- data/dev/defs/dsytrd +162 -0
- data/dev/defs/dsytrf +156 -0
- data/dev/defs/dsytri +83 -0
- data/dev/defs/dsytri2 +110 -0
- data/dev/defs/dsytri2x +90 -0
- data/dev/defs/dsytrs +90 -0
- data/dev/defs/dsytrs2 +97 -0
- data/dev/defs/dtbcon +109 -0
- data/dev/defs/dtbrfs +164 -0
- data/dev/defs/dtbtrs +113 -0
- data/dev/defs/dtfsm +243 -0
- data/dev/defs/dtftri +163 -0
- data/dev/defs/dtfttp +151 -0
- data/dev/defs/dtfttr +176 -0
- data/dev/defs/dtgevc +265 -0
- data/dev/defs/dtgex2 +191 -0
- data/dev/defs/dtgexc +190 -0
- data/dev/defs/dtgsen +422 -0
- data/dev/defs/dtgsja +343 -0
- data/dev/defs/dtgsna +354 -0
- data/dev/defs/dtgsy2 +252 -0
- data/dev/defs/dtgsyl +274 -0
- data/dev/defs/dtpcon +95 -0
- data/dev/defs/dtprfs +150 -0
- data/dev/defs/dtptri +79 -0
- data/dev/defs/dtptrs +98 -0
- data/dev/defs/dtpttf +151 -0
- data/dev/defs/dtpttr +73 -0
- data/dev/defs/dtrcon +103 -0
- data/dev/defs/dtrevc +191 -0
- data/dev/defs/dtrexc +113 -0
- data/dev/defs/dtrrfs +158 -0
- data/dev/defs/dtrsen +284 -0
- data/dev/defs/dtrsna +239 -0
- data/dev/defs/dtrsyl +133 -0
- data/dev/defs/dtrti2 +76 -0
- data/dev/defs/dtrtri +75 -0
- data/dev/defs/dtrtrs +107 -0
- data/dev/defs/dtrttf +171 -0
- data/dev/defs/dtrttp +72 -0
- data/dev/defs/dtzrqf +104 -0
- data/dev/defs/dtzrzf +128 -0
- data/dev/defs/dzsum1 +49 -0
- data/dev/defs/icmax1 +55 -0
- data/dev/defs/ieeeck +49 -0
- data/dev/defs/ilaclc +46 -0
- data/dev/defs/ilaclr +46 -0
- data/dev/defs/iladiag +30 -0
- data/dev/defs/iladlc +46 -0
- data/dev/defs/iladlr +46 -0
- data/dev/defs/ilaenv +133 -0
- data/dev/defs/ilaprec +33 -0
- data/dev/defs/ilaslc +46 -0
- data/dev/defs/ilaslr +46 -0
- data/dev/defs/ilatrans +32 -0
- data/dev/defs/ilauplo +30 -0
- data/dev/defs/ilaver +35 -0
- data/dev/defs/ilazlc +46 -0
- data/dev/defs/ilazlr +46 -0
- data/dev/defs/iparmq +177 -0
- data/dev/defs/izmax1 +55 -0
- data/dev/defs/lsamen +50 -0
- data/dev/defs/sbbcsd +297 -0
- data/dev/defs/sbdsdc +192 -0
- data/dev/defs/sbdsqr +203 -0
- data/dev/defs/scsum1 +49 -0
- data/dev/defs/sdisna +84 -0
- data/dev/defs/sgbbrd +167 -0
- data/dev/defs/sgbcon +114 -0
- data/dev/defs/sgbequ +121 -0
- data/dev/defs/sgbequb +128 -0
- data/dev/defs/sgbrfs +182 -0
- data/dev/defs/sgbrfsx +419 -0
- data/dev/defs/sgbsv +134 -0
- data/dev/defs/sgbsvx +356 -0
- data/dev/defs/sgbsvxx +539 -0
- data/dev/defs/sgbtf2 +110 -0
- data/dev/defs/sgbtrf +109 -0
- data/dev/defs/sgbtrs +106 -0
- data/dev/defs/sgebak +95 -0
- data/dev/defs/sgebal +125 -0
- data/dev/defs/sgebd2 +162 -0
- data/dev/defs/sgebrd +178 -0
- data/dev/defs/sgecon +90 -0
- data/dev/defs/sgeequ +107 -0
- data/dev/defs/sgeequb +114 -0
- data/dev/defs/sgees +188 -0
- data/dev/defs/sgeesx +251 -0
- data/dev/defs/sgeev +166 -0
- data/dev/defs/sgeevx +282 -0
- data/dev/defs/sgegs +207 -0
- data/dev/defs/sgegv +286 -0
- data/dev/defs/sgehd2 +115 -0
- data/dev/defs/sgehrd +136 -0
- data/dev/defs/sgejsv +860 -0
- data/dev/defs/sgelq2 +89 -0
- data/dev/defs/sgelqf +113 -0
- data/dev/defs/sgels +158 -0
- data/dev/defs/sgelsd +194 -0
- data/dev/defs/sgelss +149 -0
- data/dev/defs/sgelsx +148 -0
- data/dev/defs/sgelsy +181 -0
- data/dev/defs/sgeql2 +91 -0
- data/dev/defs/sgeqlf +116 -0
- data/dev/defs/sgeqp3 +120 -0
- data/dev/defs/sgeqpf +111 -0
- data/dev/defs/sgeqr2 +89 -0
- data/dev/defs/sgeqr2p +89 -0
- data/dev/defs/sgeqrf +114 -0
- data/dev/defs/sgeqrfp +114 -0
- data/dev/defs/sgerfs +164 -0
- data/dev/defs/sgerfsx +394 -0
- data/dev/defs/sgerq2 +91 -0
- data/dev/defs/sgerqf +116 -0
- data/dev/defs/sgesc2 +86 -0
- data/dev/defs/sgesdd +197 -0
- data/dev/defs/sgesv +97 -0
- data/dev/defs/sgesvd +188 -0
- data/dev/defs/sgesvj +304 -0
- data/dev/defs/sgesvx +333 -0
- data/dev/defs/sgesvxx +519 -0
- data/dev/defs/sgetc2 +82 -0
- data/dev/defs/sgetf2 +76 -0
- data/dev/defs/sgetrf +76 -0
- data/dev/defs/sgetri +86 -0
- data/dev/defs/sgetrs +91 -0
- data/dev/defs/sggbak +119 -0
- data/dev/defs/sggbal +144 -0
- data/dev/defs/sgges +261 -0
- data/dev/defs/sggesx +342 -0
- data/dev/defs/sggev +206 -0
- data/dev/defs/sggevx +371 -0
- data/dev/defs/sggglm +160 -0
- data/dev/defs/sgghrd +174 -0
- data/dev/defs/sgglse +157 -0
- data/dev/defs/sggqrf +195 -0
- data/dev/defs/sggrqf +194 -0
- data/dev/defs/sggsvd +319 -0
- data/dev/defs/sggsvp +233 -0
- data/dev/defs/sgsvj0 +200 -0
- data/dev/defs/sgsvj1 +220 -0
- data/dev/defs/sgtcon +119 -0
- data/dev/defs/sgtrfs +193 -0
- data/dev/defs/sgtsv +100 -0
- data/dev/defs/sgtsvx +275 -0
- data/dev/defs/sgttrf +97 -0
- data/dev/defs/sgttrs +119 -0
- data/dev/defs/sgtts2 +106 -0
- data/dev/defs/shgeqz +282 -0
- data/dev/defs/shsein +234 -0
- data/dev/defs/shseqr +279 -0
- data/dev/defs/sisnan +29 -0
- data/dev/defs/sla_gbamv +152 -0
- data/dev/defs/sla_gbrcond +152 -0
- data/dev/defs/sla_gbrfsx_extended +391 -0
- data/dev/defs/sla_gbrpvgrw +90 -0
- data/dev/defs/sla_geamv +142 -0
- data/dev/defs/sla_gercond +134 -0
- data/dev/defs/sla_gerfsx_extended +376 -0
- data/dev/defs/sla_lin_berr +78 -0
- data/dev/defs/sla_porcond +122 -0
- data/dev/defs/sla_porfsx_extended +363 -0
- data/dev/defs/sla_porpvgrw +81 -0
- data/dev/defs/sla_rpvgrw +72 -0
- data/dev/defs/sla_syamv +142 -0
- data/dev/defs/sla_syrcond +131 -0
- data/dev/defs/sla_syrfsx_extended +372 -0
- data/dev/defs/sla_syrpvgrw +101 -0
- data/dev/defs/sla_wwaddw +53 -0
- data/dev/defs/slabad +43 -0
- data/dev/defs/slabrd +186 -0
- data/dev/defs/slacn2 +96 -0
- data/dev/defs/slacon +80 -0
- data/dev/defs/slacpy +78 -0
- data/dev/defs/sladiv +57 -0
- data/dev/defs/slae2 +66 -0
- data/dev/defs/slaebz +292 -0
- data/dev/defs/slaed0 +147 -0
- data/dev/defs/slaed1 +141 -0
- data/dev/defs/slaed2 +194 -0
- data/dev/defs/slaed3 +167 -0
- data/dev/defs/slaed4 +113 -0
- data/dev/defs/slaed5 +78 -0
- data/dev/defs/slaed6 +101 -0
- data/dev/defs/slaed7 +241 -0
- data/dev/defs/slaed8 +227 -0
- data/dev/defs/slaed9 +137 -0
- data/dev/defs/slaeda +147 -0
- data/dev/defs/slaein +141 -0
- data/dev/defs/slaev2 +83 -0
- data/dev/defs/slaexc +107 -0
- data/dev/defs/slag2 +123 -0
- data/dev/defs/slag2d +74 -0
- data/dev/defs/slags2 +108 -0
- data/dev/defs/slagtf +128 -0
- data/dev/defs/slagtm +115 -0
- data/dev/defs/slagts +135 -0
- data/dev/defs/slagv2 +128 -0
- data/dev/defs/slahqr +172 -0
- data/dev/defs/slahr2 +153 -0
- data/dev/defs/slahrd +142 -0
- data/dev/defs/slaic1 +101 -0
- data/dev/defs/slaln2 +187 -0
- data/dev/defs/slals0 +250 -0
- data/dev/defs/slalsa +268 -0
- data/dev/defs/slalsd +150 -0
- data/dev/defs/slamrg +66 -0
- data/dev/defs/slaneg +87 -0
- data/dev/defs/slangb +93 -0
- data/dev/defs/slange +84 -0
- data/dev/defs/slangt +77 -0
- data/dev/defs/slanhs +78 -0
- data/dev/defs/slansb +97 -0
- data/dev/defs/slansf +179 -0
- data/dev/defs/slansp +83 -0
- data/dev/defs/slanst +69 -0
- data/dev/defs/slansy +92 -0
- data/dev/defs/slantb +108 -0
- data/dev/defs/slantp +93 -0
- data/dev/defs/slantr +109 -0
- data/dev/defs/slanv2 +84 -0
- data/dev/defs/slapll +69 -0
- data/dev/defs/slapmr +73 -0
- data/dev/defs/slapmt +73 -0
- data/dev/defs/slapy2 +30 -0
- data/dev/defs/slapy3 +34 -0
- data/dev/defs/slaqgb +124 -0
- data/dev/defs/slaqge +107 -0
- data/dev/defs/slaqp2 +115 -0
- data/dev/defs/slaqps +146 -0
- data/dev/defs/slaqr0 +225 -0
- data/dev/defs/slaqr1 +79 -0
- data/dev/defs/slaqr2 +252 -0
- data/dev/defs/slaqr3 +247 -0
- data/dev/defs/slaqr4 +225 -0
- data/dev/defs/slaqr5 +230 -0
- data/dev/defs/slaqsb +105 -0
- data/dev/defs/slaqsp +89 -0
- data/dev/defs/slaqsy +98 -0
- data/dev/defs/slaqtr +134 -0
- data/dev/defs/slar1v +199 -0
- data/dev/defs/slar2v +86 -0
- data/dev/defs/slarf +93 -0
- data/dev/defs/slarfb +139 -0
- data/dev/defs/slarfg +71 -0
- data/dev/defs/slarfgp +69 -0
- data/dev/defs/slarft +133 -0
- data/dev/defs/slarfx +89 -0
- data/dev/defs/slargv +74 -0
- data/dev/defs/slarnv +61 -0
- data/dev/defs/slarra +106 -0
- data/dev/defs/slarrb +167 -0
- data/dev/defs/slarrc +99 -0
- data/dev/defs/slarrd +290 -0
- data/dev/defs/slarre +265 -0
- data/dev/defs/slarrf +165 -0
- data/dev/defs/slarrj +138 -0
- data/dev/defs/slarrk +108 -0
- data/dev/defs/slarrr +62 -0
- data/dev/defs/slarrv +259 -0
- data/dev/defs/slarscl2 +61 -0
- data/dev/defs/slartg +64 -0
- data/dev/defs/slartgp +62 -0
- data/dev/defs/slartgs +57 -0
- data/dev/defs/slartv +82 -0
- data/dev/defs/slaruv +59 -0
- data/dev/defs/slarz +109 -0
- data/dev/defs/slarzb +150 -0
- data/dev/defs/slarzt +151 -0
- data/dev/defs/slas2 +71 -0
- data/dev/defs/slascl +102 -0
- data/dev/defs/slascl2 +61 -0
- data/dev/defs/slasd0 +131 -0
- data/dev/defs/slasd1 +179 -0
- data/dev/defs/slasd2 +254 -0
- data/dev/defs/slasd3 +213 -0
- data/dev/defs/slasd4 +123 -0
- data/dev/defs/slasd5 +88 -0
- data/dev/defs/slasd6 +300 -0
- data/dev/defs/slasd7 +264 -0
- data/dev/defs/slasd8 +144 -0
- data/dev/defs/slasda +275 -0
- data/dev/defs/slasdq +187 -0
- data/dev/defs/slasdt +76 -0
- data/dev/defs/slaset +81 -0
- data/dev/defs/slasq1 +75 -0
- data/dev/defs/slasq2 +73 -0
- data/dev/defs/slasq3 +141 -0
- data/dev/defs/slasq4 +107 -0
- data/dev/defs/slasq5 +100 -0
- data/dev/defs/slasq6 +90 -0
- data/dev/defs/slasr +169 -0
- data/dev/defs/slasrt +53 -0
- data/dev/defs/slassq +68 -0
- data/dev/defs/slasv2 +100 -0
- data/dev/defs/slaswp +81 -0
- data/dev/defs/slasy2 +145 -0
- data/dev/defs/slasyf +126 -0
- data/dev/defs/slatbs +206 -0
- data/dev/defs/slatdf +131 -0
- data/dev/defs/slatps +192 -0
- data/dev/defs/slatrd +168 -0
- data/dev/defs/slatrs +202 -0
- data/dev/defs/slatrz +106 -0
- data/dev/defs/slatzm +123 -0
- data/dev/defs/slauu2 +68 -0
- data/dev/defs/slauum +68 -0
- data/dev/defs/sopgtr +87 -0
- data/dev/defs/sopmtr +120 -0
- data/dev/defs/sorbdb +270 -0
- data/dev/defs/sorcsd +264 -0
- data/dev/defs/sorg2l +85 -0
- data/dev/defs/sorg2r +85 -0
- data/dev/defs/sorgbr +129 -0
- data/dev/defs/sorghr +97 -0
- data/dev/defs/sorgl2 +84 -0
- data/dev/defs/sorglq +100 -0
- data/dev/defs/sorgql +101 -0
- data/dev/defs/sorgqr +101 -0
- data/dev/defs/sorgr2 +85 -0
- data/dev/defs/sorgrq +101 -0
- data/dev/defs/sorgtr +95 -0
- data/dev/defs/sorm2l +130 -0
- data/dev/defs/sorm2r +130 -0
- data/dev/defs/sormbr +176 -0
- data/dev/defs/sormhr +157 -0
- data/dev/defs/sorml2 +130 -0
- data/dev/defs/sormlq +143 -0
- data/dev/defs/sormql +143 -0
- data/dev/defs/sormqr +143 -0
- data/dev/defs/sormr2 +130 -0
- data/dev/defs/sormr3 +152 -0
- data/dev/defs/sormrq +143 -0
- data/dev/defs/sormrz +157 -0
- data/dev/defs/sormtr +152 -0
- data/dev/defs/spbcon +98 -0
- data/dev/defs/spbequ +96 -0
- data/dev/defs/spbrfs +166 -0
- data/dev/defs/spbstf +115 -0
- data/dev/defs/spbsv +136 -0
- data/dev/defs/spbsvx +314 -0
- data/dev/defs/spbtf2 +105 -0
- data/dev/defs/spbtrf +103 -0
- data/dev/defs/spbtrs +98 -0
- data/dev/defs/spftrf +161 -0
- data/dev/defs/spftri +154 -0
- data/dev/defs/spftrs +164 -0
- data/dev/defs/spocon +87 -0
- data/dev/defs/spoequ +80 -0
- data/dev/defs/spoequb +80 -0
- data/dev/defs/sporfs +160 -0
- data/dev/defs/sporfsx +370 -0
- data/dev/defs/sposv +105 -0
- data/dev/defs/sposvx +281 -0
- data/dev/defs/sposvxx +471 -0
- data/dev/defs/spotf2 +75 -0
- data/dev/defs/spotrf +73 -0
- data/dev/defs/spotri +67 -0
- data/dev/defs/spotrs +79 -0
- data/dev/defs/sppcon +85 -0
- data/dev/defs/sppequ +82 -0
- data/dev/defs/spprfs +146 -0
- data/dev/defs/sppsv +115 -0
- data/dev/defs/sppsvx +283 -0
- data/dev/defs/spptrf +81 -0
- data/dev/defs/spptri +58 -0
- data/dev/defs/spptrs +84 -0
- data/dev/defs/spstf2 +108 -0
- data/dev/defs/spstrf +108 -0
- data/dev/defs/sptcon +84 -0
- data/dev/defs/spteqr +117 -0
- data/dev/defs/sptrfs +141 -0
- data/dev/defs/sptsv +89 -0
- data/dev/defs/sptsvx +203 -0
- data/dev/defs/spttrf +59 -0
- data/dev/defs/spttrs +88 -0
- data/dev/defs/sptts2 +77 -0
- data/dev/defs/srscl +49 -0
- data/dev/defs/ssbev +117 -0
- data/dev/defs/ssbevd +169 -0
- data/dev/defs/ssbevx +231 -0
- data/dev/defs/ssbgst +130 -0
- data/dev/defs/ssbgv +156 -0
- data/dev/defs/ssbgvd +206 -0
- data/dev/defs/ssbgvx +259 -0
- data/dev/defs/ssbtrd +132 -0
- data/dev/defs/ssfrk +134 -0
- data/dev/defs/sspcon +92 -0
- data/dev/defs/sspev +103 -0
- data/dev/defs/sspevd +154 -0
- data/dev/defs/sspevx +197 -0
- data/dev/defs/sspgst +80 -0
- data/dev/defs/sspgv +139 -0
- data/dev/defs/sspgvd +188 -0
- data/dev/defs/sspgvx +241 -0
- data/dev/defs/ssprfs +156 -0
- data/dev/defs/sspsv +134 -0
- data/dev/defs/sspsvx +249 -0
- data/dev/defs/ssptrd +118 -0
- data/dev/defs/ssptrf +120 -0
- data/dev/defs/ssptri +77 -0
- data/dev/defs/ssptrs +84 -0
- data/dev/defs/sstebz +229 -0
- data/dev/defs/sstedc +164 -0
- data/dev/defs/sstegr +233 -0
- data/dev/defs/sstein +152 -0
- data/dev/defs/sstemr +285 -0
- data/dev/defs/ssteqr +103 -0
- data/dev/defs/ssterf +54 -0
- data/dev/defs/sstev +88 -0
- data/dev/defs/sstevd +138 -0
- data/dev/defs/sstevr +275 -0
- data/dev/defs/sstevx +193 -0
- data/dev/defs/ssycon +98 -0
- data/dev/defs/ssyconv +90 -0
- data/dev/defs/ssyequb +104 -0
- data/dev/defs/ssyev +104 -0
- data/dev/defs/ssyevd +157 -0
- data/dev/defs/ssyevr +302 -0
- data/dev/defs/ssyevx +218 -0
- data/dev/defs/ssygs2 +96 -0
- data/dev/defs/ssygst +96 -0
- data/dev/defs/ssygv +148 -0
- data/dev/defs/ssygvd +197 -0
- data/dev/defs/ssygvx +263 -0
- data/dev/defs/ssyrfs +170 -0
- data/dev/defs/ssyrfsx +380 -0
- data/dev/defs/ssysv +149 -0
- data/dev/defs/ssysvx +261 -0
- data/dev/defs/ssysvxx +484 -0
- data/dev/defs/ssyswapr +70 -0
- data/dev/defs/ssytd2 +142 -0
- data/dev/defs/ssytf2 +143 -0
- data/dev/defs/ssytrd +162 -0
- data/dev/defs/ssytrf +156 -0
- data/dev/defs/ssytri +83 -0
- data/dev/defs/ssytri2 +110 -0
- data/dev/defs/ssytri2x +90 -0
- data/dev/defs/ssytrs +90 -0
- data/dev/defs/ssytrs2 +97 -0
- data/dev/defs/stbcon +109 -0
- data/dev/defs/stbrfs +164 -0
- data/dev/defs/stbtrs +113 -0
- data/dev/defs/stfsm +243 -0
- data/dev/defs/stftri +163 -0
- data/dev/defs/stfttp +151 -0
- data/dev/defs/stfttr +174 -0
- data/dev/defs/stgevc +265 -0
- data/dev/defs/stgex2 +191 -0
- data/dev/defs/stgexc +190 -0
- data/dev/defs/stgsen +421 -0
- data/dev/defs/stgsja +343 -0
- data/dev/defs/stgsna +354 -0
- data/dev/defs/stgsy2 +252 -0
- data/dev/defs/stgsyl +274 -0
- data/dev/defs/stpcon +95 -0
- data/dev/defs/stprfs +150 -0
- data/dev/defs/stptri +79 -0
- data/dev/defs/stptrs +98 -0
- data/dev/defs/stpttf +151 -0
- data/dev/defs/stpttr +73 -0
- data/dev/defs/strcon +103 -0
- data/dev/defs/strevc +191 -0
- data/dev/defs/strexc +113 -0
- data/dev/defs/strrfs +158 -0
- data/dev/defs/strsen +284 -0
- data/dev/defs/strsna +239 -0
- data/dev/defs/strsyl +133 -0
- data/dev/defs/strti2 +76 -0
- data/dev/defs/strtri +75 -0
- data/dev/defs/strtrs +107 -0
- data/dev/defs/strttf +171 -0
- data/dev/defs/strttp +72 -0
- data/dev/defs/stzrqf +104 -0
- data/dev/defs/stzrzf +128 -0
- data/dev/defs/xerbla +40 -0
- data/dev/defs/xerbla_array +65 -0
- data/dev/defs/zbbcsd +297 -0
- data/dev/defs/zbdsqr +196 -0
- data/dev/defs/zcgesv +176 -0
- data/dev/defs/zcposv +182 -0
- data/dev/defs/zdrscl +49 -0
- data/dev/defs/zgbbrd +174 -0
- data/dev/defs/zgbcon +114 -0
- data/dev/defs/zgbequ +121 -0
- data/dev/defs/zgbequb +128 -0
- data/dev/defs/zgbrfs +182 -0
- data/dev/defs/zgbrfsx +418 -0
- data/dev/defs/zgbsv +134 -0
- data/dev/defs/zgbsvx +356 -0
- data/dev/defs/zgbsvxx +536 -0
- data/dev/defs/zgbtf2 +110 -0
- data/dev/defs/zgbtrf +109 -0
- data/dev/defs/zgbtrs +106 -0
- data/dev/defs/zgebak +95 -0
- data/dev/defs/zgebal +125 -0
- data/dev/defs/zgebd2 +162 -0
- data/dev/defs/zgebrd +178 -0
- data/dev/defs/zgecon +90 -0
- data/dev/defs/zgeequ +107 -0
- data/dev/defs/zgeequb +114 -0
- data/dev/defs/zgees +170 -0
- data/dev/defs/zgeesx +209 -0
- data/dev/defs/zgeev +154 -0
- data/dev/defs/zgeevx +263 -0
- data/dev/defs/zgegs +205 -0
- data/dev/defs/zgegv +261 -0
- data/dev/defs/zgehd2 +115 -0
- data/dev/defs/zgehrd +136 -0
- data/dev/defs/zgelq2 +89 -0
- data/dev/defs/zgelqf +113 -0
- data/dev/defs/zgels +157 -0
- data/dev/defs/zgelsd +211 -0
- data/dev/defs/zgelss +156 -0
- data/dev/defs/zgelsx +155 -0
- data/dev/defs/zgelsy +188 -0
- data/dev/defs/zgeql2 +91 -0
- data/dev/defs/zgeqlf +116 -0
- data/dev/defs/zgeqp3 +127 -0
- data/dev/defs/zgeqpf +118 -0
- data/dev/defs/zgeqr2 +89 -0
- data/dev/defs/zgeqr2p +89 -0
- data/dev/defs/zgeqrf +114 -0
- data/dev/defs/zgeqrfp +114 -0
- data/dev/defs/zgerfs +164 -0
- data/dev/defs/zgerfsx +394 -0
- data/dev/defs/zgerq2 +91 -0
- data/dev/defs/zgerqf +116 -0
- data/dev/defs/zgesc2 +87 -0
- data/dev/defs/zgesdd +203 -0
- data/dev/defs/zgesv +97 -0
- data/dev/defs/zgesvd +195 -0
- data/dev/defs/zgesvx +333 -0
- data/dev/defs/zgesvxx +516 -0
- data/dev/defs/zgetc2 +82 -0
- data/dev/defs/zgetf2 +76 -0
- data/dev/defs/zgetrf +76 -0
- data/dev/defs/zgetri +86 -0
- data/dev/defs/zgetrs +91 -0
- data/dev/defs/zggbak +119 -0
- data/dev/defs/zggbal +144 -0
- data/dev/defs/zgges +247 -0
- data/dev/defs/zggesx +311 -0
- data/dev/defs/zggev +197 -0
- data/dev/defs/zggevx +353 -0
- data/dev/defs/zggglm +160 -0
- data/dev/defs/zgghrd +171 -0
- data/dev/defs/zgglse +157 -0
- data/dev/defs/zggqrf +195 -0
- data/dev/defs/zggrqf +194 -0
- data/dev/defs/zggsvd +324 -0
- data/dev/defs/zggsvp +240 -0
- data/dev/defs/zgtcon +112 -0
- data/dev/defs/zgtrfs +193 -0
- data/dev/defs/zgtsv +97 -0
- data/dev/defs/zgtsvx +275 -0
- data/dev/defs/zgttrf +97 -0
- data/dev/defs/zgttrs +119 -0
- data/dev/defs/zgtts2 +108 -0
- data/dev/defs/zhbev +124 -0
- data/dev/defs/zhbevd +194 -0
- data/dev/defs/zhbevx +234 -0
- data/dev/defs/zhbgst +137 -0
- data/dev/defs/zhbgv +163 -0
- data/dev/defs/zhbgvd +231 -0
- data/dev/defs/zhbgvx +265 -0
- data/dev/defs/zhbtrd +132 -0
- data/dev/defs/zhecon +91 -0
- data/dev/defs/zheequb +87 -0
- data/dev/defs/zheev +111 -0
- data/dev/defs/zheevd +178 -0
- data/dev/defs/zheevr +325 -0
- data/dev/defs/zheevx +225 -0
- data/dev/defs/zhegs2 +96 -0
- data/dev/defs/zhegst +96 -0
- data/dev/defs/zhegv +155 -0
- data/dev/defs/zhegvd +222 -0
- data/dev/defs/zhegvx +270 -0
- data/dev/defs/zherfs +170 -0
- data/dev/defs/zherfsx +380 -0
- data/dev/defs/zhesv +147 -0
- data/dev/defs/zhesvx +261 -0
- data/dev/defs/zhesvxx +478 -0
- data/dev/defs/zhetd2 +143 -0
- data/dev/defs/zhetf2 +141 -0
- data/dev/defs/zhetrd +162 -0
- data/dev/defs/zhetrf +151 -0
- data/dev/defs/zhetri +83 -0
- data/dev/defs/zhetrs +90 -0
- data/dev/defs/zhetrs2 +97 -0
- data/dev/defs/zhfrk +138 -0
- data/dev/defs/zhgeqz +258 -0
- data/dev/defs/zhpcon +85 -0
- data/dev/defs/zhpev +110 -0
- data/dev/defs/zhpevd +180 -0
- data/dev/defs/zhpevx +204 -0
- data/dev/defs/zhpgst +80 -0
- data/dev/defs/zhpgv +145 -0
- data/dev/defs/zhpgvd +221 -0
- data/dev/defs/zhpgvx +247 -0
- data/dev/defs/zhprfs +156 -0
- data/dev/defs/zhpsv +134 -0
- data/dev/defs/zhpsvx +248 -0
- data/dev/defs/zhptrd +118 -0
- data/dev/defs/zhptrf +120 -0
- data/dev/defs/zhptri +77 -0
- data/dev/defs/zhptrs +84 -0
- data/dev/defs/zhsein +217 -0
- data/dev/defs/zhseqr +263 -0
- data/dev/defs/zla_gbamv +154 -0
- data/dev/defs/zla_gbrcond_c +146 -0
- data/dev/defs/zla_gbrcond_x +140 -0
- data/dev/defs/zla_gbrfsx_extended +391 -0
- data/dev/defs/zla_gbrpvgrw +94 -0
- data/dev/defs/zla_geamv +142 -0
- data/dev/defs/zla_gercond_c +128 -0
- data/dev/defs/zla_gercond_x +122 -0
- data/dev/defs/zla_gerfsx_extended +378 -0
- data/dev/defs/zla_heamv +142 -0
- data/dev/defs/zla_hercond_c +125 -0
- data/dev/defs/zla_hercond_x +119 -0
- data/dev/defs/zla_herfsx_extended +375 -0
- data/dev/defs/zla_herpvgrw +105 -0
- data/dev/defs/zla_lin_berr +79 -0
- data/dev/defs/zla_porcond_c +116 -0
- data/dev/defs/zla_porcond_x +110 -0
- data/dev/defs/zla_porfsx_extended +366 -0
- data/dev/defs/zla_porpvgrw +85 -0
- data/dev/defs/zla_rpvgrw +76 -0
- data/dev/defs/zla_syamv +142 -0
- data/dev/defs/zla_syrcond_c +125 -0
- data/dev/defs/zla_syrcond_x +119 -0
- data/dev/defs/zla_syrfsx_extended +375 -0
- data/dev/defs/zla_syrpvgrw +105 -0
- data/dev/defs/zla_wwaddw +53 -0
- data/dev/defs/zlabrd +187 -0
- data/dev/defs/zlacgv +44 -0
- data/dev/defs/zlacn2 +91 -0
- data/dev/defs/zlacon +75 -0
- data/dev/defs/zlacp2 +78 -0
- data/dev/defs/zlacpy +78 -0
- data/dev/defs/zlacrm +88 -0
- data/dev/defs/zlacrt +73 -0
- data/dev/defs/zladiv +37 -0
- data/dev/defs/zlaed0 +121 -0
- data/dev/defs/zlaed7 +237 -0
- data/dev/defs/zlaed8 +211 -0
- data/dev/defs/zlaein +117 -0
- data/dev/defs/zlaesy +81 -0
- data/dev/defs/zlaev2 +83 -0
- data/dev/defs/zlag2c +82 -0
- data/dev/defs/zlags2 +116 -0
- data/dev/defs/zlagtm +115 -0
- data/dev/defs/zlahef +127 -0
- data/dev/defs/zlahqr +159 -0
- data/dev/defs/zlahr2 +153 -0
- data/dev/defs/zlahrd +141 -0
- data/dev/defs/zlaic1 +101 -0
- data/dev/defs/zlals0 +251 -0
- data/dev/defs/zlalsa +267 -0
- data/dev/defs/zlalsd +160 -0
- data/dev/defs/zlangb +92 -0
- data/dev/defs/zlange +84 -0
- data/dev/defs/zlangt +77 -0
- data/dev/defs/zlanhb +99 -0
- data/dev/defs/zlanhe +93 -0
- data/dev/defs/zlanhf +211 -0
- data/dev/defs/zlanhp +85 -0
- data/dev/defs/zlanhs +78 -0
- data/dev/defs/zlanht +69 -0
- data/dev/defs/zlansb +97 -0
- data/dev/defs/zlansp +83 -0
- data/dev/defs/zlansy +92 -0
- data/dev/defs/zlantb +108 -0
- data/dev/defs/zlantp +93 -0
- data/dev/defs/zlantr +109 -0
- data/dev/defs/zlapll +67 -0
- data/dev/defs/zlapmr +73 -0
- data/dev/defs/zlapmt +73 -0
- data/dev/defs/zlaqgb +124 -0
- data/dev/defs/zlaqge +107 -0
- data/dev/defs/zlaqhb +105 -0
- data/dev/defs/zlaqhe +98 -0
- data/dev/defs/zlaqhp +89 -0
- data/dev/defs/zlaqp2 +115 -0
- data/dev/defs/zlaqps +141 -0
- data/dev/defs/zlaqr0 +203 -0
- data/dev/defs/zlaqr1 +66 -0
- data/dev/defs/zlaqr2 +243 -0
- data/dev/defs/zlaqr3 +238 -0
- data/dev/defs/zlaqr4 +203 -0
- data/dev/defs/zlaqr5 +221 -0
- data/dev/defs/zlaqsb +105 -0
- data/dev/defs/zlaqsp +89 -0
- data/dev/defs/zlaqsy +98 -0
- data/dev/defs/zlar1v +199 -0
- data/dev/defs/zlar2v +88 -0
- data/dev/defs/zlarcm +88 -0
- data/dev/defs/zlarf +97 -0
- data/dev/defs/zlarfb +139 -0
- data/dev/defs/zlarfg +71 -0
- data/dev/defs/zlarfgp +69 -0
- data/dev/defs/zlarft +133 -0
- data/dev/defs/zlarfx +88 -0
- data/dev/defs/zlargv +88 -0
- data/dev/defs/zlarnv +63 -0
- data/dev/defs/zlarrv +259 -0
- data/dev/defs/zlarscl2 +61 -0
- data/dev/defs/zlartg +66 -0
- data/dev/defs/zlartv +82 -0
- data/dev/defs/zlarz +111 -0
- data/dev/defs/zlarzb +150 -0
- data/dev/defs/zlarzt +151 -0
- data/dev/defs/zlascl +102 -0
- data/dev/defs/zlascl2 +61 -0
- data/dev/defs/zlaset +77 -0
- data/dev/defs/zlasr +169 -0
- data/dev/defs/zlassq +71 -0
- data/dev/defs/zlaswp +81 -0
- data/dev/defs/zlasyf +127 -0
- data/dev/defs/zlat2c +85 -0
- data/dev/defs/zlatbs +206 -0
- data/dev/defs/zlatdf +133 -0
- data/dev/defs/zlatps +193 -0
- data/dev/defs/zlatrd +168 -0
- data/dev/defs/zlatrs +202 -0
- data/dev/defs/zlatrz +106 -0
- data/dev/defs/zlatzm +124 -0
- data/dev/defs/zlauu2 +68 -0
- data/dev/defs/zlauum +68 -0
- data/dev/defs/zpbcon +99 -0
- data/dev/defs/zpbequ +96 -0
- data/dev/defs/zpbrfs +166 -0
- data/dev/defs/zpbstf +116 -0
- data/dev/defs/zpbsv +136 -0
- data/dev/defs/zpbsvx +314 -0
- data/dev/defs/zpbtf2 +105 -0
- data/dev/defs/zpbtrf +103 -0
- data/dev/defs/zpbtrs +98 -0
- data/dev/defs/zpftrf +182 -0
- data/dev/defs/zpftri +175 -0
- data/dev/defs/zpftrs +185 -0
- data/dev/defs/zpocon +87 -0
- data/dev/defs/zpoequ +80 -0
- data/dev/defs/zpoequb +80 -0
- data/dev/defs/zporfs +160 -0
- data/dev/defs/zporfsx +370 -0
- data/dev/defs/zposv +105 -0
- data/dev/defs/zposvx +281 -0
- data/dev/defs/zposvxx +468 -0
- data/dev/defs/zpotf2 +75 -0
- data/dev/defs/zpotrf +73 -0
- data/dev/defs/zpotri +67 -0
- data/dev/defs/zpotrs +79 -0
- data/dev/defs/zppcon +85 -0
- data/dev/defs/zppequ +82 -0
- data/dev/defs/zpprfs +146 -0
- data/dev/defs/zppsv +115 -0
- data/dev/defs/zppsvx +283 -0
- data/dev/defs/zpptrf +81 -0
- data/dev/defs/zpptri +58 -0
- data/dev/defs/zpptrs +84 -0
- data/dev/defs/zpstf2 +108 -0
- data/dev/defs/zpstrf +108 -0
- data/dev/defs/zptcon +84 -0
- data/dev/defs/zpteqr +116 -0
- data/dev/defs/zptrfs +161 -0
- data/dev/defs/zptsv +89 -0
- data/dev/defs/zptsvx +210 -0
- data/dev/defs/zpttrf +59 -0
- data/dev/defs/zpttrs +98 -0
- data/dev/defs/zptts2 +89 -0
- data/dev/defs/zrot +72 -0
- data/dev/defs/zspcon +85 -0
- data/dev/defs/zspmv +119 -0
- data/dev/defs/zspr +98 -0
- data/dev/defs/zsprfs +156 -0
- data/dev/defs/zspsv +134 -0
- data/dev/defs/zspsvx +248 -0
- data/dev/defs/zsptrf +121 -0
- data/dev/defs/zsptri +77 -0
- data/dev/defs/zsptrs +84 -0
- data/dev/defs/zstedc +192 -0
- data/dev/defs/zstegr +233 -0
- data/dev/defs/zstein +159 -0
- data/dev/defs/zstemr +302 -0
- data/dev/defs/zsteqr +103 -0
- data/dev/defs/zsycon +91 -0
- data/dev/defs/zsyconv +90 -0
- data/dev/defs/zsyequb +104 -0
- data/dev/defs/zsymv +126 -0
- data/dev/defs/zsyr +102 -0
- data/dev/defs/zsyrfs +170 -0
- data/dev/defs/zsyrfsx +380 -0
- data/dev/defs/zsysv +149 -0
- data/dev/defs/zsysvx +261 -0
- data/dev/defs/zsysvxx +482 -0
- data/dev/defs/zsyswapr +70 -0
- data/dev/defs/zsytf2 +140 -0
- data/dev/defs/zsytrf +156 -0
- data/dev/defs/zsytri +83 -0
- data/dev/defs/zsytri2 +111 -0
- data/dev/defs/zsytri2x +90 -0
- data/dev/defs/zsytrs +90 -0
- data/dev/defs/zsytrs2 +97 -0
- data/dev/defs/ztbcon +109 -0
- data/dev/defs/ztbrfs +164 -0
- data/dev/defs/ztbtrs +113 -0
- data/dev/defs/ztfsm +259 -0
- data/dev/defs/ztftri +183 -0
- data/dev/defs/ztfttp +172 -0
- data/dev/defs/ztfttr +182 -0
- data/dev/defs/ztgevc +194 -0
- data/dev/defs/ztgex2 +158 -0
- data/dev/defs/ztgexc +176 -0
- data/dev/defs/ztgsen +406 -0
- data/dev/defs/ztgsja +344 -0
- data/dev/defs/ztgsna +282 -0
- data/dev/defs/ztgsy2 +235 -0
- data/dev/defs/ztgsyl +273 -0
- data/dev/defs/ztpcon +95 -0
- data/dev/defs/ztprfs +150 -0
- data/dev/defs/ztptri +79 -0
- data/dev/defs/ztptrs +98 -0
- data/dev/defs/ztpttf +172 -0
- data/dev/defs/ztpttr +73 -0
- data/dev/defs/ztrcon +103 -0
- data/dev/defs/ztrevc +188 -0
- data/dev/defs/ztrexc +99 -0
- data/dev/defs/ztrrfs +158 -0
- data/dev/defs/ztrsen +234 -0
- data/dev/defs/ztrsna +223 -0
- data/dev/defs/ztrsyl +126 -0
- data/dev/defs/ztrti2 +76 -0
- data/dev/defs/ztrtri +75 -0
- data/dev/defs/ztrtrs +107 -0
- data/dev/defs/ztrttf +181 -0
- data/dev/defs/ztrttp +72 -0
- data/dev/defs/ztzrqf +104 -0
- data/dev/defs/ztzrzf +128 -0
- data/dev/defs/zunbdb +270 -0
- data/dev/defs/zuncsd +283 -0
- data/dev/defs/zung2l +85 -0
- data/dev/defs/zung2r +85 -0
- data/dev/defs/zungbr +129 -0
- data/dev/defs/zunghr +97 -0
- data/dev/defs/zungl2 +84 -0
- data/dev/defs/zunglq +100 -0
- data/dev/defs/zungql +101 -0
- data/dev/defs/zungqr +101 -0
- data/dev/defs/zungr2 +85 -0
- data/dev/defs/zungrq +101 -0
- data/dev/defs/zungtr +95 -0
- data/dev/defs/zunm2l +130 -0
- data/dev/defs/zunm2r +130 -0
- data/dev/defs/zunmbr +177 -0
- data/dev/defs/zunmhr +157 -0
- data/dev/defs/zunml2 +130 -0
- data/dev/defs/zunmlq +143 -0
- data/dev/defs/zunmql +143 -0
- data/dev/defs/zunmqr +143 -0
- data/dev/defs/zunmr2 +130 -0
- data/dev/defs/zunmr3 +152 -0
- data/dev/defs/zunmrq +143 -0
- data/dev/defs/zunmrz +157 -0
- data/dev/defs/zunmtr +152 -0
- data/dev/defs/zupgtr +87 -0
- data/dev/defs/zupmtr +120 -0
- data/dev/make_csrc.rb +857 -0
- data/dev/mkdoc.rb +265 -0
- data/dev/parse.rb +1972 -0
- data/doc/bd.html +16 -0
- data/doc/c.html +36 -0
- data/doc/cbd.html +161 -0
- data/doc/cgb.html +1865 -0
- data/doc/cge.html +5261 -0
- data/doc/cgg.html +2027 -0
- data/doc/cgt.html +711 -0
- data/doc/chb.html +1031 -0
- data/doc/che.html +3165 -0
- data/doc/chg.html +201 -0
- data/doc/chp.html +1696 -0
- data/doc/chs.html +386 -0
- data/doc/cpb.html +994 -0
- data/doc/cpo.html +1520 -0
- data/doc/cpp.html +770 -0
- data/doc/cpt.html +706 -0
- data/doc/csp.html +905 -0
- data/doc/cst.html +742 -0
- data/doc/csy.html +2194 -0
- data/doc/ctb.html +284 -0
- data/doc/ctg.html +1544 -0
- data/doc/ctp.html +553 -0
- data/doc/ctr.html +1281 -0
- data/doc/ctz.html +211 -0
- data/doc/cun.html +2553 -0
- data/doc/cup.html +166 -0
- data/doc/d.html +35 -0
- data/doc/dbd.html +304 -0
- data/doc/ddi.html +87 -0
- data/doc/dgb.html +1857 -0
- data/doc/dge.html +7267 -0
- data/doc/dgg.html +2102 -0
- data/doc/dgt.html +713 -0
- data/doc/dhg.html +225 -0
- data/doc/dhs.html +414 -0
- data/doc/di.html +14 -0
- data/doc/dop.html +166 -0
- data/doc/dor.html +2540 -0
- data/doc/dpb.html +992 -0
- data/doc/dpo.html +1517 -0
- data/doc/dpp.html +770 -0
- data/doc/dpt.html +675 -0
- data/doc/dsb.html +995 -0
- data/doc/dsp.html +1777 -0
- data/doc/dst.html +1422 -0
- data/doc/dsy.html +3433 -0
- data/doc/dtb.html +284 -0
- data/doc/dtg.html +1730 -0
- data/doc/dtp.html +532 -0
- data/doc/dtr.html +1346 -0
- data/doc/dtz.html +211 -0
- data/doc/gb.html +16 -0
- data/doc/ge.html +16 -0
- data/doc/gg.html +16 -0
- data/doc/gt.html +16 -0
- data/doc/hb.html +14 -0
- data/doc/he.html +14 -0
- data/doc/hg.html +16 -0
- data/doc/hp.html +14 -0
- data/doc/hs.html +16 -0
- data/doc/index.html +53 -0
- data/doc/op.html +14 -0
- data/doc/or.html +14 -0
- data/doc/others.html +1142 -0
- data/doc/pb.html +16 -0
- data/doc/po.html +16 -0
- data/doc/pp.html +16 -0
- data/doc/pt.html +16 -0
- data/doc/s.html +35 -0
- data/doc/sb.html +14 -0
- data/doc/sbd.html +303 -0
- data/doc/sdi.html +87 -0
- data/doc/sgb.html +1863 -0
- data/doc/sge.html +7263 -0
- data/doc/sgg.html +2102 -0
- data/doc/sgt.html +713 -0
- data/doc/shg.html +225 -0
- data/doc/shs.html +414 -0
- data/doc/sop.html +166 -0
- data/doc/sor.html +2540 -0
- data/doc/sp.html +16 -0
- data/doc/spb.html +992 -0
- data/doc/spo.html +1520 -0
- data/doc/spp.html +770 -0
- data/doc/spt.html +675 -0
- data/doc/ssb.html +995 -0
- data/doc/ssp.html +1647 -0
- data/doc/sst.html +1423 -0
- data/doc/ssy.html +3438 -0
- data/doc/st.html +16 -0
- data/doc/stb.html +284 -0
- data/doc/stg.html +1729 -0
- data/doc/stp.html +532 -0
- data/doc/str.html +1346 -0
- data/doc/stz.html +211 -0
- data/doc/sy.html +16 -0
- data/doc/tb.html +16 -0
- data/doc/tg.html +16 -0
- data/doc/tp.html +16 -0
- data/doc/tr.html +16 -0
- data/doc/tz.html +16 -0
- data/doc/un.html +14 -0
- data/doc/up.html +14 -0
- data/doc/z.html +36 -0
- data/doc/zbd.html +161 -0
- data/doc/zgb.html +1862 -0
- data/doc/zge.html +5258 -0
- data/doc/zgg.html +2027 -0
- data/doc/zgt.html +711 -0
- data/doc/zhb.html +1031 -0
- data/doc/zhe.html +3162 -0
- data/doc/zhg.html +201 -0
- data/doc/zhp.html +1697 -0
- data/doc/zhs.html +386 -0
- data/doc/zpb.html +994 -0
- data/doc/zpo.html +1517 -0
- data/doc/zpp.html +770 -0
- data/doc/zpt.html +706 -0
- data/doc/zsp.html +905 -0
- data/doc/zst.html +743 -0
- data/doc/zsy.html +2191 -0
- data/doc/ztb.html +284 -0
- data/doc/ztg.html +1544 -0
- data/doc/ztp.html +553 -0
- data/doc/ztr.html +1281 -0
- data/doc/ztz.html +211 -0
- data/doc/zun.html +2553 -0
- data/doc/zup.html +166 -0
- data/ext/cbbcsd.c +279 -0
- data/ext/cbdsqr.c +178 -0
- data/ext/cgbbrd.c +153 -0
- data/ext/cgbcon.c +94 -0
- data/ext/cgbequ.c +94 -0
- data/ext/cgbequb.c +92 -0
- data/ext/cgbrfs.c +157 -0
- data/ext/cgbrfsx.c +245 -0
- data/ext/cgbsv.c +111 -0
- data/ext/cgbsvx.c +282 -0
- data/ext/cgbsvxx.c +285 -0
- data/ext/cgbtf2.c +89 -0
- data/ext/cgbtrf.c +89 -0
- data/ext/cgbtrs.c +107 -0
- data/ext/cgebak.c +97 -0
- data/ext/cgebal.c +87 -0
- data/ext/cgebd2.c +108 -0
- data/ext/cgebrd.c +123 -0
- data/ext/cgecon.c +74 -0
- data/ext/cgeequ.c +84 -0
- data/ext/cgeequb.c +84 -0
- data/ext/cgees.c +138 -0
- data/ext/cgeesx.c +148 -0
- data/ext/cgeev.c +128 -0
- data/ext/cgeevx.c +169 -0
- data/ext/cgegs.c +162 -0
- data/ext/cgegv.c +167 -0
- data/ext/cgehd2.c +88 -0
- data/ext/cgehrd.c +103 -0
- data/ext/cgelq2.c +82 -0
- data/ext/cgelqf.c +99 -0
- data/ext/cgels.c +133 -0
- data/ext/cgelsd.c +150 -0
- data/ext/cgelss.c +147 -0
- data/ext/cgelsx.c +135 -0
- data/ext/cgelsy.c +162 -0
- data/ext/cgeql2.c +84 -0
- data/ext/cgeqlf.c +99 -0
- data/ext/cgeqp3.c +125 -0
- data/ext/cgeqpf.c +110 -0
- data/ext/cgeqr2.c +84 -0
- data/ext/cgeqr2p.c +84 -0
- data/ext/cgeqrf.c +99 -0
- data/ext/cgeqrfp.c +99 -0
- data/ext/cgerfs.c +149 -0
- data/ext/cgerfsx.c +215 -0
- data/ext/cgerq2.c +82 -0
- data/ext/cgerqf.c +99 -0
- data/ext/cgesc2.c +104 -0
- data/ext/cgesdd.c +131 -0
- data/ext/cgesv.c +103 -0
- data/ext/cgesvd.c +142 -0
- data/ext/cgesvx.c +274 -0
- data/ext/cgesvxx.c +277 -0
- data/ext/cgetc2.c +85 -0
- data/ext/cgetf2.c +81 -0
- data/ext/cgetrf.c +81 -0
- data/ext/cgetri.c +99 -0
- data/ext/cgetrs.c +99 -0
- data/ext/cggbak.c +109 -0
- data/ext/cggbal.c +124 -0
- data/ext/cgges.c +188 -0
- data/ext/cggesx.c +226 -0
- data/ext/cggev.c +167 -0
- data/ext/cggevx.c +222 -0
- data/ext/cggglm.c +152 -0
- data/ext/cgghrd.c +163 -0
- data/ext/cgglse.c +167 -0
- data/ext/cggqrf.c +133 -0
- data/ext/cggrqf.c +137 -0
- data/ext/cggsvd.c +180 -0
- data/ext/cggsvp.c +170 -0
- data/ext/cgtcon.c +117 -0
- data/ext/cgtrfs.c +205 -0
- data/ext/cgtsv.c +138 -0
- data/ext/cgtsvx.c +252 -0
- data/ext/cgttrf.c +128 -0
- data/ext/cgttrs.c +133 -0
- data/ext/cgtts2.c +130 -0
- data/ext/chbev.c +106 -0
- data/ext/chbevd.c +154 -0
- data/ext/chbevx.c +156 -0
- data/ext/chbgst.c +116 -0
- data/ext/chbgv.c +136 -0
- data/ext/chbgvd.c +184 -0
- data/ext/chbgvx.c +185 -0
- data/ext/chbtrd.c +126 -0
- data/ext/checon.c +83 -0
- data/ext/cheequb.c +78 -0
- data/ext/cheev.c +106 -0
- data/ext/cheevd.c +139 -0
- data/ext/cheevr.c +186 -0
- data/ext/cheevx.c +156 -0
- data/ext/chegs2.c +91 -0
- data/ext/chegst.c +91 -0
- data/ext/chegv.c +136 -0
- data/ext/chegvd.c +169 -0
- data/ext/chegvx.c +186 -0
- data/ext/cherfs.c +149 -0
- data/ext/cherfsx.c +214 -0
- data/ext/chesv.c +119 -0
- data/ext/chesvx.c +179 -0
- data/ext/chesvxx.c +254 -0
- data/ext/chetd2.c +97 -0
- data/ext/chetf2.c +81 -0
- data/ext/chetrd.c +109 -0
- data/ext/chetrf.c +93 -0
- data/ext/chetri.c +88 -0
- data/ext/chetrs.c +99 -0
- data/ext/chetrs2.c +102 -0
- data/ext/chfrk.c +105 -0
- data/ext/chgeqz.c +204 -0
- data/ext/chla_transtype.c +47 -0
- data/ext/chpcon.c +81 -0
- data/ext/chpev.c +101 -0
- data/ext/chpevd.c +149 -0
- data/ext/chpevx.c +140 -0
- data/ext/chpgst.c +90 -0
- data/ext/chpgv.c +128 -0
- data/ext/chpgvd.c +166 -0
- data/ext/chpgvx.c +166 -0
- data/ext/chprfs.c +145 -0
- data/ext/chpsv.c +106 -0
- data/ext/chpsvx.c +159 -0
- data/ext/chptrd.c +96 -0
- data/ext/chptrf.c +80 -0
- data/ext/chptri.c +85 -0
- data/ext/chptrs.c +97 -0
- data/ext/chsein.c +181 -0
- data/ext/chseqr.c +141 -0
- data/ext/cla_gbamv.c +123 -0
- data/ext/cla_gbrcond_c.c +138 -0
- data/ext/cla_gbrcond_x.c +134 -0
- data/ext/cla_gbrfsx_extended.c +291 -0
- data/ext/cla_gbrpvgrw.c +83 -0
- data/ext/cla_geamv.c +113 -0
- data/ext/cla_gercond_c.c +130 -0
- data/ext/cla_gercond_x.c +126 -0
- data/ext/cla_gerfsx_extended.c +277 -0
- data/ext/cla_heamv.c +112 -0
- data/ext/cla_hercond_c.c +130 -0
- data/ext/cla_hercond_x.c +126 -0
- data/ext/cla_herfsx_extended.c +279 -0
- data/ext/cla_herpvgrw.c +103 -0
- data/ext/cla_lin_berr.c +80 -0
- data/ext/cla_porcond_c.c +118 -0
- data/ext/cla_porcond_x.c +114 -0
- data/ext/cla_porfsx_extended.c +267 -0
- data/ext/cla_porpvgrw.c +91 -0
- data/ext/cla_rpvgrw.c +75 -0
- data/ext/cla_syamv.c +111 -0
- data/ext/cla_syrcond_c.c +130 -0
- data/ext/cla_syrcond_x.c +126 -0
- data/ext/cla_syrfsx_extended.c +279 -0
- data/ext/cla_syrpvgrw.c +103 -0
- data/ext/cla_wwaddw.c +98 -0
- data/ext/clabrd.c +128 -0
- data/ext/clacgv.c +71 -0
- data/ext/clacn2.c +99 -0
- data/ext/clacon.c +76 -0
- data/ext/clacp2.c +73 -0
- data/ext/clacpy.c +73 -0
- data/ext/clacrm.c +86 -0
- data/ext/clacrt.c +104 -0
- data/ext/cladiv.c +53 -0
- data/ext/claed0.c +130 -0
- data/ext/claed7.c +243 -0
- data/ext/claed8.c +194 -0
- data/ext/claein.c +109 -0
- data/ext/claesy.c +70 -0
- data/ext/claev2.c +67 -0
- data/ext/clag2z.c +72 -0
- data/ext/clags2.c +88 -0
- data/ext/clagtm.c +128 -0
- data/ext/clahef.c +93 -0
- data/ext/clahqr.c +131 -0
- data/ext/clahr2.c +108 -0
- data/ext/clahrd.c +108 -0
- data/ext/claic1.c +86 -0
- data/ext/clals0.c +197 -0
- data/ext/clalsa.c +266 -0
- data/ext/clalsd.c +141 -0
- data/ext/clangb.c +72 -0
- data/ext/clange.c +70 -0
- data/ext/clangt.c +83 -0
- data/ext/clanhb.c +74 -0
- data/ext/clanhe.c +68 -0
- data/ext/clanhf.c +76 -0
- data/ext/clanhp.c +70 -0
- data/ext/clanhs.c +66 -0
- data/ext/clanht.c +71 -0
- data/ext/clansb.c +74 -0
- data/ext/clansp.c +70 -0
- data/ext/clansy.c +68 -0
- data/ext/clantb.c +76 -0
- data/ext/clantp.c +76 -0
- data/ext/clantr.c +78 -0
- data/ext/clapll.c +101 -0
- data/ext/clapmr.c +93 -0
- data/ext/clapmt.c +97 -0
- data/ext/claqgb.c +113 -0
- data/ext/claqge.c +105 -0
- data/ext/claqhb.c +93 -0
- data/ext/claqhe.c +93 -0
- data/ext/claqhp.c +90 -0
- data/ext/claqp2.c +154 -0
- data/ext/claqps.c +204 -0
- data/ext/claqr0.c +141 -0
- data/ext/claqr1.c +72 -0
- data/ext/claqr2.c +170 -0
- data/ext/claqr3.c +170 -0
- data/ext/claqr4.c +141 -0
- data/ext/claqr5.c +175 -0
- data/ext/claqsb.c +97 -0
- data/ext/claqsp.c +90 -0
- data/ext/claqsy.c +93 -0
- data/ext/clar1v.c +169 -0
- data/ext/clar2v.c +145 -0
- data/ext/clarcm.c +82 -0
- data/ext/clarf.c +98 -0
- data/ext/clarfb.c +119 -0
- data/ext/clarfg.c +80 -0
- data/ext/clarfgp.c +80 -0
- data/ext/clarft.c +101 -0
- data/ext/clarfx.c +90 -0
- data/ext/clargv.c +110 -0
- data/ext/clarnv.c +79 -0
- data/ext/clarrv.c +267 -0
- data/ext/clarscl2.c +78 -0
- data/ext/clartg.c +59 -0
- data/ext/clartv.c +126 -0
- data/ext/clarz.c +102 -0
- data/ext/clarzb.c +123 -0
- data/ext/clarzt.c +101 -0
- data/ext/clascl.c +93 -0
- data/ext/clascl2.c +78 -0
- data/ext/claset.c +84 -0
- data/ext/clasr.c +106 -0
- data/ext/classq.c +66 -0
- data/ext/claswp.c +90 -0
- data/ext/clasyf.c +93 -0
- data/ext/clatbs.c +126 -0
- data/ext/clatdf.c +115 -0
- data/ext/clatps.c +120 -0
- data/ext/clatrd.c +101 -0
- data/ext/clatrs.c +122 -0
- data/ext/clatrz.c +83 -0
- data/ext/clatzm.c +128 -0
- data/ext/clauu2.c +73 -0
- data/ext/clauum.c +73 -0
- data/ext/cpbcon.c +78 -0
- data/ext/cpbequ.c +79 -0
- data/ext/cpbrfs.c +141 -0
- data/ext/cpbstf.c +77 -0
- data/ext/cpbsv.c +103 -0
- data/ext/cpbsvx.c +197 -0
- data/ext/cpbtf2.c +77 -0
- data/ext/cpbtrf.c +77 -0
- data/ext/cpbtrs.c +91 -0
- data/ext/cpftrf.c +78 -0
- data/ext/cpftri.c +78 -0
- data/ext/cpftrs.c +93 -0
- data/ext/cpocon.c +74 -0
- data/ext/cpoequ.c +71 -0
- data/ext/cpoequb.c +71 -0
- data/ext/cporfs.c +137 -0
- data/ext/cporfsx.c +202 -0
- data/ext/cposv.c +99 -0
- data/ext/cposvx.c +193 -0
- data/ext/cposvxx.c +231 -0
- data/ext/cpotf2.c +73 -0
- data/ext/cpotrf.c +73 -0
- data/ext/cpotri.c +73 -0
- data/ext/cpotrs.c +87 -0
- data/ext/cppcon.c +74 -0
- data/ext/cppequ.c +75 -0
- data/ext/cpprfs.c +135 -0
- data/ext/cppsv.c +100 -0
- data/ext/cppsvx.c +187 -0
- data/ext/cpptrf.c +74 -0
- data/ext/cpptri.c +74 -0
- data/ext/cpptrs.c +89 -0
- data/ext/cpstf2.c +91 -0
- data/ext/cpstrf.c +91 -0
- data/ext/cptcon.c +77 -0
- data/ext/cpteqr.c +122 -0
- data/ext/cptrfs.c +157 -0
- data/ext/cptsv.c +115 -0
- data/ext/cptsvx.c +167 -0
- data/ext/cpttrf.c +89 -0
- data/ext/cpttrs.c +97 -0
- data/ext/cptts2.c +94 -0
- data/ext/crot.c +103 -0
- data/ext/cspcon.c +81 -0
- data/ext/cspmv.c +111 -0
- data/ext/cspr.c +92 -0
- data/ext/csprfs.c +145 -0
- data/ext/cspsv.c +106 -0
- data/ext/cspsvx.c +159 -0
- data/ext/csptrf.c +80 -0
- data/ext/csptri.c +85 -0
- data/ext/csptrs.c +97 -0
- data/ext/csrscl.c +75 -0
- data/ext/cstedc.c +173 -0
- data/ext/cstegr.c +184 -0
- data/ext/cstein.c +130 -0
- data/ext/cstemr.c +189 -0
- data/ext/csteqr.c +122 -0
- data/ext/csycon.c +83 -0
- data/ext/csyconv.c +80 -0
- data/ext/csyequb.c +78 -0
- data/ext/csymv.c +111 -0
- data/ext/csyr.c +91 -0
- data/ext/csyrfs.c +149 -0
- data/ext/csyrfsx.c +214 -0
- data/ext/csysv.c +125 -0
- data/ext/csysvx.c +179 -0
- data/ext/csysvxx.c +254 -0
- data/ext/csyswapr.c +78 -0
- data/ext/csytf2.c +81 -0
- data/ext/csytrf.c +93 -0
- data/ext/csytri.c +88 -0
- data/ext/csytri2.c +104 -0
- data/ext/csytri2x.c +92 -0
- data/ext/csytrs.c +99 -0
- data/ext/csytrs2.c +102 -0
- data/ext/ctbcon.c +82 -0
- data/ext/ctbrfs.c +123 -0
- data/ext/ctbtrs.c +99 -0
- data/ext/ctfsm.c +107 -0
- data/ext/ctftri.c +82 -0
- data/ext/ctfttp.c +75 -0
- data/ext/ctfttr.c +76 -0
- data/ext/ctgevc.c +152 -0
- data/ext/ctgex2.c +167 -0
- data/ext/ctgexc.c +168 -0
- data/ext/ctgsen.c +240 -0
- data/ext/ctgsja.c +223 -0
- data/ext/ctgsna.c +160 -0
- data/ext/ctgsy2.c +172 -0
- data/ext/ctgsyl.c +186 -0
- data/ext/ctpcon.c +78 -0
- data/ext/ctprfs.c +119 -0
- data/ext/ctptri.c +78 -0
- data/ext/ctptrs.c +97 -0
- data/ext/ctpttf.c +75 -0
- data/ext/ctpttr.c +72 -0
- data/ext/ctrcon.c +78 -0
- data/ext/ctrevc.c +150 -0
- data/ext/ctrexc.c +107 -0
- data/ext/ctrrfs.c +119 -0
- data/ext/ctrsen.c +150 -0
- data/ext/ctrsna.c +133 -0
- data/ext/ctrsyl.c +112 -0
- data/ext/ctrti2.c +77 -0
- data/ext/ctrtri.c +77 -0
- data/ext/ctrtrs.c +95 -0
- data/ext/ctrttf.c +73 -0
- data/ext/ctrttp.c +69 -0
- data/ext/ctzrqf.c +79 -0
- data/ext/ctzrzf.c +97 -0
- data/ext/cunbdb.c +228 -0
- data/ext/cuncsd.c +200 -0
- data/ext/cung2l.c +88 -0
- data/ext/cung2r.c +88 -0
- data/ext/cungbr.c +111 -0
- data/ext/cunghr.c +107 -0
- data/ext/cungl2.c +86 -0
- data/ext/cunglq.c +103 -0
- data/ext/cungql.c +103 -0
- data/ext/cungqr.c +103 -0
- data/ext/cungr2.c +86 -0
- data/ext/cungrq.c +103 -0
- data/ext/cungtr.c +103 -0
- data/ext/cunm2l.c +110 -0
- data/ext/cunm2r.c +110 -0
- data/ext/cunmbr.c +135 -0
- data/ext/cunmhr.c +129 -0
- data/ext/cunml2.c +106 -0
- data/ext/cunmlq.c +121 -0
- data/ext/cunmql.c +125 -0
- data/ext/cunmqr.c +125 -0
- data/ext/cunmr2.c +106 -0
- data/ext/cunmr3.c +110 -0
- data/ext/cunmrq.c +121 -0
- data/ext/cunmrz.c +125 -0
- data/ext/cunmtr.c +125 -0
- data/ext/cupgtr.c +87 -0
- data/ext/cupmtr.c +112 -0
- data/ext/dbbcsd.c +283 -0
- data/ext/dbdsdc.c +147 -0
- data/ext/dbdsqr.c +178 -0
- data/ext/ddisna.c +71 -0
- data/ext/dgbbrd.c +150 -0
- data/ext/dgbcon.c +94 -0
- data/ext/dgbequ.c +94 -0
- data/ext/dgbequb.c +92 -0
- data/ext/dgbrfs.c +157 -0
- data/ext/dgbrfsx.c +245 -0
- data/ext/dgbsv.c +111 -0
- data/ext/dgbsvx.c +282 -0
- data/ext/dgbsvxx.c +285 -0
- data/ext/dgbtf2.c +89 -0
- data/ext/dgbtrf.c +89 -0
- data/ext/dgbtrs.c +107 -0
- data/ext/dgebak.c +97 -0
- data/ext/dgebal.c +87 -0
- data/ext/dgebd2.c +108 -0
- data/ext/dgebrd.c +123 -0
- data/ext/dgecon.c +74 -0
- data/ext/dgeequ.c +84 -0
- data/ext/dgeequb.c +84 -0
- data/ext/dgees.c +144 -0
- data/ext/dgeesx.c +166 -0
- data/ext/dgeev.c +133 -0
- data/ext/dgeevx.c +177 -0
- data/ext/dgegs.c +167 -0
- data/ext/dgegv.c +167 -0
- data/ext/dgehd2.c +88 -0
- data/ext/dgehrd.c +103 -0
- data/ext/dgejsv.c +155 -0
- data/ext/dgelq2.c +82 -0
- data/ext/dgelqf.c +99 -0
- data/ext/dgels.c +133 -0
- data/ext/dgelsd.c +145 -0
- data/ext/dgelss.c +144 -0
- data/ext/dgelsx.c +132 -0
- data/ext/dgelsy.c +159 -0
- data/ext/dgeql2.c +84 -0
- data/ext/dgeqlf.c +99 -0
- data/ext/dgeqp3.c +122 -0
- data/ext/dgeqpf.c +107 -0
- data/ext/dgeqr2.c +84 -0
- data/ext/dgeqr2p.c +84 -0
- data/ext/dgeqrf.c +99 -0
- data/ext/dgeqrfp.c +99 -0
- data/ext/dgerfs.c +149 -0
- data/ext/dgerfsx.c +215 -0
- data/ext/dgerq2.c +82 -0
- data/ext/dgerqf.c +99 -0
- data/ext/dgesc2.c +104 -0
- data/ext/dgesdd.c +128 -0
- data/ext/dgesv.c +103 -0
- data/ext/dgesvd.c +139 -0
- data/ext/dgesvj.c +152 -0
- data/ext/dgesvx.c +274 -0
- data/ext/dgesvxx.c +277 -0
- data/ext/dgetc2.c +85 -0
- data/ext/dgetf2.c +81 -0
- data/ext/dgetrf.c +81 -0
- data/ext/dgetri.c +99 -0
- data/ext/dgetrs.c +99 -0
- data/ext/dggbak.c +109 -0
- data/ext/dggbal.c +124 -0
- data/ext/dgges.c +194 -0
- data/ext/dggesx.c +227 -0
- data/ext/dggev.c +167 -0
- data/ext/dggevx.c +225 -0
- data/ext/dggglm.c +152 -0
- data/ext/dgghrd.c +163 -0
- data/ext/dgglse.c +167 -0
- data/ext/dggqrf.c +133 -0
- data/ext/dggrqf.c +137 -0
- data/ext/dggsvd.c +177 -0
- data/ext/dggsvp.c +167 -0
- data/ext/dgsvj0.c +178 -0
- data/ext/dgsvj1.c +182 -0
- data/ext/dgtcon.c +120 -0
- data/ext/dgtrfs.c +205 -0
- data/ext/dgtsv.c +138 -0
- data/ext/dgtsvx.c +252 -0
- data/ext/dgttrf.c +128 -0
- data/ext/dgttrs.c +133 -0
- data/ext/dgtts2.c +130 -0
- data/ext/dhgeqz.c +209 -0
- data/ext/dhsein.c +201 -0
- data/ext/dhseqr.c +149 -0
- data/ext/disnan.c +47 -0
- data/ext/dla_gbamv.c +125 -0
- data/ext/dla_gbrcond.c +138 -0
- data/ext/dla_gbrfsx_extended.c +289 -0
- data/ext/dla_gbrpvgrw.c +83 -0
- data/ext/dla_geamv.c +115 -0
- data/ext/dla_gercond.c +130 -0
- data/ext/dla_gerfsx_extended.c +277 -0
- data/ext/dla_lin_berr.c +80 -0
- data/ext/dla_porcond.c +118 -0
- data/ext/dla_porfsx_extended.c +267 -0
- data/ext/dla_porpvgrw.c +91 -0
- data/ext/dla_rpvgrw.c +75 -0
- data/ext/dla_syamv.c +109 -0
- data/ext/dla_syrcond.c +130 -0
- data/ext/dla_syrfsx_extended.c +279 -0
- data/ext/dla_syrpvgrw.c +103 -0
- data/ext/dla_wwaddw.c +98 -0
- data/ext/dlabad.c +50 -0
- data/ext/dlabrd.c +128 -0
- data/ext/dlacn2.c +102 -0
- data/ext/dlacon.c +79 -0
- data/ext/dlacpy.c +73 -0
- data/ext/dladiv.c +62 -0
- data/ext/dlae2.c +58 -0
- data/ext/dlaebz.c +214 -0
- data/ext/dlaed0.c +123 -0
- data/ext/dlaed1.c +129 -0
- data/ext/dlaed2.c +185 -0
- data/ext/dlaed3.c +157 -0
- data/ext/dlaed4.c +86 -0
- data/ext/dlaed5.c +83 -0
- data/ext/dlaed6.c +86 -0
- data/ext/dlaed7.c +244 -0
- data/ext/dlaed8.c +202 -0
- data/ext/dlaed9.c +107 -0
- data/ext/dlaeda.c +156 -0
- data/ext/dlaein.c +139 -0
- data/ext/dlaev2.c +64 -0
- data/ext/dlaexc.c +114 -0
- data/ext/dlag2.c +87 -0
- data/ext/dlag2s.c +72 -0
- data/ext/dlags2.c +86 -0
- data/ext/dlagtf.c +136 -0
- data/ext/dlagtm.c +128 -0
- data/ext/dlagts.c +135 -0
- data/ext/dlagv2.c +128 -0
- data/ext/dlahqr.c +139 -0
- data/ext/dlahr2.c +108 -0
- data/ext/dlahrd.c +108 -0
- data/ext/dlaic1.c +85 -0
- data/ext/dlaln2.c +116 -0
- data/ext/dlals0.c +197 -0
- data/ext/dlalsa.c +266 -0
- data/ext/dlalsd.c +138 -0
- data/ext/dlamrg.c +76 -0
- data/ext/dlaneg.c +79 -0
- data/ext/dlangb.c +74 -0
- data/ext/dlange.c +70 -0
- data/ext/dlangt.c +83 -0
- data/ext/dlanhs.c +66 -0
- data/ext/dlansb.c +74 -0
- data/ext/dlansf.c +76 -0
- data/ext/dlansp.c +72 -0
- data/ext/dlanst.c +71 -0
- data/ext/dlansy.c +70 -0
- data/ext/dlantb.c +78 -0
- data/ext/dlantp.c +76 -0
- data/ext/dlantr.c +78 -0
- data/ext/dlanv2.c +78 -0
- data/ext/dlapll.c +101 -0
- data/ext/dlapmr.c +93 -0
- data/ext/dlapmt.c +97 -0
- data/ext/dlapy2.c +51 -0
- data/ext/dlapy3.c +55 -0
- data/ext/dlaqgb.c +113 -0
- data/ext/dlaqge.c +105 -0
- data/ext/dlaqp2.c +154 -0
- data/ext/dlaqps.c +204 -0
- data/ext/dlaqr0.c +149 -0
- data/ext/dlaqr1.c +78 -0
- data/ext/dlaqr2.c +178 -0
- data/ext/dlaqr3.c +178 -0
- data/ext/dlaqr4.c +149 -0
- data/ext/dlaqr5.c +196 -0
- data/ext/dlaqsb.c +97 -0
- data/ext/dlaqsp.c +90 -0
- data/ext/dlaqsy.c +93 -0
- data/ext/dlaqtr.c +110 -0
- data/ext/dlar1v.c +169 -0
- data/ext/dlar2v.c +145 -0
- data/ext/dlarf.c +97 -0
- data/ext/dlarfb.c +119 -0
- data/ext/dlarfg.c +79 -0
- data/ext/dlarfgp.c +79 -0
- data/ext/dlarft.c +101 -0
- data/ext/dlarfx.c +89 -0
- data/ext/dlargv.c +110 -0
- data/ext/dlarnv.c +79 -0
- data/ext/dlarra.c +120 -0
- data/ext/dlarrb.c +174 -0
- data/ext/dlarrc.c +92 -0
- data/ext/dlarrd.c +186 -0
- data/ext/dlarre.c +217 -0
- data/ext/dlarrf.c +172 -0
- data/ext/dlarrj.c +143 -0
- data/ext/dlarrk.c +93 -0
- data/ext/dlarrr.c +78 -0
- data/ext/dlarrv.c +267 -0
- data/ext/dlarscl2.c +78 -0
- data/ext/dlartg.c +57 -0
- data/ext/dlartgp.c +57 -0
- data/ext/dlartgs.c +58 -0
- data/ext/dlartv.c +126 -0
- data/ext/dlaruv.c +75 -0
- data/ext/dlarz.c +101 -0
- data/ext/dlarzb.c +123 -0
- data/ext/dlarzt.c +101 -0
- data/ext/dlas2.c +58 -0
- data/ext/dlascl.c +93 -0
- data/ext/dlascl2.c +78 -0
- data/ext/dlasd0.c +116 -0
- data/ext/dlasd1.c +158 -0
- data/ext/dlasd2.c +224 -0
- data/ext/dlasd3.c +198 -0
- data/ext/dlasd4.c +89 -0
- data/ext/dlasd5.c +86 -0
- data/ext/dlasd6.c +232 -0
- data/ext/dlasd7.c +221 -0
- data/ext/dlasd8.c +169 -0
- data/ext/dlasda.c +217 -0
- data/ext/dlasdq.c +182 -0
- data/ext/dlasdt.c +78 -0
- data/ext/dlaset.c +82 -0
- data/ext/dlasq1.c +92 -0
- data/ext/dlasq2.c +70 -0
- data/ext/dlasq3.c +134 -0
- data/ext/dlasq4.c +103 -0
- data/ext/dlasq5.c +90 -0
- data/ext/dlasq6.c +82 -0
- data/ext/dlasr.c +106 -0
- data/ext/dlasrt.c +70 -0
- data/ext/dlassq.c +66 -0
- data/ext/dlasv2.c +70 -0
- data/ext/dlaswp.c +90 -0
- data/ext/dlasy2.c +122 -0
- data/ext/dlasyf.c +93 -0
- data/ext/dlat2s.c +72 -0
- data/ext/dlatbs.c +126 -0
- data/ext/dlatdf.c +115 -0
- data/ext/dlatps.c +120 -0
- data/ext/dlatrd.c +101 -0
- data/ext/dlatrs.c +122 -0
- data/ext/dlatrz.c +83 -0
- data/ext/dlatzm.c +127 -0
- data/ext/dlauu2.c +73 -0
- data/ext/dlauum.c +73 -0
- data/ext/dopgtr.c +87 -0
- data/ext/dopmtr.c +112 -0
- data/ext/dorbdb.c +228 -0
- data/ext/dorcsd.c +193 -0
- data/ext/dorg2l.c +88 -0
- data/ext/dorg2r.c +88 -0
- data/ext/dorgbr.c +111 -0
- data/ext/dorghr.c +107 -0
- data/ext/dorgl2.c +86 -0
- data/ext/dorglq.c +103 -0
- data/ext/dorgql.c +103 -0
- data/ext/dorgqr.c +103 -0
- data/ext/dorgr2.c +86 -0
- data/ext/dorgrq.c +103 -0
- data/ext/dorgtr.c +103 -0
- data/ext/dorm2l.c +110 -0
- data/ext/dorm2r.c +110 -0
- data/ext/dormbr.c +135 -0
- data/ext/dormhr.c +129 -0
- data/ext/dorml2.c +106 -0
- data/ext/dormlq.c +121 -0
- data/ext/dormql.c +125 -0
- data/ext/dormqr.c +125 -0
- data/ext/dormr2.c +106 -0
- data/ext/dormr3.c +110 -0
- data/ext/dormrq.c +121 -0
- data/ext/dormrz.c +125 -0
- data/ext/dormtr.c +125 -0
- data/ext/dpbcon.c +78 -0
- data/ext/dpbequ.c +79 -0
- data/ext/dpbrfs.c +141 -0
- data/ext/dpbstf.c +77 -0
- data/ext/dpbsv.c +103 -0
- data/ext/dpbsvx.c +197 -0
- data/ext/dpbtf2.c +77 -0
- data/ext/dpbtrf.c +77 -0
- data/ext/dpbtrs.c +91 -0
- data/ext/dpftrf.c +78 -0
- data/ext/dpftri.c +78 -0
- data/ext/dpftrs.c +93 -0
- data/ext/dpocon.c +74 -0
- data/ext/dpoequ.c +71 -0
- data/ext/dpoequb.c +71 -0
- data/ext/dporfs.c +137 -0
- data/ext/dporfsx.c +202 -0
- data/ext/dposv.c +99 -0
- data/ext/dposvx.c +193 -0
- data/ext/dposvxx.c +231 -0
- data/ext/dpotf2.c +73 -0
- data/ext/dpotrf.c +73 -0
- data/ext/dpotri.c +73 -0
- data/ext/dpotrs.c +87 -0
- data/ext/dppcon.c +74 -0
- data/ext/dppequ.c +75 -0
- data/ext/dpprfs.c +135 -0
- data/ext/dppsv.c +100 -0
- data/ext/dppsvx.c +187 -0
- data/ext/dpptrf.c +74 -0
- data/ext/dpptri.c +74 -0
- data/ext/dpptrs.c +89 -0
- data/ext/dpstf2.c +91 -0
- data/ext/dpstrf.c +91 -0
- data/ext/dptcon.c +77 -0
- data/ext/dpteqr.c +122 -0
- data/ext/dptrfs.c +150 -0
- data/ext/dptsv.c +115 -0
- data/ext/dptsvx.c +164 -0
- data/ext/dpttrf.c +89 -0
- data/ext/dpttrs.c +93 -0
- data/ext/dptts2.c +90 -0
- data/ext/drscl.c +75 -0
- data/ext/dsbev.c +103 -0
- data/ext/dsbevd.c +136 -0
- data/ext/dsbevx.c +153 -0
- data/ext/dsbgst.c +113 -0
- data/ext/dsbgv.c +133 -0
- data/ext/dsbgvd.c +166 -0
- data/ext/dsbgvx.c +193 -0
- data/ext/dsbtrd.c +126 -0
- data/ext/dsfrk.c +105 -0
- data/ext/dsgesv.c +111 -0
- data/ext/dspcon.c +84 -0
- data/ext/dspev.c +98 -0
- data/ext/dspevd.c +131 -0
- data/ext/dspevx.c +137 -0
- data/ext/dspgst.c +90 -0
- data/ext/dspgv.c +125 -0
- data/ext/dspgvd.c +158 -0
- data/ext/dspgvx.c +164 -0
- data/ext/dsposv.c +107 -0
- data/ext/dsprfs.c +145 -0
- data/ext/dspsv.c +106 -0
- data/ext/dspsvx.c +159 -0
- data/ext/dsptrd.c +96 -0
- data/ext/dsptrf.c +80 -0
- data/ext/dsptri.c +85 -0
- data/ext/dsptrs.c +97 -0
- data/ext/dstebz.c +131 -0
- data/ext/dstedc.c +155 -0
- data/ext/dstegr.c +184 -0
- data/ext/dstein.c +130 -0
- data/ext/dstemr.c +189 -0
- data/ext/dsteqr.c +122 -0
- data/ext/dsterf.c +89 -0
- data/ext/dstev.c +107 -0
- data/ext/dstevd.c +140 -0
- data/ext/dstevr.c +184 -0
- data/ext/dstevx.c +154 -0
- data/ext/dsycon.c +86 -0
- data/ext/dsyconv.c +80 -0
- data/ext/dsyequb.c +78 -0
- data/ext/dsyev.c +103 -0
- data/ext/dsyevd.c +121 -0
- data/ext/dsyevr.c +168 -0
- data/ext/dsyevx.c +153 -0
- data/ext/dsygs2.c +91 -0
- data/ext/dsygst.c +91 -0
- data/ext/dsygv.c +133 -0
- data/ext/dsygvd.c +151 -0
- data/ext/dsygvx.c +183 -0
- data/ext/dsyrfs.c +149 -0
- data/ext/dsyrfsx.c +214 -0
- data/ext/dsysv.c +125 -0
- data/ext/dsysvx.c +179 -0
- data/ext/dsysvxx.c +254 -0
- data/ext/dsyswapr.c +78 -0
- data/ext/dsytd2.c +97 -0
- data/ext/dsytf2.c +81 -0
- data/ext/dsytrd.c +109 -0
- data/ext/dsytrf.c +93 -0
- data/ext/dsytri.c +88 -0
- data/ext/dsytri2.c +104 -0
- data/ext/dsytri2x.c +92 -0
- data/ext/dsytrs.c +99 -0
- data/ext/dsytrs2.c +102 -0
- data/ext/dtbcon.c +82 -0
- data/ext/dtbrfs.c +123 -0
- data/ext/dtbtrs.c +99 -0
- data/ext/dtfsm.c +106 -0
- data/ext/dtftri.c +82 -0
- data/ext/dtfttp.c +75 -0
- data/ext/dtfttr.c +76 -0
- data/ext/dtgevc.c +149 -0
- data/ext/dtgex2.c +176 -0
- data/ext/dtgexc.c +183 -0
- data/ext/dtgsen.c +248 -0
- data/ext/dtgsja.c +223 -0
- data/ext/dtgsna.c +160 -0
- data/ext/dtgsy2.c +178 -0
- data/ext/dtgsyl.c +186 -0
- data/ext/dtpcon.c +78 -0
- data/ext/dtprfs.c +119 -0
- data/ext/dtptri.c +78 -0
- data/ext/dtptrs.c +97 -0
- data/ext/dtpttf.c +75 -0
- data/ext/dtpttr.c +72 -0
- data/ext/dtrcon.c +78 -0
- data/ext/dtrevc.c +146 -0
- data/ext/dtrexc.c +112 -0
- data/ext/dtrrfs.c +119 -0
- data/ext/dtrsen.c +165 -0
- data/ext/dtrsna.c +133 -0
- data/ext/dtrsyl.c +112 -0
- data/ext/dtrti2.c +77 -0
- data/ext/dtrtri.c +77 -0
- data/ext/dtrtrs.c +95 -0
- data/ext/dtrttf.c +73 -0
- data/ext/dtrttp.c +69 -0
- data/ext/dtzrqf.c +79 -0
- data/ext/dtzrzf.c +97 -0
- data/ext/dzsum1.c +59 -0
- data/ext/extconf.rb +136 -0
- data/ext/f2c_minimal.h +36 -0
- data/ext/icmax1.c +59 -0
- data/ext/ieeeck.c +55 -0
- data/ext/ilaclc.c +61 -0
- data/ext/ilaclr.c +61 -0
- data/ext/iladiag.c +47 -0
- data/ext/iladlc.c +61 -0
- data/ext/iladlr.c +61 -0
- data/ext/ilaenv.c +71 -0
- data/ext/ilaprec.c +47 -0
- data/ext/ilaslc.c +61 -0
- data/ext/ilaslr.c +61 -0
- data/ext/ilatrans.c +47 -0
- data/ext/ilauplo.c +47 -0
- data/ext/ilaver.c +49 -0
- data/ext/ilazlc.c +61 -0
- data/ext/ilazlr.c +61 -0
- data/ext/iparmq.c +71 -0
- data/ext/izmax1.c +59 -0
- data/ext/lsamen.c +55 -0
- data/ext/rb_lapack.c +3279 -0
- data/ext/rb_lapack.h +18 -0
- data/ext/sbbcsd.c +283 -0
- data/ext/sbdsdc.c +153 -0
- data/ext/sbdsqr.c +178 -0
- data/ext/scsum1.c +59 -0
- data/ext/sdisna.c +71 -0
- data/ext/sgbbrd.c +150 -0
- data/ext/sgbcon.c +94 -0
- data/ext/sgbequ.c +94 -0
- data/ext/sgbequb.c +92 -0
- data/ext/sgbrfs.c +157 -0
- data/ext/sgbrfsx.c +245 -0
- data/ext/sgbsv.c +111 -0
- data/ext/sgbsvx.c +282 -0
- data/ext/sgbsvxx.c +285 -0
- data/ext/sgbtf2.c +89 -0
- data/ext/sgbtrf.c +89 -0
- data/ext/sgbtrs.c +107 -0
- data/ext/sgebak.c +97 -0
- data/ext/sgebal.c +87 -0
- data/ext/sgebd2.c +108 -0
- data/ext/sgebrd.c +123 -0
- data/ext/sgecon.c +74 -0
- data/ext/sgeequ.c +84 -0
- data/ext/sgeequb.c +84 -0
- data/ext/sgees.c +144 -0
- data/ext/sgeesx.c +166 -0
- data/ext/sgeev.c +133 -0
- data/ext/sgeevx.c +177 -0
- data/ext/sgegs.c +167 -0
- data/ext/sgegv.c +167 -0
- data/ext/sgehd2.c +88 -0
- data/ext/sgehrd.c +103 -0
- data/ext/sgejsv.c +155 -0
- data/ext/sgelq2.c +82 -0
- data/ext/sgelqf.c +99 -0
- data/ext/sgels.c +133 -0
- data/ext/sgelsd.c +145 -0
- data/ext/sgelss.c +144 -0
- data/ext/sgelsx.c +132 -0
- data/ext/sgelsy.c +159 -0
- data/ext/sgeql2.c +84 -0
- data/ext/sgeqlf.c +99 -0
- data/ext/sgeqp3.c +122 -0
- data/ext/sgeqpf.c +107 -0
- data/ext/sgeqr2.c +84 -0
- data/ext/sgeqr2p.c +84 -0
- data/ext/sgeqrf.c +99 -0
- data/ext/sgeqrfp.c +99 -0
- data/ext/sgerfs.c +149 -0
- data/ext/sgerfsx.c +215 -0
- data/ext/sgerq2.c +82 -0
- data/ext/sgerqf.c +99 -0
- data/ext/sgesc2.c +104 -0
- data/ext/sgesdd.c +128 -0
- data/ext/sgesv.c +103 -0
- data/ext/sgesvd.c +139 -0
- data/ext/sgesvj.c +152 -0
- data/ext/sgesvx.c +274 -0
- data/ext/sgesvxx.c +277 -0
- data/ext/sgetc2.c +85 -0
- data/ext/sgetf2.c +81 -0
- data/ext/sgetrf.c +81 -0
- data/ext/sgetri.c +99 -0
- data/ext/sgetrs.c +99 -0
- data/ext/sggbak.c +109 -0
- data/ext/sggbal.c +124 -0
- data/ext/sgges.c +194 -0
- data/ext/sggesx.c +227 -0
- data/ext/sggev.c +167 -0
- data/ext/sggevx.c +225 -0
- data/ext/sggglm.c +152 -0
- data/ext/sgghrd.c +163 -0
- data/ext/sgglse.c +167 -0
- data/ext/sggqrf.c +133 -0
- data/ext/sggrqf.c +137 -0
- data/ext/sggsvd.c +177 -0
- data/ext/sggsvp.c +167 -0
- data/ext/sgsvj0.c +178 -0
- data/ext/sgsvj1.c +182 -0
- data/ext/sgtcon.c +120 -0
- data/ext/sgtrfs.c +205 -0
- data/ext/sgtsv.c +138 -0
- data/ext/sgtsvx.c +252 -0
- data/ext/sgttrf.c +128 -0
- data/ext/sgttrs.c +133 -0
- data/ext/sgtts2.c +130 -0
- data/ext/shgeqz.c +209 -0
- data/ext/shsein.c +201 -0
- data/ext/shseqr.c +149 -0
- data/ext/sisnan.c +47 -0
- data/ext/sla_gbamv.c +125 -0
- data/ext/sla_gbrcond.c +138 -0
- data/ext/sla_gbrfsx_extended.c +287 -0
- data/ext/sla_gbrpvgrw.c +83 -0
- data/ext/sla_geamv.c +115 -0
- data/ext/sla_gercond.c +130 -0
- data/ext/sla_gerfsx_extended.c +279 -0
- data/ext/sla_lin_berr.c +80 -0
- data/ext/sla_porcond.c +118 -0
- data/ext/sla_porfsx_extended.c +267 -0
- data/ext/sla_porpvgrw.c +91 -0
- data/ext/sla_rpvgrw.c +75 -0
- data/ext/sla_syamv.c +112 -0
- data/ext/sla_syrcond.c +130 -0
- data/ext/sla_syrfsx_extended.c +279 -0
- data/ext/sla_syrpvgrw.c +103 -0
- data/ext/sla_wwaddw.c +98 -0
- data/ext/slabad.c +50 -0
- data/ext/slabrd.c +128 -0
- data/ext/slacn2.c +102 -0
- data/ext/slacon.c +79 -0
- data/ext/slacpy.c +73 -0
- data/ext/sladiv.c +62 -0
- data/ext/slae2.c +58 -0
- data/ext/slaebz.c +214 -0
- data/ext/slaed0.c +123 -0
- data/ext/slaed1.c +129 -0
- data/ext/slaed2.c +185 -0
- data/ext/slaed3.c +157 -0
- data/ext/slaed4.c +86 -0
- data/ext/slaed5.c +83 -0
- data/ext/slaed6.c +86 -0
- data/ext/slaed7.c +244 -0
- data/ext/slaed8.c +202 -0
- data/ext/slaed9.c +107 -0
- data/ext/slaeda.c +156 -0
- data/ext/slaein.c +139 -0
- data/ext/slaev2.c +64 -0
- data/ext/slaexc.c +114 -0
- data/ext/slag2.c +87 -0
- data/ext/slag2d.c +72 -0
- data/ext/slags2.c +86 -0
- data/ext/slagtf.c +136 -0
- data/ext/slagtm.c +128 -0
- data/ext/slagts.c +135 -0
- data/ext/slagv2.c +128 -0
- data/ext/slahqr.c +139 -0
- data/ext/slahr2.c +108 -0
- data/ext/slahrd.c +110 -0
- data/ext/slaic1.c +85 -0
- data/ext/slaln2.c +116 -0
- data/ext/slals0.c +197 -0
- data/ext/slalsa.c +266 -0
- data/ext/slalsd.c +138 -0
- data/ext/slamrg.c +76 -0
- data/ext/slaneg.c +79 -0
- data/ext/slangb.c +74 -0
- data/ext/slange.c +70 -0
- data/ext/slangt.c +83 -0
- data/ext/slanhs.c +66 -0
- data/ext/slansb.c +74 -0
- data/ext/slansf.c +74 -0
- data/ext/slansp.c +72 -0
- data/ext/slanst.c +71 -0
- data/ext/slansy.c +70 -0
- data/ext/slantb.c +78 -0
- data/ext/slantp.c +76 -0
- data/ext/slantr.c +78 -0
- data/ext/slanv2.c +78 -0
- data/ext/slapll.c +101 -0
- data/ext/slapmr.c +93 -0
- data/ext/slapmt.c +97 -0
- data/ext/slapy2.c +51 -0
- data/ext/slapy3.c +55 -0
- data/ext/slaqgb.c +113 -0
- data/ext/slaqge.c +105 -0
- data/ext/slaqp2.c +154 -0
- data/ext/slaqps.c +204 -0
- data/ext/slaqr0.c +149 -0
- data/ext/slaqr1.c +78 -0
- data/ext/slaqr2.c +178 -0
- data/ext/slaqr3.c +178 -0
- data/ext/slaqr4.c +149 -0
- data/ext/slaqr5.c +196 -0
- data/ext/slaqsb.c +97 -0
- data/ext/slaqsp.c +90 -0
- data/ext/slaqsy.c +93 -0
- data/ext/slaqtr.c +110 -0
- data/ext/slar1v.c +169 -0
- data/ext/slar2v.c +145 -0
- data/ext/slarf.c +97 -0
- data/ext/slarfb.c +119 -0
- data/ext/slarfg.c +79 -0
- data/ext/slarfgp.c +79 -0
- data/ext/slarft.c +101 -0
- data/ext/slarfx.c +89 -0
- data/ext/slargv.c +110 -0
- data/ext/slarnv.c +79 -0
- data/ext/slarra.c +120 -0
- data/ext/slarrb.c +174 -0
- data/ext/slarrc.c +92 -0
- data/ext/slarrd.c +186 -0
- data/ext/slarre.c +217 -0
- data/ext/slarrf.c +172 -0
- data/ext/slarrj.c +143 -0
- data/ext/slarrk.c +93 -0
- data/ext/slarrr.c +78 -0
- data/ext/slarrv.c +267 -0
- data/ext/slarscl2.c +78 -0
- data/ext/slartg.c +57 -0
- data/ext/slartgp.c +57 -0
- data/ext/slartgs.c +58 -0
- data/ext/slartv.c +126 -0
- data/ext/slaruv.c +75 -0
- data/ext/slarz.c +101 -0
- data/ext/slarzb.c +123 -0
- data/ext/slarzt.c +101 -0
- data/ext/slas2.c +58 -0
- data/ext/slascl.c +93 -0
- data/ext/slascl2.c +78 -0
- data/ext/slasd0.c +116 -0
- data/ext/slasd1.c +156 -0
- data/ext/slasd2.c +224 -0
- data/ext/slasd3.c +208 -0
- data/ext/slasd4.c +89 -0
- data/ext/slasd5.c +86 -0
- data/ext/slasd6.c +232 -0
- data/ext/slasd7.c +221 -0
- data/ext/slasd8.c +169 -0
- data/ext/slasda.c +217 -0
- data/ext/slasdq.c +182 -0
- data/ext/slasdt.c +78 -0
- data/ext/slaset.c +82 -0
- data/ext/slasq1.c +92 -0
- data/ext/slasq2.c +70 -0
- data/ext/slasq3.c +134 -0
- data/ext/slasq4.c +103 -0
- data/ext/slasq5.c +90 -0
- data/ext/slasq6.c +82 -0
- data/ext/slasr.c +106 -0
- data/ext/slasrt.c +70 -0
- data/ext/slassq.c +66 -0
- data/ext/slasv2.c +70 -0
- data/ext/slaswp.c +90 -0
- data/ext/slasy2.c +122 -0
- data/ext/slasyf.c +93 -0
- data/ext/slatbs.c +126 -0
- data/ext/slatdf.c +115 -0
- data/ext/slatps.c +120 -0
- data/ext/slatrd.c +101 -0
- data/ext/slatrs.c +122 -0
- data/ext/slatrz.c +83 -0
- data/ext/slatzm.c +127 -0
- data/ext/slauu2.c +73 -0
- data/ext/slauum.c +73 -0
- data/ext/sopgtr.c +87 -0
- data/ext/sopmtr.c +112 -0
- data/ext/sorbdb.c +228 -0
- data/ext/sorcsd.c +193 -0
- data/ext/sorg2l.c +88 -0
- data/ext/sorg2r.c +88 -0
- data/ext/sorgbr.c +111 -0
- data/ext/sorghr.c +107 -0
- data/ext/sorgl2.c +86 -0
- data/ext/sorglq.c +103 -0
- data/ext/sorgql.c +103 -0
- data/ext/sorgqr.c +103 -0
- data/ext/sorgr2.c +86 -0
- data/ext/sorgrq.c +103 -0
- data/ext/sorgtr.c +103 -0
- data/ext/sorm2l.c +110 -0
- data/ext/sorm2r.c +110 -0
- data/ext/sormbr.c +135 -0
- data/ext/sormhr.c +129 -0
- data/ext/sorml2.c +106 -0
- data/ext/sormlq.c +121 -0
- data/ext/sormql.c +125 -0
- data/ext/sormqr.c +125 -0
- data/ext/sormr2.c +106 -0
- data/ext/sormr3.c +110 -0
- data/ext/sormrq.c +121 -0
- data/ext/sormrz.c +125 -0
- data/ext/sormtr.c +125 -0
- data/ext/spbcon.c +78 -0
- data/ext/spbequ.c +79 -0
- data/ext/spbrfs.c +141 -0
- data/ext/spbstf.c +77 -0
- data/ext/spbsv.c +103 -0
- data/ext/spbsvx.c +197 -0
- data/ext/spbtf2.c +77 -0
- data/ext/spbtrf.c +77 -0
- data/ext/spbtrs.c +91 -0
- data/ext/spftrf.c +78 -0
- data/ext/spftri.c +78 -0
- data/ext/spftrs.c +93 -0
- data/ext/spocon.c +74 -0
- data/ext/spoequ.c +71 -0
- data/ext/spoequb.c +71 -0
- data/ext/sporfs.c +137 -0
- data/ext/sporfsx.c +202 -0
- data/ext/sposv.c +99 -0
- data/ext/sposvx.c +193 -0
- data/ext/sposvxx.c +231 -0
- data/ext/spotf2.c +73 -0
- data/ext/spotrf.c +73 -0
- data/ext/spotri.c +73 -0
- data/ext/spotrs.c +87 -0
- data/ext/sppcon.c +74 -0
- data/ext/sppequ.c +75 -0
- data/ext/spprfs.c +135 -0
- data/ext/sppsv.c +100 -0
- data/ext/sppsvx.c +187 -0
- data/ext/spptrf.c +74 -0
- data/ext/spptri.c +74 -0
- data/ext/spptrs.c +89 -0
- data/ext/spstf2.c +91 -0
- data/ext/spstrf.c +91 -0
- data/ext/sptcon.c +77 -0
- data/ext/spteqr.c +122 -0
- data/ext/sptrfs.c +150 -0
- data/ext/sptsv.c +115 -0
- data/ext/sptsvx.c +164 -0
- data/ext/spttrf.c +89 -0
- data/ext/spttrs.c +93 -0
- data/ext/sptts2.c +90 -0
- data/ext/srscl.c +75 -0
- data/ext/ssbev.c +103 -0
- data/ext/ssbevd.c +136 -0
- data/ext/ssbevx.c +153 -0
- data/ext/ssbgst.c +113 -0
- data/ext/ssbgv.c +133 -0
- data/ext/ssbgvd.c +166 -0
- data/ext/ssbgvx.c +193 -0
- data/ext/ssbtrd.c +126 -0
- data/ext/ssfrk.c +105 -0
- data/ext/sspcon.c +84 -0
- data/ext/sspev.c +98 -0
- data/ext/sspevd.c +131 -0
- data/ext/sspevx.c +137 -0
- data/ext/sspgst.c +90 -0
- data/ext/sspgv.c +125 -0
- data/ext/sspgvd.c +158 -0
- data/ext/sspgvx.c +164 -0
- data/ext/ssprfs.c +145 -0
- data/ext/sspsv.c +106 -0
- data/ext/sspsvx.c +159 -0
- data/ext/ssptrd.c +96 -0
- data/ext/ssptrf.c +80 -0
- data/ext/ssptri.c +85 -0
- data/ext/ssptrs.c +97 -0
- data/ext/sstebz.c +131 -0
- data/ext/sstedc.c +155 -0
- data/ext/sstegr.c +184 -0
- data/ext/sstein.c +130 -0
- data/ext/sstemr.c +189 -0
- data/ext/ssteqr.c +122 -0
- data/ext/ssterf.c +89 -0
- data/ext/sstev.c +107 -0
- data/ext/sstevd.c +140 -0
- data/ext/sstevr.c +184 -0
- data/ext/sstevx.c +154 -0
- data/ext/ssycon.c +86 -0
- data/ext/ssyconv.c +80 -0
- data/ext/ssyequb.c +78 -0
- data/ext/ssyev.c +103 -0
- data/ext/ssyevd.c +121 -0
- data/ext/ssyevr.c +168 -0
- data/ext/ssyevx.c +153 -0
- data/ext/ssygs2.c +91 -0
- data/ext/ssygst.c +91 -0
- data/ext/ssygv.c +133 -0
- data/ext/ssygvd.c +151 -0
- data/ext/ssygvx.c +187 -0
- data/ext/ssyrfs.c +149 -0
- data/ext/ssyrfsx.c +214 -0
- data/ext/ssysv.c +125 -0
- data/ext/ssysvx.c +179 -0
- data/ext/ssysvxx.c +254 -0
- data/ext/ssyswapr.c +78 -0
- data/ext/ssytd2.c +97 -0
- data/ext/ssytf2.c +81 -0
- data/ext/ssytrd.c +109 -0
- data/ext/ssytrf.c +93 -0
- data/ext/ssytri.c +88 -0
- data/ext/ssytri2.c +123 -0
- data/ext/ssytri2x.c +92 -0
- data/ext/ssytrs.c +99 -0
- data/ext/ssytrs2.c +102 -0
- data/ext/stbcon.c +82 -0
- data/ext/stbrfs.c +123 -0
- data/ext/stbtrs.c +99 -0
- data/ext/stfsm.c +108 -0
- data/ext/stftri.c +82 -0
- data/ext/stfttp.c +75 -0
- data/ext/stfttr.c +76 -0
- data/ext/stgevc.c +149 -0
- data/ext/stgex2.c +180 -0
- data/ext/stgexc.c +187 -0
- data/ext/stgsen.c +248 -0
- data/ext/stgsja.c +223 -0
- data/ext/stgsna.c +160 -0
- data/ext/stgsy2.c +178 -0
- data/ext/stgsyl.c +186 -0
- data/ext/stpcon.c +78 -0
- data/ext/stprfs.c +119 -0
- data/ext/stptri.c +78 -0
- data/ext/stptrs.c +97 -0
- data/ext/stpttf.c +75 -0
- data/ext/stpttr.c +72 -0
- data/ext/strcon.c +78 -0
- data/ext/strevc.c +146 -0
- data/ext/strexc.c +112 -0
- data/ext/strrfs.c +119 -0
- data/ext/strsen.c +165 -0
- data/ext/strsna.c +133 -0
- data/ext/strsyl.c +112 -0
- data/ext/strti2.c +77 -0
- data/ext/strtri.c +77 -0
- data/ext/strtrs.c +95 -0
- data/ext/strttf.c +73 -0
- data/ext/strttp.c +69 -0
- data/ext/stzrqf.c +79 -0
- data/ext/stzrzf.c +97 -0
- data/ext/xerbla.c +48 -0
- data/ext/xerbla_array.c +49 -0
- data/ext/zbbcsd.c +279 -0
- data/ext/zbdsqr.c +178 -0
- data/ext/zcgesv.c +114 -0
- data/ext/zcposv.c +110 -0
- data/ext/zdrscl.c +75 -0
- data/ext/zgbbrd.c +153 -0
- data/ext/zgbcon.c +94 -0
- data/ext/zgbequ.c +94 -0
- data/ext/zgbequb.c +92 -0
- data/ext/zgbrfs.c +157 -0
- data/ext/zgbrfsx.c +245 -0
- data/ext/zgbsv.c +111 -0
- data/ext/zgbsvx.c +282 -0
- data/ext/zgbsvxx.c +285 -0
- data/ext/zgbtf2.c +89 -0
- data/ext/zgbtrf.c +89 -0
- data/ext/zgbtrs.c +107 -0
- data/ext/zgebak.c +97 -0
- data/ext/zgebal.c +87 -0
- data/ext/zgebd2.c +108 -0
- data/ext/zgebrd.c +123 -0
- data/ext/zgecon.c +74 -0
- data/ext/zgeequ.c +84 -0
- data/ext/zgeequb.c +84 -0
- data/ext/zgees.c +138 -0
- data/ext/zgeesx.c +148 -0
- data/ext/zgeev.c +128 -0
- data/ext/zgeevx.c +169 -0
- data/ext/zgegs.c +162 -0
- data/ext/zgegv.c +167 -0
- data/ext/zgehd2.c +88 -0
- data/ext/zgehrd.c +103 -0
- data/ext/zgelq2.c +82 -0
- data/ext/zgelqf.c +99 -0
- data/ext/zgels.c +133 -0
- data/ext/zgelsd.c +150 -0
- data/ext/zgelss.c +147 -0
- data/ext/zgelsx.c +135 -0
- data/ext/zgelsy.c +162 -0
- data/ext/zgeql2.c +84 -0
- data/ext/zgeqlf.c +99 -0
- data/ext/zgeqp3.c +125 -0
- data/ext/zgeqpf.c +110 -0
- data/ext/zgeqr2.c +84 -0
- data/ext/zgeqr2p.c +84 -0
- data/ext/zgeqrf.c +99 -0
- data/ext/zgeqrfp.c +99 -0
- data/ext/zgerfs.c +149 -0
- data/ext/zgerfsx.c +215 -0
- data/ext/zgerq2.c +82 -0
- data/ext/zgerqf.c +99 -0
- data/ext/zgesc2.c +104 -0
- data/ext/zgesdd.c +131 -0
- data/ext/zgesv.c +103 -0
- data/ext/zgesvd.c +142 -0
- data/ext/zgesvx.c +274 -0
- data/ext/zgesvxx.c +277 -0
- data/ext/zgetc2.c +85 -0
- data/ext/zgetf2.c +81 -0
- data/ext/zgetrf.c +81 -0
- data/ext/zgetri.c +99 -0
- data/ext/zgetrs.c +99 -0
- data/ext/zggbak.c +109 -0
- data/ext/zggbal.c +124 -0
- data/ext/zgges.c +188 -0
- data/ext/zggesx.c +226 -0
- data/ext/zggev.c +167 -0
- data/ext/zggevx.c +222 -0
- data/ext/zggglm.c +152 -0
- data/ext/zgghrd.c +163 -0
- data/ext/zgglse.c +167 -0
- data/ext/zggqrf.c +133 -0
- data/ext/zggrqf.c +137 -0
- data/ext/zggsvd.c +180 -0
- data/ext/zggsvp.c +170 -0
- data/ext/zgtcon.c +117 -0
- data/ext/zgtrfs.c +205 -0
- data/ext/zgtsv.c +138 -0
- data/ext/zgtsvx.c +252 -0
- data/ext/zgttrf.c +128 -0
- data/ext/zgttrs.c +133 -0
- data/ext/zgtts2.c +130 -0
- data/ext/zhbev.c +106 -0
- data/ext/zhbevd.c +154 -0
- data/ext/zhbevx.c +156 -0
- data/ext/zhbgst.c +116 -0
- data/ext/zhbgv.c +136 -0
- data/ext/zhbgvd.c +184 -0
- data/ext/zhbgvx.c +185 -0
- data/ext/zhbtrd.c +126 -0
- data/ext/zhecon.c +83 -0
- data/ext/zheequb.c +78 -0
- data/ext/zheev.c +106 -0
- data/ext/zheevd.c +139 -0
- data/ext/zheevr.c +186 -0
- data/ext/zheevx.c +156 -0
- data/ext/zhegs2.c +91 -0
- data/ext/zhegst.c +91 -0
- data/ext/zhegv.c +136 -0
- data/ext/zhegvd.c +169 -0
- data/ext/zhegvx.c +186 -0
- data/ext/zherfs.c +149 -0
- data/ext/zherfsx.c +214 -0
- data/ext/zhesv.c +119 -0
- data/ext/zhesvx.c +179 -0
- data/ext/zhesvxx.c +254 -0
- data/ext/zhetd2.c +97 -0
- data/ext/zhetf2.c +81 -0
- data/ext/zhetrd.c +109 -0
- data/ext/zhetrf.c +93 -0
- data/ext/zhetri.c +88 -0
- data/ext/zhetrs.c +99 -0
- data/ext/zhetrs2.c +102 -0
- data/ext/zhfrk.c +105 -0
- data/ext/zhgeqz.c +204 -0
- data/ext/zhpcon.c +81 -0
- data/ext/zhpev.c +101 -0
- data/ext/zhpevd.c +149 -0
- data/ext/zhpevx.c +140 -0
- data/ext/zhpgst.c +90 -0
- data/ext/zhpgv.c +128 -0
- data/ext/zhpgvd.c +166 -0
- data/ext/zhpgvx.c +166 -0
- data/ext/zhprfs.c +145 -0
- data/ext/zhpsv.c +106 -0
- data/ext/zhpsvx.c +159 -0
- data/ext/zhptrd.c +96 -0
- data/ext/zhptrf.c +80 -0
- data/ext/zhptri.c +85 -0
- data/ext/zhptrs.c +97 -0
- data/ext/zhsein.c +181 -0
- data/ext/zhseqr.c +141 -0
- data/ext/zla_gbamv.c +123 -0
- data/ext/zla_gbrcond_c.c +138 -0
- data/ext/zla_gbrcond_x.c +134 -0
- data/ext/zla_gbrfsx_extended.c +291 -0
- data/ext/zla_gbrpvgrw.c +83 -0
- data/ext/zla_geamv.c +115 -0
- data/ext/zla_gercond_c.c +130 -0
- data/ext/zla_gercond_x.c +126 -0
- data/ext/zla_gerfsx_extended.c +277 -0
- data/ext/zla_heamv.c +112 -0
- data/ext/zla_hercond_c.c +130 -0
- data/ext/zla_hercond_x.c +126 -0
- data/ext/zla_herfsx_extended.c +279 -0
- data/ext/zla_herpvgrw.c +103 -0
- data/ext/zla_lin_berr.c +80 -0
- data/ext/zla_porcond_c.c +118 -0
- data/ext/zla_porcond_x.c +114 -0
- data/ext/zla_porfsx_extended.c +267 -0
- data/ext/zla_porpvgrw.c +91 -0
- data/ext/zla_rpvgrw.c +75 -0
- data/ext/zla_syamv.c +112 -0
- data/ext/zla_syrcond_c.c +130 -0
- data/ext/zla_syrcond_x.c +126 -0
- data/ext/zla_syrfsx_extended.c +279 -0
- data/ext/zla_syrpvgrw.c +103 -0
- data/ext/zla_wwaddw.c +98 -0
- data/ext/zlabrd.c +128 -0
- data/ext/zlacgv.c +71 -0
- data/ext/zlacn2.c +99 -0
- data/ext/zlacon.c +76 -0
- data/ext/zlacp2.c +73 -0
- data/ext/zlacpy.c +73 -0
- data/ext/zlacrm.c +86 -0
- data/ext/zlacrt.c +104 -0
- data/ext/zladiv.c +53 -0
- data/ext/zlaed0.c +130 -0
- data/ext/zlaed7.c +243 -0
- data/ext/zlaed8.c +194 -0
- data/ext/zlaein.c +109 -0
- data/ext/zlaesy.c +70 -0
- data/ext/zlaev2.c +67 -0
- data/ext/zlag2c.c +72 -0
- data/ext/zlags2.c +88 -0
- data/ext/zlagtm.c +128 -0
- data/ext/zlahef.c +93 -0
- data/ext/zlahqr.c +131 -0
- data/ext/zlahr2.c +108 -0
- data/ext/zlahrd.c +108 -0
- data/ext/zlaic1.c +86 -0
- data/ext/zlals0.c +197 -0
- data/ext/zlalsa.c +266 -0
- data/ext/zlalsd.c +141 -0
- data/ext/zlangb.c +72 -0
- data/ext/zlange.c +70 -0
- data/ext/zlangt.c +83 -0
- data/ext/zlanhb.c +74 -0
- data/ext/zlanhe.c +70 -0
- data/ext/zlanhf.c +76 -0
- data/ext/zlanhp.c +72 -0
- data/ext/zlanhs.c +66 -0
- data/ext/zlanht.c +71 -0
- data/ext/zlansb.c +74 -0
- data/ext/zlansp.c +72 -0
- data/ext/zlansy.c +70 -0
- data/ext/zlantb.c +78 -0
- data/ext/zlantp.c +76 -0
- data/ext/zlantr.c +78 -0
- data/ext/zlapll.c +101 -0
- data/ext/zlapmr.c +93 -0
- data/ext/zlapmt.c +97 -0
- data/ext/zlaqgb.c +113 -0
- data/ext/zlaqge.c +105 -0
- data/ext/zlaqhb.c +93 -0
- data/ext/zlaqhe.c +93 -0
- data/ext/zlaqhp.c +90 -0
- data/ext/zlaqp2.c +154 -0
- data/ext/zlaqps.c +204 -0
- data/ext/zlaqr0.c +149 -0
- data/ext/zlaqr1.c +72 -0
- data/ext/zlaqr2.c +170 -0
- data/ext/zlaqr3.c +170 -0
- data/ext/zlaqr4.c +143 -0
- data/ext/zlaqr5.c +175 -0
- data/ext/zlaqsb.c +97 -0
- data/ext/zlaqsp.c +90 -0
- data/ext/zlaqsy.c +93 -0
- data/ext/zlar1v.c +169 -0
- data/ext/zlar2v.c +145 -0
- data/ext/zlarcm.c +82 -0
- data/ext/zlarf.c +98 -0
- data/ext/zlarfb.c +119 -0
- data/ext/zlarfg.c +80 -0
- data/ext/zlarfgp.c +80 -0
- data/ext/zlarft.c +101 -0
- data/ext/zlarfx.c +90 -0
- data/ext/zlargv.c +110 -0
- data/ext/zlarnv.c +79 -0
- data/ext/zlarrv.c +267 -0
- data/ext/zlarscl2.c +78 -0
- data/ext/zlartg.c +59 -0
- data/ext/zlartv.c +126 -0
- data/ext/zlarz.c +102 -0
- data/ext/zlarzb.c +123 -0
- data/ext/zlarzt.c +101 -0
- data/ext/zlascl.c +93 -0
- data/ext/zlascl2.c +78 -0
- data/ext/zlaset.c +84 -0
- data/ext/zlasr.c +106 -0
- data/ext/zlassq.c +66 -0
- data/ext/zlaswp.c +90 -0
- data/ext/zlasyf.c +93 -0
- data/ext/zlat2c.c +72 -0
- data/ext/zlatbs.c +126 -0
- data/ext/zlatdf.c +115 -0
- data/ext/zlatps.c +120 -0
- data/ext/zlatrd.c +101 -0
- data/ext/zlatrs.c +122 -0
- data/ext/zlatrz.c +83 -0
- data/ext/zlatzm.c +128 -0
- data/ext/zlauu2.c +73 -0
- data/ext/zlauum.c +73 -0
- data/ext/zpbcon.c +78 -0
- data/ext/zpbequ.c +79 -0
- data/ext/zpbrfs.c +141 -0
- data/ext/zpbstf.c +77 -0
- data/ext/zpbsv.c +103 -0
- data/ext/zpbsvx.c +197 -0
- data/ext/zpbtf2.c +77 -0
- data/ext/zpbtrf.c +77 -0
- data/ext/zpbtrs.c +91 -0
- data/ext/zpftrf.c +78 -0
- data/ext/zpftri.c +78 -0
- data/ext/zpftrs.c +93 -0
- data/ext/zpocon.c +74 -0
- data/ext/zpoequ.c +71 -0
- data/ext/zpoequb.c +71 -0
- data/ext/zporfs.c +137 -0
- data/ext/zporfsx.c +202 -0
- data/ext/zposv.c +99 -0
- data/ext/zposvx.c +193 -0
- data/ext/zposvxx.c +231 -0
- data/ext/zpotf2.c +73 -0
- data/ext/zpotrf.c +73 -0
- data/ext/zpotri.c +73 -0
- data/ext/zpotrs.c +87 -0
- data/ext/zppcon.c +74 -0
- data/ext/zppequ.c +75 -0
- data/ext/zpprfs.c +135 -0
- data/ext/zppsv.c +100 -0
- data/ext/zppsvx.c +187 -0
- data/ext/zpptrf.c +74 -0
- data/ext/zpptri.c +74 -0
- data/ext/zpptrs.c +89 -0
- data/ext/zpstf2.c +91 -0
- data/ext/zpstrf.c +91 -0
- data/ext/zptcon.c +77 -0
- data/ext/zpteqr.c +122 -0
- data/ext/zptrfs.c +157 -0
- data/ext/zptsv.c +119 -0
- data/ext/zptsvx.c +167 -0
- data/ext/zpttrf.c +89 -0
- data/ext/zpttrs.c +97 -0
- data/ext/zptts2.c +94 -0
- data/ext/zrot.c +103 -0
- data/ext/zspcon.c +81 -0
- data/ext/zspmv.c +113 -0
- data/ext/zspr.c +92 -0
- data/ext/zsprfs.c +145 -0
- data/ext/zspsv.c +106 -0
- data/ext/zspsvx.c +159 -0
- data/ext/zsptrf.c +80 -0
- data/ext/zsptri.c +85 -0
- data/ext/zsptrs.c +97 -0
- data/ext/zstedc.c +173 -0
- data/ext/zstegr.c +184 -0
- data/ext/zstein.c +130 -0
- data/ext/zstemr.c +189 -0
- data/ext/zsteqr.c +122 -0
- data/ext/zsycon.c +83 -0
- data/ext/zsyconv.c +80 -0
- data/ext/zsyequb.c +78 -0
- data/ext/zsymv.c +111 -0
- data/ext/zsyr.c +91 -0
- data/ext/zsyrfs.c +149 -0
- data/ext/zsyrfsx.c +214 -0
- data/ext/zsysv.c +125 -0
- data/ext/zsysvx.c +179 -0
- data/ext/zsysvxx.c +254 -0
- data/ext/zsyswapr.c +78 -0
- data/ext/zsytf2.c +81 -0
- data/ext/zsytrf.c +93 -0
- data/ext/zsytri.c +88 -0
- data/ext/zsytri2.c +100 -0
- data/ext/zsytri2x.c +92 -0
- data/ext/zsytrs.c +99 -0
- data/ext/zsytrs2.c +102 -0
- data/ext/ztbcon.c +82 -0
- data/ext/ztbrfs.c +123 -0
- data/ext/ztbtrs.c +99 -0
- data/ext/ztfsm.c +107 -0
- data/ext/ztftri.c +82 -0
- data/ext/ztfttp.c +75 -0
- data/ext/ztfttr.c +76 -0
- data/ext/ztgevc.c +152 -0
- data/ext/ztgex2.c +167 -0
- data/ext/ztgexc.c +168 -0
- data/ext/ztgsen.c +240 -0
- data/ext/ztgsja.c +223 -0
- data/ext/ztgsna.c +160 -0
- data/ext/ztgsy2.c +172 -0
- data/ext/ztgsyl.c +186 -0
- data/ext/ztpcon.c +78 -0
- data/ext/ztprfs.c +119 -0
- data/ext/ztptri.c +78 -0
- data/ext/ztptrs.c +97 -0
- data/ext/ztpttf.c +75 -0
- data/ext/ztpttr.c +72 -0
- data/ext/ztrcon.c +78 -0
- data/ext/ztrevc.c +150 -0
- data/ext/ztrexc.c +107 -0
- data/ext/ztrrfs.c +119 -0
- data/ext/ztrsen.c +150 -0
- data/ext/ztrsna.c +133 -0
- data/ext/ztrsyl.c +112 -0
- data/ext/ztrti2.c +77 -0
- data/ext/ztrtri.c +77 -0
- data/ext/ztrtrs.c +95 -0
- data/ext/ztrttf.c +73 -0
- data/ext/ztrttp.c +69 -0
- data/ext/ztzrqf.c +79 -0
- data/ext/ztzrzf.c +97 -0
- data/ext/zunbdb.c +228 -0
- data/ext/zuncsd.c +200 -0
- data/ext/zung2l.c +88 -0
- data/ext/zung2r.c +88 -0
- data/ext/zungbr.c +111 -0
- data/ext/zunghr.c +107 -0
- data/ext/zungl2.c +86 -0
- data/ext/zunglq.c +103 -0
- data/ext/zungql.c +103 -0
- data/ext/zungqr.c +103 -0
- data/ext/zungr2.c +86 -0
- data/ext/zungrq.c +103 -0
- data/ext/zungtr.c +103 -0
- data/ext/zunm2l.c +110 -0
- data/ext/zunm2r.c +110 -0
- data/ext/zunmbr.c +135 -0
- data/ext/zunmhr.c +129 -0
- data/ext/zunml2.c +106 -0
- data/ext/zunmlq.c +121 -0
- data/ext/zunmql.c +125 -0
- data/ext/zunmqr.c +125 -0
- data/ext/zunmr2.c +106 -0
- data/ext/zunmr3.c +110 -0
- data/ext/zunmrq.c +121 -0
- data/ext/zunmrz.c +125 -0
- data/ext/zunmtr.c +125 -0
- data/ext/zupgtr.c +87 -0
- data/ext/zupmtr.c +112 -0
- data/lib/numru/lapack.rb +51 -0
- data/samples/dsyevr.rb +25 -0
- data/tests/eig/ge/test_gesdd.rb +90 -0
- data/tests/eig/ge/test_gesvd.rb +99 -0
- data/tests/eig/gg/test_ggev.rb +124 -0
- data/tests/eig/gg/test_ggsvd.rb +76 -0
- data/tests/eig/sb/test_sbev.rb +39 -0
- data/tests/lapack_test.rb +50 -0
- data/tests/lin/gb/test_gbsv.rb +46 -0
- data/tests/lin/gb/test_gbsvx.rb +56 -0
- data/tests/lin/ge/test_gels.rb +63 -0
- data/tests/lin/ge/test_gelsd.rb +54 -0
- data/tests/lin/ge/test_gelss.rb +73 -0
- data/tests/lin/ge/test_gelsy.rb +73 -0
- data/tests/lin/ge/test_gesv.rb +43 -0
- data/tests/lin/ge/test_gesvx.rb +52 -0
- data/tests/lin/gt/test_gtsv.rb +39 -0
- data/tests/test_all.rb +7 -0
- metadata +3513 -0
data/doc/sst.html
ADDED
|
@@ -0,0 +1,1423 @@
|
|
|
1
|
+
<HTML>
|
|
2
|
+
<HEAD>
|
|
3
|
+
<TITLE>REAL routines for (real) symmetric tridiagonal matrix</TITLE>
|
|
4
|
+
</HEAD>
|
|
5
|
+
<BODY>
|
|
6
|
+
<A NAME="top"></A>
|
|
7
|
+
<H1>REAL routines for (real) symmetric tridiagonal matrix</H1>
|
|
8
|
+
<UL>
|
|
9
|
+
<LI><A HREF="#sstebz">sstebz</A></LI>
|
|
10
|
+
<LI><A HREF="#sstedc">sstedc</A></LI>
|
|
11
|
+
<LI><A HREF="#sstegr">sstegr</A></LI>
|
|
12
|
+
<LI><A HREF="#sstein">sstein</A></LI>
|
|
13
|
+
<LI><A HREF="#sstemr">sstemr</A></LI>
|
|
14
|
+
<LI><A HREF="#ssteqr">ssteqr</A></LI>
|
|
15
|
+
<LI><A HREF="#ssterf">ssterf</A></LI>
|
|
16
|
+
<LI><A HREF="#sstev">sstev</A></LI>
|
|
17
|
+
<LI><A HREF="#sstevd">sstevd</A></LI>
|
|
18
|
+
<LI><A HREF="#sstevr">sstevr</A></LI>
|
|
19
|
+
<LI><A HREF="#sstevx">sstevx</A></LI>
|
|
20
|
+
</UL>
|
|
21
|
+
|
|
22
|
+
<A NAME="sstebz"></A>
|
|
23
|
+
<H2>sstebz</H2>
|
|
24
|
+
<PRE>
|
|
25
|
+
USAGE:
|
|
26
|
+
m, nsplit, w, iblock, isplit, info = NumRu::Lapack.sstebz( range, order, vl, vu, il, iu, abstol, d, e, [:usage => usage, :help => help])
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
FORTRAN MANUAL
|
|
30
|
+
SUBROUTINE SSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO )
|
|
31
|
+
|
|
32
|
+
* Purpose
|
|
33
|
+
* =======
|
|
34
|
+
*
|
|
35
|
+
* SSTEBZ computes the eigenvalues of a symmetric tridiagonal
|
|
36
|
+
* matrix T. The user may ask for all eigenvalues, all eigenvalues
|
|
37
|
+
* in the half-open interval (VL, VU], or the IL-th through IU-th
|
|
38
|
+
* eigenvalues.
|
|
39
|
+
*
|
|
40
|
+
* To avoid overflow, the matrix must be scaled so that its
|
|
41
|
+
* largest element is no greater than overflow**(1/2) *
|
|
42
|
+
* underflow**(1/4) in absolute value, and for greatest
|
|
43
|
+
* accuracy, it should not be much smaller than that.
|
|
44
|
+
*
|
|
45
|
+
* See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal
|
|
46
|
+
* Matrix", Report CS41, Computer Science Dept., Stanford
|
|
47
|
+
* University, July 21, 1966.
|
|
48
|
+
*
|
|
49
|
+
|
|
50
|
+
* Arguments
|
|
51
|
+
* =========
|
|
52
|
+
*
|
|
53
|
+
* RANGE (input) CHARACTER*1
|
|
54
|
+
* = 'A': ("All") all eigenvalues will be found.
|
|
55
|
+
* = 'V': ("Value") all eigenvalues in the half-open interval
|
|
56
|
+
* (VL, VU] will be found.
|
|
57
|
+
* = 'I': ("Index") the IL-th through IU-th eigenvalues (of the
|
|
58
|
+
* entire matrix) will be found.
|
|
59
|
+
*
|
|
60
|
+
* ORDER (input) CHARACTER*1
|
|
61
|
+
* = 'B': ("By Block") the eigenvalues will be grouped by
|
|
62
|
+
* split-off block (see IBLOCK, ISPLIT) and
|
|
63
|
+
* ordered from smallest to largest within
|
|
64
|
+
* the block.
|
|
65
|
+
* = 'E': ("Entire matrix")
|
|
66
|
+
* the eigenvalues for the entire matrix
|
|
67
|
+
* will be ordered from smallest to
|
|
68
|
+
* largest.
|
|
69
|
+
*
|
|
70
|
+
* N (input) INTEGER
|
|
71
|
+
* The order of the tridiagonal matrix T. N >= 0.
|
|
72
|
+
*
|
|
73
|
+
* VL (input) REAL
|
|
74
|
+
* VU (input) REAL
|
|
75
|
+
* If RANGE='V', the lower and upper bounds of the interval to
|
|
76
|
+
* be searched for eigenvalues. Eigenvalues less than or equal
|
|
77
|
+
* to VL, or greater than VU, will not be returned. VL < VU.
|
|
78
|
+
* Not referenced if RANGE = 'A' or 'I'.
|
|
79
|
+
*
|
|
80
|
+
* IL (input) INTEGER
|
|
81
|
+
* IU (input) INTEGER
|
|
82
|
+
* If RANGE='I', the indices (in ascending order) of the
|
|
83
|
+
* smallest and largest eigenvalues to be returned.
|
|
84
|
+
* 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.
|
|
85
|
+
* Not referenced if RANGE = 'A' or 'V'.
|
|
86
|
+
*
|
|
87
|
+
* ABSTOL (input) REAL
|
|
88
|
+
* The absolute tolerance for the eigenvalues. An eigenvalue
|
|
89
|
+
* (or cluster) is considered to be located if it has been
|
|
90
|
+
* determined to lie in an interval whose width is ABSTOL or
|
|
91
|
+
* less. If ABSTOL is less than or equal to zero, then ULP*|T|
|
|
92
|
+
* will be used, where |T| means the 1-norm of T.
|
|
93
|
+
*
|
|
94
|
+
* Eigenvalues will be computed most accurately when ABSTOL is
|
|
95
|
+
* set to twice the underflow threshold 2*SLAMCH('S'), not zero.
|
|
96
|
+
*
|
|
97
|
+
* D (input) REAL array, dimension (N)
|
|
98
|
+
* The n diagonal elements of the tridiagonal matrix T.
|
|
99
|
+
*
|
|
100
|
+
* E (input) REAL array, dimension (N-1)
|
|
101
|
+
* The (n-1) off-diagonal elements of the tridiagonal matrix T.
|
|
102
|
+
*
|
|
103
|
+
* M (output) INTEGER
|
|
104
|
+
* The actual number of eigenvalues found. 0 <= M <= N.
|
|
105
|
+
* (See also the description of INFO=2,3.)
|
|
106
|
+
*
|
|
107
|
+
* NSPLIT (output) INTEGER
|
|
108
|
+
* The number of diagonal blocks in the matrix T.
|
|
109
|
+
* 1 <= NSPLIT <= N.
|
|
110
|
+
*
|
|
111
|
+
* W (output) REAL array, dimension (N)
|
|
112
|
+
* On exit, the first M elements of W will contain the
|
|
113
|
+
* eigenvalues. (SSTEBZ may use the remaining N-M elements as
|
|
114
|
+
* workspace.)
|
|
115
|
+
*
|
|
116
|
+
* IBLOCK (output) INTEGER array, dimension (N)
|
|
117
|
+
* At each row/column j where E(j) is zero or small, the
|
|
118
|
+
* matrix T is considered to split into a block diagonal
|
|
119
|
+
* matrix. On exit, if INFO = 0, IBLOCK(i) specifies to which
|
|
120
|
+
* block (from 1 to the number of blocks) the eigenvalue W(i)
|
|
121
|
+
* belongs. (SSTEBZ may use the remaining N-M elements as
|
|
122
|
+
* workspace.)
|
|
123
|
+
*
|
|
124
|
+
* ISPLIT (output) INTEGER array, dimension (N)
|
|
125
|
+
* The splitting points, at which T breaks up into submatrices.
|
|
126
|
+
* The first submatrix consists of rows/columns 1 to ISPLIT(1),
|
|
127
|
+
* the second of rows/columns ISPLIT(1)+1 through ISPLIT(2),
|
|
128
|
+
* etc., and the NSPLIT-th consists of rows/columns
|
|
129
|
+
* ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N.
|
|
130
|
+
* (Only the first NSPLIT elements will actually be used, but
|
|
131
|
+
* since the user cannot know a priori what value NSPLIT will
|
|
132
|
+
* have, N words must be reserved for ISPLIT.)
|
|
133
|
+
*
|
|
134
|
+
* WORK (workspace) REAL array, dimension (4*N)
|
|
135
|
+
*
|
|
136
|
+
* IWORK (workspace) INTEGER array, dimension (3*N)
|
|
137
|
+
*
|
|
138
|
+
* INFO (output) INTEGER
|
|
139
|
+
* = 0: successful exit
|
|
140
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
141
|
+
* > 0: some or all of the eigenvalues failed to converge or
|
|
142
|
+
* were not computed:
|
|
143
|
+
* =1 or 3: Bisection failed to converge for some
|
|
144
|
+
* eigenvalues; these eigenvalues are flagged by a
|
|
145
|
+
* negative block number. The effect is that the
|
|
146
|
+
* eigenvalues may not be as accurate as the
|
|
147
|
+
* absolute and relative tolerances. This is
|
|
148
|
+
* generally caused by unexpectedly inaccurate
|
|
149
|
+
* arithmetic.
|
|
150
|
+
* =2 or 3: RANGE='I' only: Not all of the eigenvalues
|
|
151
|
+
* IL:IU were found.
|
|
152
|
+
* Effect: M < IU+1-IL
|
|
153
|
+
* Cause: non-monotonic arithmetic, causing the
|
|
154
|
+
* Sturm sequence to be non-monotonic.
|
|
155
|
+
* Cure: recalculate, using RANGE='A', and pick
|
|
156
|
+
* out eigenvalues IL:IU. In some cases,
|
|
157
|
+
* increasing the PARAMETER "FUDGE" may
|
|
158
|
+
* make things work.
|
|
159
|
+
* = 4: RANGE='I', and the Gershgorin interval
|
|
160
|
+
* initially used was too small. No eigenvalues
|
|
161
|
+
* were computed.
|
|
162
|
+
* Probable cause: your machine has sloppy
|
|
163
|
+
* floating-point arithmetic.
|
|
164
|
+
* Cure: Increase the PARAMETER "FUDGE",
|
|
165
|
+
* recompile, and try again.
|
|
166
|
+
*
|
|
167
|
+
* Internal Parameters
|
|
168
|
+
* ===================
|
|
169
|
+
*
|
|
170
|
+
* RELFAC REAL, default = 2.0e0
|
|
171
|
+
* The relative tolerance. An interval (a,b] lies within
|
|
172
|
+
* "relative tolerance" if b-a < RELFAC*ulp*max(|a|,|b|),
|
|
173
|
+
* where "ulp" is the machine precision (distance from 1 to
|
|
174
|
+
* the next larger floating point number.)
|
|
175
|
+
*
|
|
176
|
+
* FUDGE REAL, default = 2
|
|
177
|
+
* A "fudge factor" to widen the Gershgorin intervals. Ideally,
|
|
178
|
+
* a value of 1 should work, but on machines with sloppy
|
|
179
|
+
* arithmetic, this needs to be larger. The default for
|
|
180
|
+
* publicly released versions should be large enough to handle
|
|
181
|
+
* the worst machine around. Note that this has no effect
|
|
182
|
+
* on accuracy of the solution.
|
|
183
|
+
*
|
|
184
|
+
|
|
185
|
+
* =====================================================================
|
|
186
|
+
*
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
</PRE>
|
|
190
|
+
<A HREF="#top">go to the page top</A>
|
|
191
|
+
|
|
192
|
+
<A NAME="sstedc"></A>
|
|
193
|
+
<H2>sstedc</H2>
|
|
194
|
+
<PRE>
|
|
195
|
+
USAGE:
|
|
196
|
+
work, iwork, info, d, e, z = NumRu::Lapack.sstedc( compz, d, e, z, [:lwork => lwork, :liwork => liwork, :usage => usage, :help => help])
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
FORTRAN MANUAL
|
|
200
|
+
SUBROUTINE SSTEDC( COMPZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO )
|
|
201
|
+
|
|
202
|
+
* Purpose
|
|
203
|
+
* =======
|
|
204
|
+
*
|
|
205
|
+
* SSTEDC computes all eigenvalues and, optionally, eigenvectors of a
|
|
206
|
+
* symmetric tridiagonal matrix using the divide and conquer method.
|
|
207
|
+
* The eigenvectors of a full or band real symmetric matrix can also be
|
|
208
|
+
* found if SSYTRD or SSPTRD or SSBTRD has been used to reduce this
|
|
209
|
+
* matrix to tridiagonal form.
|
|
210
|
+
*
|
|
211
|
+
* This code makes very mild assumptions about floating point
|
|
212
|
+
* arithmetic. It will work on machines with a guard digit in
|
|
213
|
+
* add/subtract, or on those binary machines without guard digits
|
|
214
|
+
* which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2.
|
|
215
|
+
* It could conceivably fail on hexadecimal or decimal machines
|
|
216
|
+
* without guard digits, but we know of none. See SLAED3 for details.
|
|
217
|
+
*
|
|
218
|
+
|
|
219
|
+
* Arguments
|
|
220
|
+
* =========
|
|
221
|
+
*
|
|
222
|
+
* COMPZ (input) CHARACTER*1
|
|
223
|
+
* = 'N': Compute eigenvalues only.
|
|
224
|
+
* = 'I': Compute eigenvectors of tridiagonal matrix also.
|
|
225
|
+
* = 'V': Compute eigenvectors of original dense symmetric
|
|
226
|
+
* matrix also. On entry, Z contains the orthogonal
|
|
227
|
+
* matrix used to reduce the original matrix to
|
|
228
|
+
* tridiagonal form.
|
|
229
|
+
*
|
|
230
|
+
* N (input) INTEGER
|
|
231
|
+
* The dimension of the symmetric tridiagonal matrix. N >= 0.
|
|
232
|
+
*
|
|
233
|
+
* D (input/output) REAL array, dimension (N)
|
|
234
|
+
* On entry, the diagonal elements of the tridiagonal matrix.
|
|
235
|
+
* On exit, if INFO = 0, the eigenvalues in ascending order.
|
|
236
|
+
*
|
|
237
|
+
* E (input/output) REAL array, dimension (N-1)
|
|
238
|
+
* On entry, the subdiagonal elements of the tridiagonal matrix.
|
|
239
|
+
* On exit, E has been destroyed.
|
|
240
|
+
*
|
|
241
|
+
* Z (input/output) REAL array, dimension (LDZ,N)
|
|
242
|
+
* On entry, if COMPZ = 'V', then Z contains the orthogonal
|
|
243
|
+
* matrix used in the reduction to tridiagonal form.
|
|
244
|
+
* On exit, if INFO = 0, then if COMPZ = 'V', Z contains the
|
|
245
|
+
* orthonormal eigenvectors of the original symmetric matrix,
|
|
246
|
+
* and if COMPZ = 'I', Z contains the orthonormal eigenvectors
|
|
247
|
+
* of the symmetric tridiagonal matrix.
|
|
248
|
+
* If COMPZ = 'N', then Z is not referenced.
|
|
249
|
+
*
|
|
250
|
+
* LDZ (input) INTEGER
|
|
251
|
+
* The leading dimension of the array Z. LDZ >= 1.
|
|
252
|
+
* If eigenvectors are desired, then LDZ >= max(1,N).
|
|
253
|
+
*
|
|
254
|
+
* WORK (workspace/output) REAL array, dimension (MAX(1,LWORK))
|
|
255
|
+
* On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
|
|
256
|
+
*
|
|
257
|
+
* LWORK (input) INTEGER
|
|
258
|
+
* The dimension of the array WORK.
|
|
259
|
+
* If COMPZ = 'N' or N <= 1 then LWORK must be at least 1.
|
|
260
|
+
* If COMPZ = 'V' and N > 1 then LWORK must be at least
|
|
261
|
+
* ( 1 + 3*N + 2*N*lg N + 3*N**2 ),
|
|
262
|
+
* where lg( N ) = smallest integer k such
|
|
263
|
+
* that 2**k >= N.
|
|
264
|
+
* If COMPZ = 'I' and N > 1 then LWORK must be at least
|
|
265
|
+
* ( 1 + 4*N + N**2 ).
|
|
266
|
+
* Note that for COMPZ = 'I' or 'V', then if N is less than or
|
|
267
|
+
* equal to the minimum divide size, usually 25, then LWORK need
|
|
268
|
+
* only be max(1,2*(N-1)).
|
|
269
|
+
*
|
|
270
|
+
* If LWORK = -1, then a workspace query is assumed; the routine
|
|
271
|
+
* only calculates the optimal size of the WORK array, returns
|
|
272
|
+
* this value as the first entry of the WORK array, and no error
|
|
273
|
+
* message related to LWORK is issued by XERBLA.
|
|
274
|
+
*
|
|
275
|
+
* IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
|
|
276
|
+
* On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
|
|
277
|
+
*
|
|
278
|
+
* LIWORK (input) INTEGER
|
|
279
|
+
* The dimension of the array IWORK.
|
|
280
|
+
* If COMPZ = 'N' or N <= 1 then LIWORK must be at least 1.
|
|
281
|
+
* If COMPZ = 'V' and N > 1 then LIWORK must be at least
|
|
282
|
+
* ( 6 + 6*N + 5*N*lg N ).
|
|
283
|
+
* If COMPZ = 'I' and N > 1 then LIWORK must be at least
|
|
284
|
+
* ( 3 + 5*N ).
|
|
285
|
+
* Note that for COMPZ = 'I' or 'V', then if N is less than or
|
|
286
|
+
* equal to the minimum divide size, usually 25, then LIWORK
|
|
287
|
+
* need only be 1.
|
|
288
|
+
*
|
|
289
|
+
* If LIWORK = -1, then a workspace query is assumed; the
|
|
290
|
+
* routine only calculates the optimal size of the IWORK array,
|
|
291
|
+
* returns this value as the first entry of the IWORK array, and
|
|
292
|
+
* no error message related to LIWORK is issued by XERBLA.
|
|
293
|
+
*
|
|
294
|
+
* INFO (output) INTEGER
|
|
295
|
+
* = 0: successful exit.
|
|
296
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value.
|
|
297
|
+
* > 0: The algorithm failed to compute an eigenvalue while
|
|
298
|
+
* working on the submatrix lying in rows and columns
|
|
299
|
+
* INFO/(N+1) through mod(INFO,N+1).
|
|
300
|
+
*
|
|
301
|
+
|
|
302
|
+
* Further Details
|
|
303
|
+
* ===============
|
|
304
|
+
*
|
|
305
|
+
* Based on contributions by
|
|
306
|
+
* Jeff Rutter, Computer Science Division, University of California
|
|
307
|
+
* at Berkeley, USA
|
|
308
|
+
* Modified by Francoise Tisseur, University of Tennessee.
|
|
309
|
+
*
|
|
310
|
+
* =====================================================================
|
|
311
|
+
*
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
</PRE>
|
|
315
|
+
<A HREF="#top">go to the page top</A>
|
|
316
|
+
|
|
317
|
+
<A NAME="sstegr"></A>
|
|
318
|
+
<H2>sstegr</H2>
|
|
319
|
+
<PRE>
|
|
320
|
+
USAGE:
|
|
321
|
+
m, w, z, isuppz, work, iwork, info, d, e = NumRu::Lapack.sstegr( jobz, range, d, e, vl, vu, il, iu, abstol, [:lwork => lwork, :liwork => liwork, :usage => usage, :help => help])
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
FORTRAN MANUAL
|
|
325
|
+
SUBROUTINE SSTEGR( JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO )
|
|
326
|
+
|
|
327
|
+
* Purpose
|
|
328
|
+
* =======
|
|
329
|
+
*
|
|
330
|
+
* SSTEGR computes selected eigenvalues and, optionally, eigenvectors
|
|
331
|
+
* of a real symmetric tridiagonal matrix T. Any such unreduced matrix has
|
|
332
|
+
* a well defined set of pairwise different real eigenvalues, the corresponding
|
|
333
|
+
* real eigenvectors are pairwise orthogonal.
|
|
334
|
+
*
|
|
335
|
+
* The spectrum may be computed either completely or partially by specifying
|
|
336
|
+
* either an interval (VL,VU] or a range of indices IL:IU for the desired
|
|
337
|
+
* eigenvalues.
|
|
338
|
+
*
|
|
339
|
+
* SSTEGR is a compatability wrapper around the improved SSTEMR routine.
|
|
340
|
+
* See SSTEMR for further details.
|
|
341
|
+
*
|
|
342
|
+
* One important change is that the ABSTOL parameter no longer provides any
|
|
343
|
+
* benefit and hence is no longer used.
|
|
344
|
+
*
|
|
345
|
+
* Note : SSTEGR and SSTEMR work only on machines which follow
|
|
346
|
+
* IEEE-754 floating-point standard in their handling of infinities and
|
|
347
|
+
* NaNs. Normal execution may create these exceptiona values and hence
|
|
348
|
+
* may abort due to a floating point exception in environments which
|
|
349
|
+
* do not conform to the IEEE-754 standard.
|
|
350
|
+
*
|
|
351
|
+
|
|
352
|
+
* Arguments
|
|
353
|
+
* =========
|
|
354
|
+
*
|
|
355
|
+
* JOBZ (input) CHARACTER*1
|
|
356
|
+
* = 'N': Compute eigenvalues only;
|
|
357
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
358
|
+
*
|
|
359
|
+
* RANGE (input) CHARACTER*1
|
|
360
|
+
* = 'A': all eigenvalues will be found.
|
|
361
|
+
* = 'V': all eigenvalues in the half-open interval (VL,VU]
|
|
362
|
+
* will be found.
|
|
363
|
+
* = 'I': the IL-th through IU-th eigenvalues will be found.
|
|
364
|
+
*
|
|
365
|
+
* N (input) INTEGER
|
|
366
|
+
* The order of the matrix. N >= 0.
|
|
367
|
+
*
|
|
368
|
+
* D (input/output) REAL array, dimension (N)
|
|
369
|
+
* On entry, the N diagonal elements of the tridiagonal matrix
|
|
370
|
+
* T. On exit, D is overwritten.
|
|
371
|
+
*
|
|
372
|
+
* E (input/output) REAL array, dimension (N)
|
|
373
|
+
* On entry, the (N-1) subdiagonal elements of the tridiagonal
|
|
374
|
+
* matrix T in elements 1 to N-1 of E. E(N) need not be set on
|
|
375
|
+
* input, but is used internally as workspace.
|
|
376
|
+
* On exit, E is overwritten.
|
|
377
|
+
*
|
|
378
|
+
* VL (input) REAL
|
|
379
|
+
* VU (input) REAL
|
|
380
|
+
* If RANGE='V', the lower and upper bounds of the interval to
|
|
381
|
+
* be searched for eigenvalues. VL < VU.
|
|
382
|
+
* Not referenced if RANGE = 'A' or 'I'.
|
|
383
|
+
*
|
|
384
|
+
* IL (input) INTEGER
|
|
385
|
+
* IU (input) INTEGER
|
|
386
|
+
* If RANGE='I', the indices (in ascending order) of the
|
|
387
|
+
* smallest and largest eigenvalues to be returned.
|
|
388
|
+
* 1 <= IL <= IU <= N, if N > 0.
|
|
389
|
+
* Not referenced if RANGE = 'A' or 'V'.
|
|
390
|
+
*
|
|
391
|
+
* ABSTOL (input) REAL
|
|
392
|
+
* Unused. Was the absolute error tolerance for the
|
|
393
|
+
* eigenvalues/eigenvectors in previous versions.
|
|
394
|
+
*
|
|
395
|
+
* M (output) INTEGER
|
|
396
|
+
* The total number of eigenvalues found. 0 <= M <= N.
|
|
397
|
+
* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
|
|
398
|
+
*
|
|
399
|
+
* W (output) REAL array, dimension (N)
|
|
400
|
+
* The first M elements contain the selected eigenvalues in
|
|
401
|
+
* ascending order.
|
|
402
|
+
*
|
|
403
|
+
* Z (output) REAL array, dimension (LDZ, max(1,M) )
|
|
404
|
+
* If JOBZ = 'V', and if INFO = 0, then the first M columns of Z
|
|
405
|
+
* contain the orthonormal eigenvectors of the matrix T
|
|
406
|
+
* corresponding to the selected eigenvalues, with the i-th
|
|
407
|
+
* column of Z holding the eigenvector associated with W(i).
|
|
408
|
+
* If JOBZ = 'N', then Z is not referenced.
|
|
409
|
+
* Note: the user must ensure that at least max(1,M) columns are
|
|
410
|
+
* supplied in the array Z; if RANGE = 'V', the exact value of M
|
|
411
|
+
* is not known in advance and an upper bound must be used.
|
|
412
|
+
* Supplying N columns is always safe.
|
|
413
|
+
*
|
|
414
|
+
* LDZ (input) INTEGER
|
|
415
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
416
|
+
* JOBZ = 'V', then LDZ >= max(1,N).
|
|
417
|
+
*
|
|
418
|
+
* ISUPPZ (output) INTEGER ARRAY, dimension ( 2*max(1,M) )
|
|
419
|
+
* The support of the eigenvectors in Z, i.e., the indices
|
|
420
|
+
* indicating the nonzero elements in Z. The i-th computed eigenvector
|
|
421
|
+
* is nonzero only in elements ISUPPZ( 2*i-1 ) through
|
|
422
|
+
* ISUPPZ( 2*i ). This is relevant in the case when the matrix
|
|
423
|
+
* is split. ISUPPZ is only accessed when JOBZ is 'V' and N > 0.
|
|
424
|
+
*
|
|
425
|
+
* WORK (workspace/output) REAL array, dimension (LWORK)
|
|
426
|
+
* On exit, if INFO = 0, WORK(1) returns the optimal
|
|
427
|
+
* (and minimal) LWORK.
|
|
428
|
+
*
|
|
429
|
+
* LWORK (input) INTEGER
|
|
430
|
+
* The dimension of the array WORK. LWORK >= max(1,18*N)
|
|
431
|
+
* if JOBZ = 'V', and LWORK >= max(1,12*N) if JOBZ = 'N'.
|
|
432
|
+
* If LWORK = -1, then a workspace query is assumed; the routine
|
|
433
|
+
* only calculates the optimal size of the WORK array, returns
|
|
434
|
+
* this value as the first entry of the WORK array, and no error
|
|
435
|
+
* message related to LWORK is issued by XERBLA.
|
|
436
|
+
*
|
|
437
|
+
* IWORK (workspace/output) INTEGER array, dimension (LIWORK)
|
|
438
|
+
* On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
|
|
439
|
+
*
|
|
440
|
+
* LIWORK (input) INTEGER
|
|
441
|
+
* The dimension of the array IWORK. LIWORK >= max(1,10*N)
|
|
442
|
+
* if the eigenvectors are desired, and LIWORK >= max(1,8*N)
|
|
443
|
+
* if only the eigenvalues are to be computed.
|
|
444
|
+
* If LIWORK = -1, then a workspace query is assumed; the
|
|
445
|
+
* routine only calculates the optimal size of the IWORK array,
|
|
446
|
+
* returns this value as the first entry of the IWORK array, and
|
|
447
|
+
* no error message related to LIWORK is issued by XERBLA.
|
|
448
|
+
*
|
|
449
|
+
* INFO (output) INTEGER
|
|
450
|
+
* On exit, INFO
|
|
451
|
+
* = 0: successful exit
|
|
452
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
453
|
+
* > 0: if INFO = 1X, internal error in SLARRE,
|
|
454
|
+
* if INFO = 2X, internal error in SLARRV.
|
|
455
|
+
* Here, the digit X = ABS( IINFO ) < 10, where IINFO is
|
|
456
|
+
* the nonzero error code returned by SLARRE or
|
|
457
|
+
* SLARRV, respectively.
|
|
458
|
+
*
|
|
459
|
+
|
|
460
|
+
* Further Details
|
|
461
|
+
* ===============
|
|
462
|
+
*
|
|
463
|
+
* Based on contributions by
|
|
464
|
+
* Inderjit Dhillon, IBM Almaden, USA
|
|
465
|
+
* Osni Marques, LBNL/NERSC, USA
|
|
466
|
+
* Christof Voemel, LBNL/NERSC, USA
|
|
467
|
+
*
|
|
468
|
+
* =====================================================================
|
|
469
|
+
*
|
|
470
|
+
* .. Local Scalars ..
|
|
471
|
+
LOGICAL TRYRAC
|
|
472
|
+
* ..
|
|
473
|
+
* .. External Subroutines ..
|
|
474
|
+
EXTERNAL SSTEMR
|
|
475
|
+
* ..
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
</PRE>
|
|
479
|
+
<A HREF="#top">go to the page top</A>
|
|
480
|
+
|
|
481
|
+
<A NAME="sstein"></A>
|
|
482
|
+
<H2>sstein</H2>
|
|
483
|
+
<PRE>
|
|
484
|
+
USAGE:
|
|
485
|
+
z, ifail, info = NumRu::Lapack.sstein( d, e, w, iblock, isplit, [:usage => usage, :help => help])
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
FORTRAN MANUAL
|
|
489
|
+
SUBROUTINE SSTEIN( N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK, IFAIL, INFO )
|
|
490
|
+
|
|
491
|
+
* Purpose
|
|
492
|
+
* =======
|
|
493
|
+
*
|
|
494
|
+
* SSTEIN computes the eigenvectors of a real symmetric tridiagonal
|
|
495
|
+
* matrix T corresponding to specified eigenvalues, using inverse
|
|
496
|
+
* iteration.
|
|
497
|
+
*
|
|
498
|
+
* The maximum number of iterations allowed for each eigenvector is
|
|
499
|
+
* specified by an internal parameter MAXITS (currently set to 5).
|
|
500
|
+
*
|
|
501
|
+
|
|
502
|
+
* Arguments
|
|
503
|
+
* =========
|
|
504
|
+
*
|
|
505
|
+
* N (input) INTEGER
|
|
506
|
+
* The order of the matrix. N >= 0.
|
|
507
|
+
*
|
|
508
|
+
* D (input) REAL array, dimension (N)
|
|
509
|
+
* The n diagonal elements of the tridiagonal matrix T.
|
|
510
|
+
*
|
|
511
|
+
* E (input) REAL array, dimension (N-1)
|
|
512
|
+
* The (n-1) subdiagonal elements of the tridiagonal matrix
|
|
513
|
+
* T, in elements 1 to N-1.
|
|
514
|
+
*
|
|
515
|
+
* M (input) INTEGER
|
|
516
|
+
* The number of eigenvectors to be found. 0 <= M <= N.
|
|
517
|
+
*
|
|
518
|
+
* W (input) REAL array, dimension (N)
|
|
519
|
+
* The first M elements of W contain the eigenvalues for
|
|
520
|
+
* which eigenvectors are to be computed. The eigenvalues
|
|
521
|
+
* should be grouped by split-off block and ordered from
|
|
522
|
+
* smallest to largest within the block. ( The output array
|
|
523
|
+
* W from SSTEBZ with ORDER = 'B' is expected here. )
|
|
524
|
+
*
|
|
525
|
+
* IBLOCK (input) INTEGER array, dimension (N)
|
|
526
|
+
* The submatrix indices associated with the corresponding
|
|
527
|
+
* eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to
|
|
528
|
+
* the first submatrix from the top, =2 if W(i) belongs to
|
|
529
|
+
* the second submatrix, etc. ( The output array IBLOCK
|
|
530
|
+
* from SSTEBZ is expected here. )
|
|
531
|
+
*
|
|
532
|
+
* ISPLIT (input) INTEGER array, dimension (N)
|
|
533
|
+
* The splitting points, at which T breaks up into submatrices.
|
|
534
|
+
* The first submatrix consists of rows/columns 1 to
|
|
535
|
+
* ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1
|
|
536
|
+
* through ISPLIT( 2 ), etc.
|
|
537
|
+
* ( The output array ISPLIT from SSTEBZ is expected here. )
|
|
538
|
+
*
|
|
539
|
+
* Z (output) REAL array, dimension (LDZ, M)
|
|
540
|
+
* The computed eigenvectors. The eigenvector associated
|
|
541
|
+
* with the eigenvalue W(i) is stored in the i-th column of
|
|
542
|
+
* Z. Any vector which fails to converge is set to its current
|
|
543
|
+
* iterate after MAXITS iterations.
|
|
544
|
+
*
|
|
545
|
+
* LDZ (input) INTEGER
|
|
546
|
+
* The leading dimension of the array Z. LDZ >= max(1,N).
|
|
547
|
+
*
|
|
548
|
+
* WORK (workspace) REAL array, dimension (5*N)
|
|
549
|
+
*
|
|
550
|
+
* IWORK (workspace) INTEGER array, dimension (N)
|
|
551
|
+
*
|
|
552
|
+
* IFAIL (output) INTEGER array, dimension (M)
|
|
553
|
+
* On normal exit, all elements of IFAIL are zero.
|
|
554
|
+
* If one or more eigenvectors fail to converge after
|
|
555
|
+
* MAXITS iterations, then their indices are stored in
|
|
556
|
+
* array IFAIL.
|
|
557
|
+
*
|
|
558
|
+
* INFO (output) INTEGER
|
|
559
|
+
* = 0: successful exit.
|
|
560
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
561
|
+
* > 0: if INFO = i, then i eigenvectors failed to converge
|
|
562
|
+
* in MAXITS iterations. Their indices are stored in
|
|
563
|
+
* array IFAIL.
|
|
564
|
+
*
|
|
565
|
+
* Internal Parameters
|
|
566
|
+
* ===================
|
|
567
|
+
*
|
|
568
|
+
* MAXITS INTEGER, default = 5
|
|
569
|
+
* The maximum number of iterations performed.
|
|
570
|
+
*
|
|
571
|
+
* EXTRA INTEGER, default = 2
|
|
572
|
+
* The number of iterations performed after norm growth
|
|
573
|
+
* criterion is satisfied, should be at least 1.
|
|
574
|
+
*
|
|
575
|
+
|
|
576
|
+
* =====================================================================
|
|
577
|
+
*
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
</PRE>
|
|
581
|
+
<A HREF="#top">go to the page top</A>
|
|
582
|
+
|
|
583
|
+
<A NAME="sstemr"></A>
|
|
584
|
+
<H2>sstemr</H2>
|
|
585
|
+
<PRE>
|
|
586
|
+
USAGE:
|
|
587
|
+
m, w, z, isuppz, work, iwork, info, d, e, tryrac = NumRu::Lapack.sstemr( jobz, range, d, e, vl, vu, il, iu, nzc, tryrac, [:lwork => lwork, :liwork => liwork, :usage => usage, :help => help])
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
FORTRAN MANUAL
|
|
591
|
+
SUBROUTINE SSTEMR( JOBZ, RANGE, N, D, E, VL, VU, IL, IU, M, W, Z, LDZ, NZC, ISUPPZ, TRYRAC, WORK, LWORK, IWORK, LIWORK, INFO )
|
|
592
|
+
|
|
593
|
+
* Purpose
|
|
594
|
+
* =======
|
|
595
|
+
*
|
|
596
|
+
* SSTEMR computes selected eigenvalues and, optionally, eigenvectors
|
|
597
|
+
* of a real symmetric tridiagonal matrix T. Any such unreduced matrix has
|
|
598
|
+
* a well defined set of pairwise different real eigenvalues, the corresponding
|
|
599
|
+
* real eigenvectors are pairwise orthogonal.
|
|
600
|
+
*
|
|
601
|
+
* The spectrum may be computed either completely or partially by specifying
|
|
602
|
+
* either an interval (VL,VU] or a range of indices IL:IU for the desired
|
|
603
|
+
* eigenvalues.
|
|
604
|
+
*
|
|
605
|
+
* Depending on the number of desired eigenvalues, these are computed either
|
|
606
|
+
* by bisection or the dqds algorithm. Numerically orthogonal eigenvectors are
|
|
607
|
+
* computed by the use of various suitable L D L^T factorizations near clusters
|
|
608
|
+
* of close eigenvalues (referred to as RRRs, Relatively Robust
|
|
609
|
+
* Representations). An informal sketch of the algorithm follows.
|
|
610
|
+
*
|
|
611
|
+
* For each unreduced block (submatrix) of T,
|
|
612
|
+
* (a) Compute T - sigma I = L D L^T, so that L and D
|
|
613
|
+
* define all the wanted eigenvalues to high relative accuracy.
|
|
614
|
+
* This means that small relative changes in the entries of D and L
|
|
615
|
+
* cause only small relative changes in the eigenvalues and
|
|
616
|
+
* eigenvectors. The standard (unfactored) representation of the
|
|
617
|
+
* tridiagonal matrix T does not have this property in general.
|
|
618
|
+
* (b) Compute the eigenvalues to suitable accuracy.
|
|
619
|
+
* If the eigenvectors are desired, the algorithm attains full
|
|
620
|
+
* accuracy of the computed eigenvalues only right before
|
|
621
|
+
* the corresponding vectors have to be computed, see steps c) and d).
|
|
622
|
+
* (c) For each cluster of close eigenvalues, select a new
|
|
623
|
+
* shift close to the cluster, find a new factorization, and refine
|
|
624
|
+
* the shifted eigenvalues to suitable accuracy.
|
|
625
|
+
* (d) For each eigenvalue with a large enough relative separation compute
|
|
626
|
+
* the corresponding eigenvector by forming a rank revealing twisted
|
|
627
|
+
* factorization. Go back to (c) for any clusters that remain.
|
|
628
|
+
*
|
|
629
|
+
* For more details, see:
|
|
630
|
+
* - Inderjit S. Dhillon and Beresford N. Parlett: "Multiple representations
|
|
631
|
+
* to compute orthogonal eigenvectors of symmetric tridiagonal matrices,"
|
|
632
|
+
* Linear Algebra and its Applications, 387(1), pp. 1-28, August 2004.
|
|
633
|
+
* - Inderjit Dhillon and Beresford Parlett: "Orthogonal Eigenvectors and
|
|
634
|
+
* Relative Gaps," SIAM Journal on Matrix Analysis and Applications, Vol. 25,
|
|
635
|
+
* 2004. Also LAPACK Working Note 154.
|
|
636
|
+
* - Inderjit Dhillon: "A new O(n^2) algorithm for the symmetric
|
|
637
|
+
* tridiagonal eigenvalue/eigenvector problem",
|
|
638
|
+
* Computer Science Division Technical Report No. UCB/CSD-97-971,
|
|
639
|
+
* UC Berkeley, May 1997.
|
|
640
|
+
*
|
|
641
|
+
* Further Details
|
|
642
|
+
* 1.SSTEMR works only on machines which follow IEEE-754
|
|
643
|
+
* floating-point standard in their handling of infinities and NaNs.
|
|
644
|
+
* This permits the use of efficient inner loops avoiding a check for
|
|
645
|
+
* zero divisors.
|
|
646
|
+
*
|
|
647
|
+
|
|
648
|
+
* Arguments
|
|
649
|
+
* =========
|
|
650
|
+
*
|
|
651
|
+
* JOBZ (input) CHARACTER*1
|
|
652
|
+
* = 'N': Compute eigenvalues only;
|
|
653
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
654
|
+
*
|
|
655
|
+
* RANGE (input) CHARACTER*1
|
|
656
|
+
* = 'A': all eigenvalues will be found.
|
|
657
|
+
* = 'V': all eigenvalues in the half-open interval (VL,VU]
|
|
658
|
+
* will be found.
|
|
659
|
+
* = 'I': the IL-th through IU-th eigenvalues will be found.
|
|
660
|
+
*
|
|
661
|
+
* N (input) INTEGER
|
|
662
|
+
* The order of the matrix. N >= 0.
|
|
663
|
+
*
|
|
664
|
+
* D (input/output) REAL array, dimension (N)
|
|
665
|
+
* On entry, the N diagonal elements of the tridiagonal matrix
|
|
666
|
+
* T. On exit, D is overwritten.
|
|
667
|
+
*
|
|
668
|
+
* E (input/output) REAL array, dimension (N)
|
|
669
|
+
* On entry, the (N-1) subdiagonal elements of the tridiagonal
|
|
670
|
+
* matrix T in elements 1 to N-1 of E. E(N) need not be set on
|
|
671
|
+
* input, but is used internally as workspace.
|
|
672
|
+
* On exit, E is overwritten.
|
|
673
|
+
*
|
|
674
|
+
* VL (input) REAL
|
|
675
|
+
* VU (input) REAL
|
|
676
|
+
* If RANGE='V', the lower and upper bounds of the interval to
|
|
677
|
+
* be searched for eigenvalues. VL < VU.
|
|
678
|
+
* Not referenced if RANGE = 'A' or 'I'.
|
|
679
|
+
*
|
|
680
|
+
* IL (input) INTEGER
|
|
681
|
+
* IU (input) INTEGER
|
|
682
|
+
* If RANGE='I', the indices (in ascending order) of the
|
|
683
|
+
* smallest and largest eigenvalues to be returned.
|
|
684
|
+
* 1 <= IL <= IU <= N, if N > 0.
|
|
685
|
+
* Not referenced if RANGE = 'A' or 'V'.
|
|
686
|
+
*
|
|
687
|
+
* M (output) INTEGER
|
|
688
|
+
* The total number of eigenvalues found. 0 <= M <= N.
|
|
689
|
+
* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
|
|
690
|
+
*
|
|
691
|
+
* W (output) REAL array, dimension (N)
|
|
692
|
+
* The first M elements contain the selected eigenvalues in
|
|
693
|
+
* ascending order.
|
|
694
|
+
*
|
|
695
|
+
* Z (output) REAL array, dimension (LDZ, max(1,M) )
|
|
696
|
+
* If JOBZ = 'V', and if INFO = 0, then the first M columns of Z
|
|
697
|
+
* contain the orthonormal eigenvectors of the matrix T
|
|
698
|
+
* corresponding to the selected eigenvalues, with the i-th
|
|
699
|
+
* column of Z holding the eigenvector associated with W(i).
|
|
700
|
+
* If JOBZ = 'N', then Z is not referenced.
|
|
701
|
+
* Note: the user must ensure that at least max(1,M) columns are
|
|
702
|
+
* supplied in the array Z; if RANGE = 'V', the exact value of M
|
|
703
|
+
* is not known in advance and can be computed with a workspace
|
|
704
|
+
* query by setting NZC = -1, see below.
|
|
705
|
+
*
|
|
706
|
+
* LDZ (input) INTEGER
|
|
707
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
708
|
+
* JOBZ = 'V', then LDZ >= max(1,N).
|
|
709
|
+
*
|
|
710
|
+
* NZC (input) INTEGER
|
|
711
|
+
* The number of eigenvectors to be held in the array Z.
|
|
712
|
+
* If RANGE = 'A', then NZC >= max(1,N).
|
|
713
|
+
* If RANGE = 'V', then NZC >= the number of eigenvalues in (VL,VU].
|
|
714
|
+
* If RANGE = 'I', then NZC >= IU-IL+1.
|
|
715
|
+
* If NZC = -1, then a workspace query is assumed; the
|
|
716
|
+
* routine calculates the number of columns of the array Z that
|
|
717
|
+
* are needed to hold the eigenvectors.
|
|
718
|
+
* This value is returned as the first entry of the Z array, and
|
|
719
|
+
* no error message related to NZC is issued by XERBLA.
|
|
720
|
+
*
|
|
721
|
+
* ISUPPZ (output) INTEGER ARRAY, dimension ( 2*max(1,M) )
|
|
722
|
+
* The support of the eigenvectors in Z, i.e., the indices
|
|
723
|
+
* indicating the nonzero elements in Z. The i-th computed eigenvector
|
|
724
|
+
* is nonzero only in elements ISUPPZ( 2*i-1 ) through
|
|
725
|
+
* ISUPPZ( 2*i ). This is relevant in the case when the matrix
|
|
726
|
+
* is split. ISUPPZ is only accessed when JOBZ is 'V' and N > 0.
|
|
727
|
+
*
|
|
728
|
+
* TRYRAC (input/output) LOGICAL
|
|
729
|
+
* If TRYRAC.EQ..TRUE., indicates that the code should check whether
|
|
730
|
+
* the tridiagonal matrix defines its eigenvalues to high relative
|
|
731
|
+
* accuracy. If so, the code uses relative-accuracy preserving
|
|
732
|
+
* algorithms that might be (a bit) slower depending on the matrix.
|
|
733
|
+
* If the matrix does not define its eigenvalues to high relative
|
|
734
|
+
* accuracy, the code can uses possibly faster algorithms.
|
|
735
|
+
* If TRYRAC.EQ..FALSE., the code is not required to guarantee
|
|
736
|
+
* relatively accurate eigenvalues and can use the fastest possible
|
|
737
|
+
* techniques.
|
|
738
|
+
* On exit, a .TRUE. TRYRAC will be set to .FALSE. if the matrix
|
|
739
|
+
* does not define its eigenvalues to high relative accuracy.
|
|
740
|
+
*
|
|
741
|
+
* WORK (workspace/output) REAL array, dimension (LWORK)
|
|
742
|
+
* On exit, if INFO = 0, WORK(1) returns the optimal
|
|
743
|
+
* (and minimal) LWORK.
|
|
744
|
+
*
|
|
745
|
+
* LWORK (input) INTEGER
|
|
746
|
+
* The dimension of the array WORK. LWORK >= max(1,18*N)
|
|
747
|
+
* if JOBZ = 'V', and LWORK >= max(1,12*N) if JOBZ = 'N'.
|
|
748
|
+
* If LWORK = -1, then a workspace query is assumed; the routine
|
|
749
|
+
* only calculates the optimal size of the WORK array, returns
|
|
750
|
+
* this value as the first entry of the WORK array, and no error
|
|
751
|
+
* message related to LWORK is issued by XERBLA.
|
|
752
|
+
*
|
|
753
|
+
* IWORK (workspace/output) INTEGER array, dimension (LIWORK)
|
|
754
|
+
* On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
|
|
755
|
+
*
|
|
756
|
+
* LIWORK (input) INTEGER
|
|
757
|
+
* The dimension of the array IWORK. LIWORK >= max(1,10*N)
|
|
758
|
+
* if the eigenvectors are desired, and LIWORK >= max(1,8*N)
|
|
759
|
+
* if only the eigenvalues are to be computed.
|
|
760
|
+
* If LIWORK = -1, then a workspace query is assumed; the
|
|
761
|
+
* routine only calculates the optimal size of the IWORK array,
|
|
762
|
+
* returns this value as the first entry of the IWORK array, and
|
|
763
|
+
* no error message related to LIWORK is issued by XERBLA.
|
|
764
|
+
*
|
|
765
|
+
* INFO (output) INTEGER
|
|
766
|
+
* On exit, INFO
|
|
767
|
+
* = 0: successful exit
|
|
768
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
769
|
+
* > 0: if INFO = 1X, internal error in SLARRE,
|
|
770
|
+
* if INFO = 2X, internal error in SLARRV.
|
|
771
|
+
* Here, the digit X = ABS( IINFO ) < 10, where IINFO is
|
|
772
|
+
* the nonzero error code returned by SLARRE or
|
|
773
|
+
* SLARRV, respectively.
|
|
774
|
+
*
|
|
775
|
+
*
|
|
776
|
+
|
|
777
|
+
* Further Details
|
|
778
|
+
* ===============
|
|
779
|
+
*
|
|
780
|
+
* Based on contributions by
|
|
781
|
+
* Beresford Parlett, University of California, Berkeley, USA
|
|
782
|
+
* Jim Demmel, University of California, Berkeley, USA
|
|
783
|
+
* Inderjit Dhillon, University of Texas, Austin, USA
|
|
784
|
+
* Osni Marques, LBNL/NERSC, USA
|
|
785
|
+
* Christof Voemel, University of California, Berkeley, USA
|
|
786
|
+
*
|
|
787
|
+
* =====================================================================
|
|
788
|
+
*
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
</PRE>
|
|
792
|
+
<A HREF="#top">go to the page top</A>
|
|
793
|
+
|
|
794
|
+
<A NAME="ssteqr"></A>
|
|
795
|
+
<H2>ssteqr</H2>
|
|
796
|
+
<PRE>
|
|
797
|
+
USAGE:
|
|
798
|
+
info, d, e, z = NumRu::Lapack.ssteqr( compz, d, e, z, [:usage => usage, :help => help])
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
FORTRAN MANUAL
|
|
802
|
+
SUBROUTINE SSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO )
|
|
803
|
+
|
|
804
|
+
* Purpose
|
|
805
|
+
* =======
|
|
806
|
+
*
|
|
807
|
+
* SSTEQR computes all eigenvalues and, optionally, eigenvectors of a
|
|
808
|
+
* symmetric tridiagonal matrix using the implicit QL or QR method.
|
|
809
|
+
* The eigenvectors of a full or band symmetric matrix can also be found
|
|
810
|
+
* if SSYTRD or SSPTRD or SSBTRD has been used to reduce this matrix to
|
|
811
|
+
* tridiagonal form.
|
|
812
|
+
*
|
|
813
|
+
|
|
814
|
+
* Arguments
|
|
815
|
+
* =========
|
|
816
|
+
*
|
|
817
|
+
* COMPZ (input) CHARACTER*1
|
|
818
|
+
* = 'N': Compute eigenvalues only.
|
|
819
|
+
* = 'V': Compute eigenvalues and eigenvectors of the original
|
|
820
|
+
* symmetric matrix. On entry, Z must contain the
|
|
821
|
+
* orthogonal matrix used to reduce the original matrix
|
|
822
|
+
* to tridiagonal form.
|
|
823
|
+
* = 'I': Compute eigenvalues and eigenvectors of the
|
|
824
|
+
* tridiagonal matrix. Z is initialized to the identity
|
|
825
|
+
* matrix.
|
|
826
|
+
*
|
|
827
|
+
* N (input) INTEGER
|
|
828
|
+
* The order of the matrix. N >= 0.
|
|
829
|
+
*
|
|
830
|
+
* D (input/output) REAL array, dimension (N)
|
|
831
|
+
* On entry, the diagonal elements of the tridiagonal matrix.
|
|
832
|
+
* On exit, if INFO = 0, the eigenvalues in ascending order.
|
|
833
|
+
*
|
|
834
|
+
* E (input/output) REAL array, dimension (N-1)
|
|
835
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
836
|
+
* matrix.
|
|
837
|
+
* On exit, E has been destroyed.
|
|
838
|
+
*
|
|
839
|
+
* Z (input/output) REAL array, dimension (LDZ, N)
|
|
840
|
+
* On entry, if COMPZ = 'V', then Z contains the orthogonal
|
|
841
|
+
* matrix used in the reduction to tridiagonal form.
|
|
842
|
+
* On exit, if INFO = 0, then if COMPZ = 'V', Z contains the
|
|
843
|
+
* orthonormal eigenvectors of the original symmetric matrix,
|
|
844
|
+
* and if COMPZ = 'I', Z contains the orthonormal eigenvectors
|
|
845
|
+
* of the symmetric tridiagonal matrix.
|
|
846
|
+
* If COMPZ = 'N', then Z is not referenced.
|
|
847
|
+
*
|
|
848
|
+
* LDZ (input) INTEGER
|
|
849
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
850
|
+
* eigenvectors are desired, then LDZ >= max(1,N).
|
|
851
|
+
*
|
|
852
|
+
* WORK (workspace) REAL array, dimension (max(1,2*N-2))
|
|
853
|
+
* If COMPZ = 'N', then WORK is not referenced.
|
|
854
|
+
*
|
|
855
|
+
* INFO (output) INTEGER
|
|
856
|
+
* = 0: successful exit
|
|
857
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
858
|
+
* > 0: the algorithm has failed to find all the eigenvalues in
|
|
859
|
+
* a total of 30*N iterations; if INFO = i, then i
|
|
860
|
+
* elements of E have not converged to zero; on exit, D
|
|
861
|
+
* and E contain the elements of a symmetric tridiagonal
|
|
862
|
+
* matrix which is orthogonally similar to the original
|
|
863
|
+
* matrix.
|
|
864
|
+
*
|
|
865
|
+
|
|
866
|
+
* =====================================================================
|
|
867
|
+
*
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
</PRE>
|
|
871
|
+
<A HREF="#top">go to the page top</A>
|
|
872
|
+
|
|
873
|
+
<A NAME="ssterf"></A>
|
|
874
|
+
<H2>ssterf</H2>
|
|
875
|
+
<PRE>
|
|
876
|
+
USAGE:
|
|
877
|
+
info, d, e = NumRu::Lapack.ssterf( d, e, [:usage => usage, :help => help])
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
FORTRAN MANUAL
|
|
881
|
+
SUBROUTINE SSTERF( N, D, E, INFO )
|
|
882
|
+
|
|
883
|
+
* Purpose
|
|
884
|
+
* =======
|
|
885
|
+
*
|
|
886
|
+
* SSTERF computes all eigenvalues of a symmetric tridiagonal matrix
|
|
887
|
+
* using the Pal-Walker-Kahan variant of the QL or QR algorithm.
|
|
888
|
+
*
|
|
889
|
+
|
|
890
|
+
* Arguments
|
|
891
|
+
* =========
|
|
892
|
+
*
|
|
893
|
+
* N (input) INTEGER
|
|
894
|
+
* The order of the matrix. N >= 0.
|
|
895
|
+
*
|
|
896
|
+
* D (input/output) REAL array, dimension (N)
|
|
897
|
+
* On entry, the n diagonal elements of the tridiagonal matrix.
|
|
898
|
+
* On exit, if INFO = 0, the eigenvalues in ascending order.
|
|
899
|
+
*
|
|
900
|
+
* E (input/output) REAL array, dimension (N-1)
|
|
901
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
902
|
+
* matrix.
|
|
903
|
+
* On exit, E has been destroyed.
|
|
904
|
+
*
|
|
905
|
+
* INFO (output) INTEGER
|
|
906
|
+
* = 0: successful exit
|
|
907
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
908
|
+
* > 0: the algorithm failed to find all of the eigenvalues in
|
|
909
|
+
* a total of 30*N iterations; if INFO = i, then i
|
|
910
|
+
* elements of E have not converged to zero.
|
|
911
|
+
*
|
|
912
|
+
|
|
913
|
+
* =====================================================================
|
|
914
|
+
*
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
</PRE>
|
|
918
|
+
<A HREF="#top">go to the page top</A>
|
|
919
|
+
|
|
920
|
+
<A NAME="sstev"></A>
|
|
921
|
+
<H2>sstev</H2>
|
|
922
|
+
<PRE>
|
|
923
|
+
USAGE:
|
|
924
|
+
z, info, d, e = NumRu::Lapack.sstev( jobz, d, e, [:usage => usage, :help => help])
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
FORTRAN MANUAL
|
|
928
|
+
SUBROUTINE SSTEV( JOBZ, N, D, E, Z, LDZ, WORK, INFO )
|
|
929
|
+
|
|
930
|
+
* Purpose
|
|
931
|
+
* =======
|
|
932
|
+
*
|
|
933
|
+
* SSTEV computes all eigenvalues and, optionally, eigenvectors of a
|
|
934
|
+
* real symmetric tridiagonal matrix A.
|
|
935
|
+
*
|
|
936
|
+
|
|
937
|
+
* Arguments
|
|
938
|
+
* =========
|
|
939
|
+
*
|
|
940
|
+
* JOBZ (input) CHARACTER*1
|
|
941
|
+
* = 'N': Compute eigenvalues only;
|
|
942
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
943
|
+
*
|
|
944
|
+
* N (input) INTEGER
|
|
945
|
+
* The order of the matrix. N >= 0.
|
|
946
|
+
*
|
|
947
|
+
* D (input/output) REAL array, dimension (N)
|
|
948
|
+
* On entry, the n diagonal elements of the tridiagonal matrix
|
|
949
|
+
* A.
|
|
950
|
+
* On exit, if INFO = 0, the eigenvalues in ascending order.
|
|
951
|
+
*
|
|
952
|
+
* E (input/output) REAL array, dimension (N-1)
|
|
953
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
954
|
+
* matrix A, stored in elements 1 to N-1 of E.
|
|
955
|
+
* On exit, the contents of E are destroyed.
|
|
956
|
+
*
|
|
957
|
+
* Z (output) REAL array, dimension (LDZ, N)
|
|
958
|
+
* If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
|
|
959
|
+
* eigenvectors of the matrix A, with the i-th column of Z
|
|
960
|
+
* holding the eigenvector associated with D(i).
|
|
961
|
+
* If JOBZ = 'N', then Z is not referenced.
|
|
962
|
+
*
|
|
963
|
+
* LDZ (input) INTEGER
|
|
964
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
965
|
+
* JOBZ = 'V', LDZ >= max(1,N).
|
|
966
|
+
*
|
|
967
|
+
* WORK (workspace) REAL array, dimension (max(1,2*N-2))
|
|
968
|
+
* If JOBZ = 'N', WORK is not referenced.
|
|
969
|
+
*
|
|
970
|
+
* INFO (output) INTEGER
|
|
971
|
+
* = 0: successful exit
|
|
972
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
973
|
+
* > 0: if INFO = i, the algorithm failed to converge; i
|
|
974
|
+
* off-diagonal elements of E did not converge to zero.
|
|
975
|
+
*
|
|
976
|
+
|
|
977
|
+
* =====================================================================
|
|
978
|
+
*
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
</PRE>
|
|
982
|
+
<A HREF="#top">go to the page top</A>
|
|
983
|
+
|
|
984
|
+
<A NAME="sstevd"></A>
|
|
985
|
+
<H2>sstevd</H2>
|
|
986
|
+
<PRE>
|
|
987
|
+
USAGE:
|
|
988
|
+
z, work, iwork, info, d, e = NumRu::Lapack.sstevd( jobz, d, e, [:lwork => lwork, :liwork => liwork, :usage => usage, :help => help])
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
FORTRAN MANUAL
|
|
992
|
+
SUBROUTINE SSTEVD( JOBZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK, INFO )
|
|
993
|
+
|
|
994
|
+
* Purpose
|
|
995
|
+
* =======
|
|
996
|
+
*
|
|
997
|
+
* SSTEVD computes all eigenvalues and, optionally, eigenvectors of a
|
|
998
|
+
* real symmetric tridiagonal matrix. If eigenvectors are desired, it
|
|
999
|
+
* uses a divide and conquer algorithm.
|
|
1000
|
+
*
|
|
1001
|
+
* The divide and conquer algorithm makes very mild assumptions about
|
|
1002
|
+
* floating point arithmetic. It will work on machines with a guard
|
|
1003
|
+
* digit in add/subtract, or on those binary machines without guard
|
|
1004
|
+
* digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or
|
|
1005
|
+
* Cray-2. It could conceivably fail on hexadecimal or decimal machines
|
|
1006
|
+
* without guard digits, but we know of none.
|
|
1007
|
+
*
|
|
1008
|
+
|
|
1009
|
+
* Arguments
|
|
1010
|
+
* =========
|
|
1011
|
+
*
|
|
1012
|
+
* JOBZ (input) CHARACTER*1
|
|
1013
|
+
* = 'N': Compute eigenvalues only;
|
|
1014
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
1015
|
+
*
|
|
1016
|
+
* N (input) INTEGER
|
|
1017
|
+
* The order of the matrix. N >= 0.
|
|
1018
|
+
*
|
|
1019
|
+
* D (input/output) REAL array, dimension (N)
|
|
1020
|
+
* On entry, the n diagonal elements of the tridiagonal matrix
|
|
1021
|
+
* A.
|
|
1022
|
+
* On exit, if INFO = 0, the eigenvalues in ascending order.
|
|
1023
|
+
*
|
|
1024
|
+
* E (input/output) REAL array, dimension (N-1)
|
|
1025
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
1026
|
+
* matrix A, stored in elements 1 to N-1 of E.
|
|
1027
|
+
* On exit, the contents of E are destroyed.
|
|
1028
|
+
*
|
|
1029
|
+
* Z (output) REAL array, dimension (LDZ, N)
|
|
1030
|
+
* If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
|
|
1031
|
+
* eigenvectors of the matrix A, with the i-th column of Z
|
|
1032
|
+
* holding the eigenvector associated with D(i).
|
|
1033
|
+
* If JOBZ = 'N', then Z is not referenced.
|
|
1034
|
+
*
|
|
1035
|
+
* LDZ (input) INTEGER
|
|
1036
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
1037
|
+
* JOBZ = 'V', LDZ >= max(1,N).
|
|
1038
|
+
*
|
|
1039
|
+
* WORK (workspace/output) REAL array,
|
|
1040
|
+
* dimension (LWORK)
|
|
1041
|
+
* On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
|
|
1042
|
+
*
|
|
1043
|
+
* LWORK (input) INTEGER
|
|
1044
|
+
* The dimension of the array WORK.
|
|
1045
|
+
* If JOBZ = 'N' or N <= 1 then LWORK must be at least 1.
|
|
1046
|
+
* If JOBZ = 'V' and N > 1 then LWORK must be at least
|
|
1047
|
+
* ( 1 + 4*N + N**2 ).
|
|
1048
|
+
*
|
|
1049
|
+
* If LWORK = -1, then a workspace query is assumed; the routine
|
|
1050
|
+
* only calculates the optimal sizes of the WORK and IWORK
|
|
1051
|
+
* arrays, returns these values as the first entries of the WORK
|
|
1052
|
+
* and IWORK arrays, and no error message related to LWORK or
|
|
1053
|
+
* LIWORK is issued by XERBLA.
|
|
1054
|
+
*
|
|
1055
|
+
* IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
|
|
1056
|
+
* On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
|
|
1057
|
+
*
|
|
1058
|
+
* LIWORK (input) INTEGER
|
|
1059
|
+
* The dimension of the array IWORK.
|
|
1060
|
+
* If JOBZ = 'N' or N <= 1 then LIWORK must be at least 1.
|
|
1061
|
+
* If JOBZ = 'V' and N > 1 then LIWORK must be at least 3+5*N.
|
|
1062
|
+
*
|
|
1063
|
+
* If LIWORK = -1, then a workspace query is assumed; the
|
|
1064
|
+
* routine only calculates the optimal sizes of the WORK and
|
|
1065
|
+
* IWORK arrays, returns these values as the first entries of
|
|
1066
|
+
* the WORK and IWORK arrays, and no error message related to
|
|
1067
|
+
* LWORK or LIWORK is issued by XERBLA.
|
|
1068
|
+
*
|
|
1069
|
+
* INFO (output) INTEGER
|
|
1070
|
+
* = 0: successful exit
|
|
1071
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
1072
|
+
* > 0: if INFO = i, the algorithm failed to converge; i
|
|
1073
|
+
* off-diagonal elements of E did not converge to zero.
|
|
1074
|
+
*
|
|
1075
|
+
|
|
1076
|
+
* =====================================================================
|
|
1077
|
+
*
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
</PRE>
|
|
1081
|
+
<A HREF="#top">go to the page top</A>
|
|
1082
|
+
|
|
1083
|
+
<A NAME="sstevr"></A>
|
|
1084
|
+
<H2>sstevr</H2>
|
|
1085
|
+
<PRE>
|
|
1086
|
+
USAGE:
|
|
1087
|
+
m, w, z, isuppz, work, iwork, info, d, e = NumRu::Lapack.sstevr( jobz, range, d, e, vl, vu, il, iu, abstol, [:lwork => lwork, :liwork => liwork, :usage => usage, :help => help])
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
FORTRAN MANUAL
|
|
1091
|
+
SUBROUTINE SSTEVR( JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, IWORK, LIWORK, INFO )
|
|
1092
|
+
|
|
1093
|
+
* Purpose
|
|
1094
|
+
* =======
|
|
1095
|
+
*
|
|
1096
|
+
* SSTEVR computes selected eigenvalues and, optionally, eigenvectors
|
|
1097
|
+
* of a real symmetric tridiagonal matrix T. Eigenvalues and
|
|
1098
|
+
* eigenvectors can be selected by specifying either a range of values
|
|
1099
|
+
* or a range of indices for the desired eigenvalues.
|
|
1100
|
+
*
|
|
1101
|
+
* Whenever possible, SSTEVR calls SSTEMR to compute the
|
|
1102
|
+
* eigenspectrum using Relatively Robust Representations. SSTEMR
|
|
1103
|
+
* computes eigenvalues by the dqds algorithm, while orthogonal
|
|
1104
|
+
* eigenvectors are computed from various "good" L D L^T representations
|
|
1105
|
+
* (also known as Relatively Robust Representations). Gram-Schmidt
|
|
1106
|
+
* orthogonalization is avoided as far as possible. More specifically,
|
|
1107
|
+
* the various steps of the algorithm are as follows. For the i-th
|
|
1108
|
+
* unreduced block of T,
|
|
1109
|
+
* (a) Compute T - sigma_i = L_i D_i L_i^T, such that L_i D_i L_i^T
|
|
1110
|
+
* is a relatively robust representation,
|
|
1111
|
+
* (b) Compute the eigenvalues, lambda_j, of L_i D_i L_i^T to high
|
|
1112
|
+
* relative accuracy by the dqds algorithm,
|
|
1113
|
+
* (c) If there is a cluster of close eigenvalues, "choose" sigma_i
|
|
1114
|
+
* close to the cluster, and go to step (a),
|
|
1115
|
+
* (d) Given the approximate eigenvalue lambda_j of L_i D_i L_i^T,
|
|
1116
|
+
* compute the corresponding eigenvector by forming a
|
|
1117
|
+
* rank-revealing twisted factorization.
|
|
1118
|
+
* The desired accuracy of the output can be specified by the input
|
|
1119
|
+
* parameter ABSTOL.
|
|
1120
|
+
*
|
|
1121
|
+
* For more details, see "A new O(n^2) algorithm for the symmetric
|
|
1122
|
+
* tridiagonal eigenvalue/eigenvector problem", by Inderjit Dhillon,
|
|
1123
|
+
* Computer Science Division Technical Report No. UCB//CSD-97-971,
|
|
1124
|
+
* UC Berkeley, May 1997.
|
|
1125
|
+
*
|
|
1126
|
+
*
|
|
1127
|
+
* Note 1 : SSTEVR calls SSTEMR when the full spectrum is requested
|
|
1128
|
+
* on machines which conform to the ieee-754 floating point standard.
|
|
1129
|
+
* SSTEVR calls SSTEBZ and SSTEIN on non-ieee machines and
|
|
1130
|
+
* when partial spectrum requests are made.
|
|
1131
|
+
*
|
|
1132
|
+
* Normal execution of SSTEMR may create NaNs and infinities and
|
|
1133
|
+
* hence may abort due to a floating point exception in environments
|
|
1134
|
+
* which do not handle NaNs and infinities in the ieee standard default
|
|
1135
|
+
* manner.
|
|
1136
|
+
*
|
|
1137
|
+
|
|
1138
|
+
* Arguments
|
|
1139
|
+
* =========
|
|
1140
|
+
*
|
|
1141
|
+
* JOBZ (input) CHARACTER*1
|
|
1142
|
+
* = 'N': Compute eigenvalues only;
|
|
1143
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
1144
|
+
*
|
|
1145
|
+
* RANGE (input) CHARACTER*1
|
|
1146
|
+
* = 'A': all eigenvalues will be found.
|
|
1147
|
+
* = 'V': all eigenvalues in the half-open interval (VL,VU]
|
|
1148
|
+
* will be found.
|
|
1149
|
+
* = 'I': the IL-th through IU-th eigenvalues will be found.
|
|
1150
|
+
********** For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and
|
|
1151
|
+
********** SSTEIN are called
|
|
1152
|
+
*
|
|
1153
|
+
* N (input) INTEGER
|
|
1154
|
+
* The order of the matrix. N >= 0.
|
|
1155
|
+
*
|
|
1156
|
+
* D (input/output) REAL array, dimension (N)
|
|
1157
|
+
* On entry, the n diagonal elements of the tridiagonal matrix
|
|
1158
|
+
* A.
|
|
1159
|
+
* On exit, D may be multiplied by a constant factor chosen
|
|
1160
|
+
* to avoid over/underflow in computing the eigenvalues.
|
|
1161
|
+
*
|
|
1162
|
+
* E (input/output) REAL array, dimension (max(1,N-1))
|
|
1163
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
1164
|
+
* matrix A in elements 1 to N-1 of E.
|
|
1165
|
+
* On exit, E may be multiplied by a constant factor chosen
|
|
1166
|
+
* to avoid over/underflow in computing the eigenvalues.
|
|
1167
|
+
*
|
|
1168
|
+
* VL (input) REAL
|
|
1169
|
+
* VU (input) REAL
|
|
1170
|
+
* If RANGE='V', the lower and upper bounds of the interval to
|
|
1171
|
+
* be searched for eigenvalues. VL < VU.
|
|
1172
|
+
* Not referenced if RANGE = 'A' or 'I'.
|
|
1173
|
+
*
|
|
1174
|
+
* IL (input) INTEGER
|
|
1175
|
+
* IU (input) INTEGER
|
|
1176
|
+
* If RANGE='I', the indices (in ascending order) of the
|
|
1177
|
+
* smallest and largest eigenvalues to be returned.
|
|
1178
|
+
* 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.
|
|
1179
|
+
* Not referenced if RANGE = 'A' or 'V'.
|
|
1180
|
+
*
|
|
1181
|
+
* ABSTOL (input) REAL
|
|
1182
|
+
* The absolute error tolerance for the eigenvalues.
|
|
1183
|
+
* An approximate eigenvalue is accepted as converged
|
|
1184
|
+
* when it is determined to lie in an interval [a,b]
|
|
1185
|
+
* of width less than or equal to
|
|
1186
|
+
*
|
|
1187
|
+
* ABSTOL + EPS * max( |a|,|b| ) ,
|
|
1188
|
+
*
|
|
1189
|
+
* where EPS is the machine precision. If ABSTOL is less than
|
|
1190
|
+
* or equal to zero, then EPS*|T| will be used in its place,
|
|
1191
|
+
* where |T| is the 1-norm of the tridiagonal matrix obtained
|
|
1192
|
+
* by reducing A to tridiagonal form.
|
|
1193
|
+
*
|
|
1194
|
+
* See "Computing Small Singular Values of Bidiagonal Matrices
|
|
1195
|
+
* with Guaranteed High Relative Accuracy," by Demmel and
|
|
1196
|
+
* Kahan, LAPACK Working Note #3.
|
|
1197
|
+
*
|
|
1198
|
+
* If high relative accuracy is important, set ABSTOL to
|
|
1199
|
+
* SLAMCH( 'Safe minimum' ). Doing so will guarantee that
|
|
1200
|
+
* eigenvalues are computed to high relative accuracy when
|
|
1201
|
+
* possible in future releases. The current code does not
|
|
1202
|
+
* make any guarantees about high relative accuracy, but
|
|
1203
|
+
* future releases will. See J. Barlow and J. Demmel,
|
|
1204
|
+
* "Computing Accurate Eigensystems of Scaled Diagonally
|
|
1205
|
+
* Dominant Matrices", LAPACK Working Note #7, for a discussion
|
|
1206
|
+
* of which matrices define their eigenvalues to high relative
|
|
1207
|
+
* accuracy.
|
|
1208
|
+
*
|
|
1209
|
+
* M (output) INTEGER
|
|
1210
|
+
* The total number of eigenvalues found. 0 <= M <= N.
|
|
1211
|
+
* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
|
|
1212
|
+
*
|
|
1213
|
+
* W (output) REAL array, dimension (N)
|
|
1214
|
+
* The first M elements contain the selected eigenvalues in
|
|
1215
|
+
* ascending order.
|
|
1216
|
+
*
|
|
1217
|
+
* Z (output) REAL array, dimension (LDZ, max(1,M) )
|
|
1218
|
+
* If JOBZ = 'V', then if INFO = 0, the first M columns of Z
|
|
1219
|
+
* contain the orthonormal eigenvectors of the matrix A
|
|
1220
|
+
* corresponding to the selected eigenvalues, with the i-th
|
|
1221
|
+
* column of Z holding the eigenvector associated with W(i).
|
|
1222
|
+
* Note: the user must ensure that at least max(1,M) columns are
|
|
1223
|
+
* supplied in the array Z; if RANGE = 'V', the exact value of M
|
|
1224
|
+
* is not known in advance and an upper bound must be used.
|
|
1225
|
+
*
|
|
1226
|
+
* LDZ (input) INTEGER
|
|
1227
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
1228
|
+
* JOBZ = 'V', LDZ >= max(1,N).
|
|
1229
|
+
*
|
|
1230
|
+
* ISUPPZ (output) INTEGER array, dimension ( 2*max(1,M) )
|
|
1231
|
+
* The support of the eigenvectors in Z, i.e., the indices
|
|
1232
|
+
* indicating the nonzero elements in Z. The i-th eigenvector
|
|
1233
|
+
* is nonzero only in elements ISUPPZ( 2*i-1 ) through
|
|
1234
|
+
* ISUPPZ( 2*i ).
|
|
1235
|
+
********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1
|
|
1236
|
+
*
|
|
1237
|
+
* WORK (workspace/output) REAL array, dimension (MAX(1,LWORK))
|
|
1238
|
+
* On exit, if INFO = 0, WORK(1) returns the optimal (and
|
|
1239
|
+
* minimal) LWORK.
|
|
1240
|
+
*
|
|
1241
|
+
* LWORK (input) INTEGER
|
|
1242
|
+
* The dimension of the array WORK. LWORK >= 20*N.
|
|
1243
|
+
*
|
|
1244
|
+
* If LWORK = -1, then a workspace query is assumed; the routine
|
|
1245
|
+
* only calculates the optimal sizes of the WORK and IWORK
|
|
1246
|
+
* arrays, returns these values as the first entries of the WORK
|
|
1247
|
+
* and IWORK arrays, and no error message related to LWORK or
|
|
1248
|
+
* LIWORK is issued by XERBLA.
|
|
1249
|
+
*
|
|
1250
|
+
* IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
|
|
1251
|
+
* On exit, if INFO = 0, IWORK(1) returns the optimal (and
|
|
1252
|
+
* minimal) LIWORK.
|
|
1253
|
+
*
|
|
1254
|
+
* LIWORK (input) INTEGER
|
|
1255
|
+
* The dimension of the array IWORK. LIWORK >= 10*N.
|
|
1256
|
+
*
|
|
1257
|
+
* If LIWORK = -1, then a workspace query is assumed; the
|
|
1258
|
+
* routine only calculates the optimal sizes of the WORK and
|
|
1259
|
+
* IWORK arrays, returns these values as the first entries of
|
|
1260
|
+
* the WORK and IWORK arrays, and no error message related to
|
|
1261
|
+
* LWORK or LIWORK is issued by XERBLA.
|
|
1262
|
+
*
|
|
1263
|
+
* INFO (output) INTEGER
|
|
1264
|
+
* = 0: successful exit
|
|
1265
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
1266
|
+
* > 0: Internal error
|
|
1267
|
+
*
|
|
1268
|
+
|
|
1269
|
+
* Further Details
|
|
1270
|
+
* ===============
|
|
1271
|
+
*
|
|
1272
|
+
* Based on contributions by
|
|
1273
|
+
* Inderjit Dhillon, IBM Almaden, USA
|
|
1274
|
+
* Osni Marques, LBNL/NERSC, USA
|
|
1275
|
+
* Ken Stanley, Computer Science Division, University of
|
|
1276
|
+
* California at Berkeley, USA
|
|
1277
|
+
* Jason Riedy, Computer Science Division, University of
|
|
1278
|
+
* California at Berkeley, USA
|
|
1279
|
+
*
|
|
1280
|
+
* =====================================================================
|
|
1281
|
+
*
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
</PRE>
|
|
1285
|
+
<A HREF="#top">go to the page top</A>
|
|
1286
|
+
|
|
1287
|
+
<A NAME="sstevx"></A>
|
|
1288
|
+
<H2>sstevx</H2>
|
|
1289
|
+
<PRE>
|
|
1290
|
+
USAGE:
|
|
1291
|
+
m, w, z, ifail, info, d, e = NumRu::Lapack.sstevx( jobz, range, d, e, vl, vu, il, iu, abstol, [:usage => usage, :help => help])
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
FORTRAN MANUAL
|
|
1295
|
+
SUBROUTINE SSTEVX( JOBZ, RANGE, N, D, E, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO )
|
|
1296
|
+
|
|
1297
|
+
* Purpose
|
|
1298
|
+
* =======
|
|
1299
|
+
*
|
|
1300
|
+
* SSTEVX computes selected eigenvalues and, optionally, eigenvectors
|
|
1301
|
+
* of a real symmetric tridiagonal matrix A. Eigenvalues and
|
|
1302
|
+
* eigenvectors can be selected by specifying either a range of values
|
|
1303
|
+
* or a range of indices for the desired eigenvalues.
|
|
1304
|
+
*
|
|
1305
|
+
|
|
1306
|
+
* Arguments
|
|
1307
|
+
* =========
|
|
1308
|
+
*
|
|
1309
|
+
* JOBZ (input) CHARACTER*1
|
|
1310
|
+
* = 'N': Compute eigenvalues only;
|
|
1311
|
+
* = 'V': Compute eigenvalues and eigenvectors.
|
|
1312
|
+
*
|
|
1313
|
+
* RANGE (input) CHARACTER*1
|
|
1314
|
+
* = 'A': all eigenvalues will be found.
|
|
1315
|
+
* = 'V': all eigenvalues in the half-open interval (VL,VU]
|
|
1316
|
+
* will be found.
|
|
1317
|
+
* = 'I': the IL-th through IU-th eigenvalues will be found.
|
|
1318
|
+
*
|
|
1319
|
+
* N (input) INTEGER
|
|
1320
|
+
* The order of the matrix. N >= 0.
|
|
1321
|
+
*
|
|
1322
|
+
* D (input/output) REAL array, dimension (N)
|
|
1323
|
+
* On entry, the n diagonal elements of the tridiagonal matrix
|
|
1324
|
+
* A.
|
|
1325
|
+
* On exit, D may be multiplied by a constant factor chosen
|
|
1326
|
+
* to avoid over/underflow in computing the eigenvalues.
|
|
1327
|
+
*
|
|
1328
|
+
* E (input/output) REAL array, dimension (max(1,N-1))
|
|
1329
|
+
* On entry, the (n-1) subdiagonal elements of the tridiagonal
|
|
1330
|
+
* matrix A in elements 1 to N-1 of E.
|
|
1331
|
+
* On exit, E may be multiplied by a constant factor chosen
|
|
1332
|
+
* to avoid over/underflow in computing the eigenvalues.
|
|
1333
|
+
*
|
|
1334
|
+
* VL (input) REAL
|
|
1335
|
+
* VU (input) REAL
|
|
1336
|
+
* If RANGE='V', the lower and upper bounds of the interval to
|
|
1337
|
+
* be searched for eigenvalues. VL < VU.
|
|
1338
|
+
* Not referenced if RANGE = 'A' or 'I'.
|
|
1339
|
+
*
|
|
1340
|
+
* IL (input) INTEGER
|
|
1341
|
+
* IU (input) INTEGER
|
|
1342
|
+
* If RANGE='I', the indices (in ascending order) of the
|
|
1343
|
+
* smallest and largest eigenvalues to be returned.
|
|
1344
|
+
* 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.
|
|
1345
|
+
* Not referenced if RANGE = 'A' or 'V'.
|
|
1346
|
+
*
|
|
1347
|
+
* ABSTOL (input) REAL
|
|
1348
|
+
* The absolute error tolerance for the eigenvalues.
|
|
1349
|
+
* An approximate eigenvalue is accepted as converged
|
|
1350
|
+
* when it is determined to lie in an interval [a,b]
|
|
1351
|
+
* of width less than or equal to
|
|
1352
|
+
*
|
|
1353
|
+
* ABSTOL + EPS * max( |a|,|b| ) ,
|
|
1354
|
+
*
|
|
1355
|
+
* where EPS is the machine precision. If ABSTOL is less
|
|
1356
|
+
* than or equal to zero, then EPS*|T| will be used in
|
|
1357
|
+
* its place, where |T| is the 1-norm of the tridiagonal
|
|
1358
|
+
* matrix.
|
|
1359
|
+
*
|
|
1360
|
+
* Eigenvalues will be computed most accurately when ABSTOL is
|
|
1361
|
+
* set to twice the underflow threshold 2*SLAMCH('S'), not zero.
|
|
1362
|
+
* If this routine returns with INFO>0, indicating that some
|
|
1363
|
+
* eigenvectors did not converge, try setting ABSTOL to
|
|
1364
|
+
* 2*SLAMCH('S').
|
|
1365
|
+
*
|
|
1366
|
+
* See "Computing Small Singular Values of Bidiagonal Matrices
|
|
1367
|
+
* with Guaranteed High Relative Accuracy," by Demmel and
|
|
1368
|
+
* Kahan, LAPACK Working Note #3.
|
|
1369
|
+
*
|
|
1370
|
+
* M (output) INTEGER
|
|
1371
|
+
* The total number of eigenvalues found. 0 <= M <= N.
|
|
1372
|
+
* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
|
|
1373
|
+
*
|
|
1374
|
+
* W (output) REAL array, dimension (N)
|
|
1375
|
+
* The first M elements contain the selected eigenvalues in
|
|
1376
|
+
* ascending order.
|
|
1377
|
+
*
|
|
1378
|
+
* Z (output) REAL array, dimension (LDZ, max(1,M) )
|
|
1379
|
+
* If JOBZ = 'V', then if INFO = 0, the first M columns of Z
|
|
1380
|
+
* contain the orthonormal eigenvectors of the matrix A
|
|
1381
|
+
* corresponding to the selected eigenvalues, with the i-th
|
|
1382
|
+
* column of Z holding the eigenvector associated with W(i).
|
|
1383
|
+
* If an eigenvector fails to converge (INFO > 0), then that
|
|
1384
|
+
* column of Z contains the latest approximation to the
|
|
1385
|
+
* eigenvector, and the index of the eigenvector is returned
|
|
1386
|
+
* in IFAIL. If JOBZ = 'N', then Z is not referenced.
|
|
1387
|
+
* Note: the user must ensure that at least max(1,M) columns are
|
|
1388
|
+
* supplied in the array Z; if RANGE = 'V', the exact value of M
|
|
1389
|
+
* is not known in advance and an upper bound must be used.
|
|
1390
|
+
*
|
|
1391
|
+
* LDZ (input) INTEGER
|
|
1392
|
+
* The leading dimension of the array Z. LDZ >= 1, and if
|
|
1393
|
+
* JOBZ = 'V', LDZ >= max(1,N).
|
|
1394
|
+
*
|
|
1395
|
+
* WORK (workspace) REAL array, dimension (5*N)
|
|
1396
|
+
*
|
|
1397
|
+
* IWORK (workspace) INTEGER array, dimension (5*N)
|
|
1398
|
+
*
|
|
1399
|
+
* IFAIL (output) INTEGER array, dimension (N)
|
|
1400
|
+
* If JOBZ = 'V', then if INFO = 0, the first M elements of
|
|
1401
|
+
* IFAIL are zero. If INFO > 0, then IFAIL contains the
|
|
1402
|
+
* indices of the eigenvectors that failed to converge.
|
|
1403
|
+
* If JOBZ = 'N', then IFAIL is not referenced.
|
|
1404
|
+
*
|
|
1405
|
+
* INFO (output) INTEGER
|
|
1406
|
+
* = 0: successful exit
|
|
1407
|
+
* < 0: if INFO = -i, the i-th argument had an illegal value
|
|
1408
|
+
* > 0: if INFO = i, then i eigenvectors failed to converge.
|
|
1409
|
+
* Their indices are stored in array IFAIL.
|
|
1410
|
+
*
|
|
1411
|
+
|
|
1412
|
+
* =====================================================================
|
|
1413
|
+
*
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
</PRE>
|
|
1417
|
+
<A HREF="#top">go to the page top</A>
|
|
1418
|
+
|
|
1419
|
+
<HR />
|
|
1420
|
+
<A HREF="s.html">back to matrix types</A><BR>
|
|
1421
|
+
<A HREF="s.html">back to data types</A>
|
|
1422
|
+
</BODY>
|
|
1423
|
+
</HTML>
|