ruby-lapack 1.6 → 1.7
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.
- checksums.yaml +7 -0
- data/Rakefile +1 -1
- data/dev/make_csrc.rb +8 -2
- data/ext/extconf.rb +15 -11
- data/ext/rb_lapack.h +7 -1
- metadata +48 -1700
- data/ext/cbbcsd.c +0 -283
- data/ext/cbdsqr.c +0 -182
- data/ext/cgbbrd.c +0 -157
- data/ext/cgbcon.c +0 -98
- data/ext/cgbequ.c +0 -98
- data/ext/cgbequb.c +0 -96
- data/ext/cgbrfs.c +0 -161
- data/ext/cgbrfsx.c +0 -249
- data/ext/cgbsv.c +0 -115
- data/ext/cgbsvx.c +0 -286
- data/ext/cgbsvxx.c +0 -289
- data/ext/cgbtf2.c +0 -93
- data/ext/cgbtrf.c +0 -93
- data/ext/cgbtrs.c +0 -111
- data/ext/cgebak.c +0 -101
- data/ext/cgebal.c +0 -91
- data/ext/cgebd2.c +0 -112
- data/ext/cgebrd.c +0 -127
- data/ext/cgecon.c +0 -78
- data/ext/cgeequ.c +0 -88
- data/ext/cgeequb.c +0 -88
- data/ext/cgees.c +0 -142
- data/ext/cgeesx.c +0 -152
- data/ext/cgeev.c +0 -132
- data/ext/cgeevx.c +0 -173
- data/ext/cgegs.c +0 -166
- data/ext/cgegv.c +0 -171
- data/ext/cgehd2.c +0 -92
- data/ext/cgehrd.c +0 -107
- data/ext/cgelq2.c +0 -86
- data/ext/cgelqf.c +0 -103
- data/ext/cgels.c +0 -137
- data/ext/cgelsd.c +0 -154
- data/ext/cgelss.c +0 -151
- data/ext/cgelsx.c +0 -139
- data/ext/cgelsy.c +0 -166
- data/ext/cgeql2.c +0 -88
- data/ext/cgeqlf.c +0 -103
- data/ext/cgeqp3.c +0 -129
- data/ext/cgeqpf.c +0 -114
- data/ext/cgeqr2.c +0 -88
- data/ext/cgeqr2p.c +0 -88
- data/ext/cgeqrf.c +0 -103
- data/ext/cgeqrfp.c +0 -103
- data/ext/cgerfs.c +0 -153
- data/ext/cgerfsx.c +0 -219
- data/ext/cgerq2.c +0 -86
- data/ext/cgerqf.c +0 -103
- data/ext/cgesc2.c +0 -108
- data/ext/cgesdd.c +0 -135
- data/ext/cgesv.c +0 -107
- data/ext/cgesvd.c +0 -146
- data/ext/cgesvx.c +0 -278
- data/ext/cgesvxx.c +0 -281
- data/ext/cgetc2.c +0 -89
- data/ext/cgetf2.c +0 -85
- data/ext/cgetrf.c +0 -85
- data/ext/cgetri.c +0 -103
- data/ext/cgetrs.c +0 -103
- data/ext/cggbak.c +0 -113
- data/ext/cggbal.c +0 -128
- data/ext/cgges.c +0 -192
- data/ext/cggesx.c +0 -230
- data/ext/cggev.c +0 -171
- data/ext/cggevx.c +0 -226
- data/ext/cggglm.c +0 -156
- data/ext/cgghrd.c +0 -167
- data/ext/cgglse.c +0 -171
- data/ext/cggqrf.c +0 -137
- data/ext/cggrqf.c +0 -141
- data/ext/cggsvd.c +0 -184
- data/ext/cggsvp.c +0 -174
- data/ext/cgtcon.c +0 -121
- data/ext/cgtrfs.c +0 -209
- data/ext/cgtsv.c +0 -142
- data/ext/cgtsvx.c +0 -256
- data/ext/cgttrf.c +0 -132
- data/ext/cgttrs.c +0 -137
- data/ext/cgtts2.c +0 -134
- data/ext/chbev.c +0 -110
- data/ext/chbevd.c +0 -158
- data/ext/chbevx.c +0 -160
- data/ext/chbgst.c +0 -120
- data/ext/chbgv.c +0 -140
- data/ext/chbgvd.c +0 -188
- data/ext/chbgvx.c +0 -189
- data/ext/chbtrd.c +0 -130
- data/ext/checon.c +0 -87
- data/ext/cheequb.c +0 -82
- data/ext/cheev.c +0 -110
- data/ext/cheevd.c +0 -143
- data/ext/cheevr.c +0 -190
- data/ext/cheevx.c +0 -160
- data/ext/chegs2.c +0 -95
- data/ext/chegst.c +0 -95
- data/ext/chegv.c +0 -140
- data/ext/chegvd.c +0 -173
- data/ext/chegvx.c +0 -190
- data/ext/cherfs.c +0 -153
- data/ext/cherfsx.c +0 -218
- data/ext/chesv.c +0 -123
- data/ext/chesvx.c +0 -183
- data/ext/chesvxx.c +0 -258
- data/ext/chetd2.c +0 -101
- data/ext/chetf2.c +0 -85
- data/ext/chetrd.c +0 -113
- data/ext/chetrf.c +0 -97
- data/ext/chetri.c +0 -92
- data/ext/chetrs.c +0 -103
- data/ext/chetrs2.c +0 -106
- data/ext/chfrk.c +0 -109
- data/ext/chgeqz.c +0 -208
- data/ext/chla_transtype.c +0 -51
- data/ext/chpcon.c +0 -85
- data/ext/chpev.c +0 -105
- data/ext/chpevd.c +0 -153
- data/ext/chpevx.c +0 -144
- data/ext/chpgst.c +0 -94
- data/ext/chpgv.c +0 -132
- data/ext/chpgvd.c +0 -170
- data/ext/chpgvx.c +0 -170
- data/ext/chprfs.c +0 -149
- data/ext/chpsv.c +0 -110
- data/ext/chpsvx.c +0 -163
- data/ext/chptrd.c +0 -100
- data/ext/chptrf.c +0 -84
- data/ext/chptri.c +0 -89
- data/ext/chptrs.c +0 -101
- data/ext/chsein.c +0 -185
- data/ext/chseqr.c +0 -145
- data/ext/cla_gbamv.c +0 -127
- data/ext/cla_gbrcond_c.c +0 -142
- data/ext/cla_gbrcond_x.c +0 -138
- data/ext/cla_gbrfsx_extended.c +0 -295
- data/ext/cla_gbrpvgrw.c +0 -87
- data/ext/cla_geamv.c +0 -117
- data/ext/cla_gercond_c.c +0 -134
- data/ext/cla_gercond_x.c +0 -130
- data/ext/cla_gerfsx_extended.c +0 -281
- data/ext/cla_heamv.c +0 -116
- data/ext/cla_hercond_c.c +0 -134
- data/ext/cla_hercond_x.c +0 -130
- data/ext/cla_herfsx_extended.c +0 -283
- data/ext/cla_herpvgrw.c +0 -107
- data/ext/cla_lin_berr.c +0 -84
- data/ext/cla_porcond_c.c +0 -122
- data/ext/cla_porcond_x.c +0 -118
- data/ext/cla_porfsx_extended.c +0 -271
- data/ext/cla_porpvgrw.c +0 -95
- data/ext/cla_rpvgrw.c +0 -79
- data/ext/cla_syamv.c +0 -115
- data/ext/cla_syrcond_c.c +0 -134
- data/ext/cla_syrcond_x.c +0 -130
- data/ext/cla_syrfsx_extended.c +0 -283
- data/ext/cla_syrpvgrw.c +0 -107
- data/ext/cla_wwaddw.c +0 -102
- data/ext/clabrd.c +0 -132
- data/ext/clacgv.c +0 -75
- data/ext/clacn2.c +0 -103
- data/ext/clacon.c +0 -80
- data/ext/clacp2.c +0 -77
- data/ext/clacpy.c +0 -77
- data/ext/clacrm.c +0 -90
- data/ext/clacrt.c +0 -108
- data/ext/cladiv.c +0 -57
- data/ext/claed0.c +0 -134
- data/ext/claed7.c +0 -247
- data/ext/claed8.c +0 -198
- data/ext/claein.c +0 -113
- data/ext/claesy.c +0 -74
- data/ext/claev2.c +0 -71
- data/ext/clag2z.c +0 -76
- data/ext/clags2.c +0 -92
- data/ext/clagtm.c +0 -132
- data/ext/clahef.c +0 -97
- data/ext/clahqr.c +0 -135
- data/ext/clahr2.c +0 -112
- data/ext/clahrd.c +0 -112
- data/ext/claic1.c +0 -90
- data/ext/clals0.c +0 -201
- data/ext/clalsa.c +0 -270
- data/ext/clalsd.c +0 -145
- data/ext/clangb.c +0 -76
- data/ext/clange.c +0 -74
- data/ext/clangt.c +0 -87
- data/ext/clanhb.c +0 -78
- data/ext/clanhe.c +0 -72
- data/ext/clanhf.c +0 -80
- data/ext/clanhp.c +0 -74
- data/ext/clanhs.c +0 -70
- data/ext/clanht.c +0 -75
- data/ext/clansb.c +0 -78
- data/ext/clansp.c +0 -74
- data/ext/clansy.c +0 -72
- data/ext/clantb.c +0 -80
- data/ext/clantp.c +0 -80
- data/ext/clantr.c +0 -82
- data/ext/clapll.c +0 -105
- data/ext/clapmr.c +0 -97
- data/ext/clapmt.c +0 -101
- data/ext/claqgb.c +0 -117
- data/ext/claqge.c +0 -109
- data/ext/claqhb.c +0 -97
- data/ext/claqhe.c +0 -97
- data/ext/claqhp.c +0 -94
- data/ext/claqp2.c +0 -158
- data/ext/claqps.c +0 -208
- data/ext/claqr0.c +0 -145
- data/ext/claqr1.c +0 -76
- data/ext/claqr2.c +0 -174
- data/ext/claqr3.c +0 -174
- data/ext/claqr4.c +0 -145
- data/ext/claqr5.c +0 -179
- data/ext/claqsb.c +0 -101
- data/ext/claqsp.c +0 -94
- data/ext/claqsy.c +0 -97
- data/ext/clar1v.c +0 -173
- data/ext/clar2v.c +0 -149
- data/ext/clarcm.c +0 -86
- data/ext/clarf.c +0 -102
- data/ext/clarfb.c +0 -123
- data/ext/clarfg.c +0 -84
- data/ext/clarfgp.c +0 -84
- data/ext/clarft.c +0 -105
- data/ext/clarfx.c +0 -94
- data/ext/clargv.c +0 -114
- data/ext/clarnv.c +0 -83
- data/ext/clarrv.c +0 -271
- data/ext/clarscl2.c +0 -82
- data/ext/clartg.c +0 -63
- data/ext/clartv.c +0 -130
- data/ext/clarz.c +0 -106
- data/ext/clarzb.c +0 -127
- data/ext/clarzt.c +0 -105
- data/ext/clascl.c +0 -97
- data/ext/clascl2.c +0 -82
- data/ext/claset.c +0 -88
- data/ext/clasr.c +0 -110
- data/ext/classq.c +0 -70
- data/ext/claswp.c +0 -94
- data/ext/clasyf.c +0 -97
- data/ext/clatbs.c +0 -130
- data/ext/clatdf.c +0 -119
- data/ext/clatps.c +0 -124
- data/ext/clatrd.c +0 -105
- data/ext/clatrs.c +0 -126
- data/ext/clatrz.c +0 -87
- data/ext/clatzm.c +0 -132
- data/ext/clauu2.c +0 -77
- data/ext/clauum.c +0 -77
- data/ext/cpbcon.c +0 -82
- data/ext/cpbequ.c +0 -83
- data/ext/cpbrfs.c +0 -145
- data/ext/cpbstf.c +0 -81
- data/ext/cpbsv.c +0 -107
- data/ext/cpbsvx.c +0 -201
- data/ext/cpbtf2.c +0 -81
- data/ext/cpbtrf.c +0 -81
- data/ext/cpbtrs.c +0 -95
- data/ext/cpftrf.c +0 -82
- data/ext/cpftri.c +0 -82
- data/ext/cpftrs.c +0 -97
- data/ext/cpocon.c +0 -78
- data/ext/cpoequ.c +0 -75
- data/ext/cpoequb.c +0 -75
- data/ext/cporfs.c +0 -141
- data/ext/cporfsx.c +0 -206
- data/ext/cposv.c +0 -103
- data/ext/cposvx.c +0 -197
- data/ext/cposvxx.c +0 -235
- data/ext/cpotf2.c +0 -77
- data/ext/cpotrf.c +0 -77
- data/ext/cpotri.c +0 -77
- data/ext/cpotrs.c +0 -91
- data/ext/cppcon.c +0 -78
- data/ext/cppequ.c +0 -79
- data/ext/cpprfs.c +0 -139
- data/ext/cppsv.c +0 -104
- data/ext/cppsvx.c +0 -191
- data/ext/cpptrf.c +0 -78
- data/ext/cpptri.c +0 -78
- data/ext/cpptrs.c +0 -93
- data/ext/cpstf2.c +0 -95
- data/ext/cpstrf.c +0 -95
- data/ext/cptcon.c +0 -81
- data/ext/cpteqr.c +0 -126
- data/ext/cptrfs.c +0 -161
- data/ext/cptsv.c +0 -119
- data/ext/cptsvx.c +0 -171
- data/ext/cpttrf.c +0 -93
- data/ext/cpttrs.c +0 -101
- data/ext/cptts2.c +0 -98
- data/ext/crot.c +0 -107
- data/ext/cspcon.c +0 -85
- data/ext/cspmv.c +0 -115
- data/ext/cspr.c +0 -96
- data/ext/csprfs.c +0 -149
- data/ext/cspsv.c +0 -110
- data/ext/cspsvx.c +0 -163
- data/ext/csptrf.c +0 -84
- data/ext/csptri.c +0 -89
- data/ext/csptrs.c +0 -101
- data/ext/csrscl.c +0 -79
- data/ext/cstedc.c +0 -177
- data/ext/cstegr.c +0 -188
- data/ext/cstein.c +0 -134
- data/ext/cstemr.c +0 -193
- data/ext/csteqr.c +0 -126
- data/ext/csycon.c +0 -87
- data/ext/csyconv.c +0 -84
- data/ext/csyequb.c +0 -82
- data/ext/csymv.c +0 -115
- data/ext/csyr.c +0 -95
- data/ext/csyrfs.c +0 -153
- data/ext/csyrfsx.c +0 -218
- data/ext/csysv.c +0 -129
- data/ext/csysvx.c +0 -183
- data/ext/csysvxx.c +0 -258
- data/ext/csyswapr.c +0 -82
- data/ext/csytf2.c +0 -85
- data/ext/csytrf.c +0 -97
- data/ext/csytri.c +0 -92
- data/ext/csytri2.c +0 -108
- data/ext/csytri2x.c +0 -96
- data/ext/csytrs.c +0 -103
- data/ext/csytrs2.c +0 -106
- data/ext/ctbcon.c +0 -86
- data/ext/ctbrfs.c +0 -127
- data/ext/ctbtrs.c +0 -103
- data/ext/ctfsm.c +0 -111
- data/ext/ctftri.c +0 -86
- data/ext/ctfttp.c +0 -79
- data/ext/ctfttr.c +0 -80
- data/ext/ctgevc.c +0 -156
- data/ext/ctgex2.c +0 -171
- data/ext/ctgexc.c +0 -172
- data/ext/ctgsen.c +0 -244
- data/ext/ctgsja.c +0 -227
- data/ext/ctgsna.c +0 -164
- data/ext/ctgsy2.c +0 -176
- data/ext/ctgsyl.c +0 -190
- data/ext/ctpcon.c +0 -82
- data/ext/ctprfs.c +0 -123
- data/ext/ctptri.c +0 -82
- data/ext/ctptrs.c +0 -101
- data/ext/ctpttf.c +0 -79
- data/ext/ctpttr.c +0 -76
- data/ext/ctrcon.c +0 -82
- data/ext/ctrevc.c +0 -154
- data/ext/ctrexc.c +0 -111
- data/ext/ctrrfs.c +0 -123
- data/ext/ctrsen.c +0 -154
- data/ext/ctrsna.c +0 -137
- data/ext/ctrsyl.c +0 -116
- data/ext/ctrti2.c +0 -81
- data/ext/ctrtri.c +0 -81
- data/ext/ctrtrs.c +0 -99
- data/ext/ctrttf.c +0 -77
- data/ext/ctrttp.c +0 -73
- data/ext/ctzrqf.c +0 -83
- data/ext/ctzrzf.c +0 -101
- data/ext/cunbdb.c +0 -232
- data/ext/cuncsd.c +0 -204
- data/ext/cung2l.c +0 -92
- data/ext/cung2r.c +0 -92
- data/ext/cungbr.c +0 -115
- data/ext/cunghr.c +0 -111
- data/ext/cungl2.c +0 -90
- data/ext/cunglq.c +0 -107
- data/ext/cungql.c +0 -107
- data/ext/cungqr.c +0 -107
- data/ext/cungr2.c +0 -90
- data/ext/cungrq.c +0 -107
- data/ext/cungtr.c +0 -107
- data/ext/cunm2l.c +0 -114
- data/ext/cunm2r.c +0 -114
- data/ext/cunmbr.c +0 -139
- data/ext/cunmhr.c +0 -133
- data/ext/cunml2.c +0 -110
- data/ext/cunmlq.c +0 -125
- data/ext/cunmql.c +0 -129
- data/ext/cunmqr.c +0 -129
- data/ext/cunmr2.c +0 -110
- data/ext/cunmr3.c +0 -114
- data/ext/cunmrq.c +0 -125
- data/ext/cunmrz.c +0 -129
- data/ext/cunmtr.c +0 -129
- data/ext/cupgtr.c +0 -91
- data/ext/cupmtr.c +0 -116
- data/ext/dbbcsd.c +0 -287
- data/ext/dbdsdc.c +0 -151
- data/ext/dbdsqr.c +0 -182
- data/ext/ddisna.c +0 -75
- data/ext/dgbbrd.c +0 -154
- data/ext/dgbcon.c +0 -98
- data/ext/dgbequ.c +0 -98
- data/ext/dgbequb.c +0 -96
- data/ext/dgbrfs.c +0 -161
- data/ext/dgbrfsx.c +0 -249
- data/ext/dgbsv.c +0 -115
- data/ext/dgbsvx.c +0 -286
- data/ext/dgbsvxx.c +0 -289
- data/ext/dgbtf2.c +0 -93
- data/ext/dgbtrf.c +0 -93
- data/ext/dgbtrs.c +0 -111
- data/ext/dgebak.c +0 -101
- data/ext/dgebal.c +0 -91
- data/ext/dgebd2.c +0 -112
- data/ext/dgebrd.c +0 -127
- data/ext/dgecon.c +0 -78
- data/ext/dgeequ.c +0 -88
- data/ext/dgeequb.c +0 -88
- data/ext/dgees.c +0 -148
- data/ext/dgeesx.c +0 -170
- data/ext/dgeev.c +0 -137
- data/ext/dgeevx.c +0 -181
- data/ext/dgegs.c +0 -171
- data/ext/dgegv.c +0 -171
- data/ext/dgehd2.c +0 -92
- data/ext/dgehrd.c +0 -107
- data/ext/dgejsv.c +0 -159
- data/ext/dgelq2.c +0 -86
- data/ext/dgelqf.c +0 -103
- data/ext/dgels.c +0 -137
- data/ext/dgelsd.c +0 -149
- data/ext/dgelss.c +0 -148
- data/ext/dgelsx.c +0 -136
- data/ext/dgelsy.c +0 -163
- data/ext/dgeql2.c +0 -88
- data/ext/dgeqlf.c +0 -103
- data/ext/dgeqp3.c +0 -126
- data/ext/dgeqpf.c +0 -111
- data/ext/dgeqr2.c +0 -88
- data/ext/dgeqr2p.c +0 -88
- data/ext/dgeqrf.c +0 -103
- data/ext/dgeqrfp.c +0 -103
- data/ext/dgerfs.c +0 -153
- data/ext/dgerfsx.c +0 -219
- data/ext/dgerq2.c +0 -86
- data/ext/dgerqf.c +0 -103
- data/ext/dgesc2.c +0 -108
- data/ext/dgesdd.c +0 -132
- data/ext/dgesv.c +0 -107
- data/ext/dgesvd.c +0 -143
- data/ext/dgesvj.c +0 -156
- data/ext/dgesvx.c +0 -278
- data/ext/dgesvxx.c +0 -281
- data/ext/dgetc2.c +0 -89
- data/ext/dgetf2.c +0 -85
- data/ext/dgetrf.c +0 -85
- data/ext/dgetri.c +0 -103
- data/ext/dgetrs.c +0 -103
- data/ext/dggbak.c +0 -113
- data/ext/dggbal.c +0 -128
- data/ext/dgges.c +0 -198
- data/ext/dggesx.c +0 -231
- data/ext/dggev.c +0 -171
- data/ext/dggevx.c +0 -229
- data/ext/dggglm.c +0 -156
- data/ext/dgghrd.c +0 -167
- data/ext/dgglse.c +0 -171
- data/ext/dggqrf.c +0 -137
- data/ext/dggrqf.c +0 -141
- data/ext/dggsvd.c +0 -181
- data/ext/dggsvp.c +0 -171
- data/ext/dgsvj0.c +0 -182
- data/ext/dgsvj1.c +0 -186
- data/ext/dgtcon.c +0 -124
- data/ext/dgtrfs.c +0 -209
- data/ext/dgtsv.c +0 -142
- data/ext/dgtsvx.c +0 -256
- data/ext/dgttrf.c +0 -132
- data/ext/dgttrs.c +0 -137
- data/ext/dgtts2.c +0 -134
- data/ext/dhgeqz.c +0 -213
- data/ext/dhsein.c +0 -205
- data/ext/dhseqr.c +0 -153
- data/ext/disnan.c +0 -51
- data/ext/dla_gbamv.c +0 -129
- data/ext/dla_gbrcond.c +0 -142
- data/ext/dla_gbrfsx_extended.c +0 -293
- data/ext/dla_gbrpvgrw.c +0 -87
- data/ext/dla_geamv.c +0 -119
- data/ext/dla_gercond.c +0 -134
- data/ext/dla_gerfsx_extended.c +0 -281
- data/ext/dla_lin_berr.c +0 -84
- data/ext/dla_porcond.c +0 -122
- data/ext/dla_porfsx_extended.c +0 -271
- data/ext/dla_porpvgrw.c +0 -95
- data/ext/dla_rpvgrw.c +0 -79
- data/ext/dla_syamv.c +0 -113
- data/ext/dla_syrcond.c +0 -134
- data/ext/dla_syrfsx_extended.c +0 -283
- data/ext/dla_syrpvgrw.c +0 -107
- data/ext/dla_wwaddw.c +0 -102
- data/ext/dlabad.c +0 -54
- data/ext/dlabrd.c +0 -132
- data/ext/dlacn2.c +0 -106
- data/ext/dlacon.c +0 -83
- data/ext/dlacpy.c +0 -77
- data/ext/dladiv.c +0 -66
- data/ext/dlae2.c +0 -62
- data/ext/dlaebz.c +0 -218
- data/ext/dlaed0.c +0 -127
- data/ext/dlaed1.c +0 -133
- data/ext/dlaed2.c +0 -189
- data/ext/dlaed3.c +0 -161
- data/ext/dlaed4.c +0 -90
- data/ext/dlaed5.c +0 -87
- data/ext/dlaed6.c +0 -90
- data/ext/dlaed7.c +0 -248
- data/ext/dlaed8.c +0 -206
- data/ext/dlaed9.c +0 -111
- data/ext/dlaeda.c +0 -160
- data/ext/dlaein.c +0 -143
- data/ext/dlaev2.c +0 -68
- data/ext/dlaexc.c +0 -118
- data/ext/dlag2.c +0 -91
- data/ext/dlag2s.c +0 -76
- data/ext/dlags2.c +0 -90
- data/ext/dlagtf.c +0 -140
- data/ext/dlagtm.c +0 -132
- data/ext/dlagts.c +0 -139
- data/ext/dlagv2.c +0 -132
- data/ext/dlahqr.c +0 -143
- data/ext/dlahr2.c +0 -112
- data/ext/dlahrd.c +0 -112
- data/ext/dlaic1.c +0 -89
- data/ext/dlaln2.c +0 -120
- data/ext/dlals0.c +0 -201
- data/ext/dlalsa.c +0 -270
- data/ext/dlalsd.c +0 -142
- data/ext/dlamrg.c +0 -80
- data/ext/dlaneg.c +0 -83
- data/ext/dlangb.c +0 -78
- data/ext/dlange.c +0 -74
- data/ext/dlangt.c +0 -87
- data/ext/dlanhs.c +0 -70
- data/ext/dlansb.c +0 -78
- data/ext/dlansf.c +0 -80
- data/ext/dlansp.c +0 -76
- data/ext/dlanst.c +0 -75
- data/ext/dlansy.c +0 -74
- data/ext/dlantb.c +0 -82
- data/ext/dlantp.c +0 -80
- data/ext/dlantr.c +0 -82
- data/ext/dlanv2.c +0 -82
- data/ext/dlapll.c +0 -105
- data/ext/dlapmr.c +0 -97
- data/ext/dlapmt.c +0 -101
- data/ext/dlapy2.c +0 -55
- data/ext/dlapy3.c +0 -59
- data/ext/dlaqgb.c +0 -117
- data/ext/dlaqge.c +0 -109
- data/ext/dlaqp2.c +0 -158
- data/ext/dlaqps.c +0 -208
- data/ext/dlaqr0.c +0 -153
- data/ext/dlaqr1.c +0 -82
- data/ext/dlaqr2.c +0 -182
- data/ext/dlaqr3.c +0 -182
- data/ext/dlaqr4.c +0 -153
- data/ext/dlaqr5.c +0 -200
- data/ext/dlaqsb.c +0 -101
- data/ext/dlaqsp.c +0 -94
- data/ext/dlaqsy.c +0 -97
- data/ext/dlaqtr.c +0 -114
- data/ext/dlar1v.c +0 -173
- data/ext/dlar2v.c +0 -149
- data/ext/dlarf.c +0 -101
- data/ext/dlarfb.c +0 -123
- data/ext/dlarfg.c +0 -83
- data/ext/dlarfgp.c +0 -83
- data/ext/dlarft.c +0 -105
- data/ext/dlarfx.c +0 -93
- data/ext/dlargv.c +0 -114
- data/ext/dlarnv.c +0 -83
- data/ext/dlarra.c +0 -124
- data/ext/dlarrb.c +0 -178
- data/ext/dlarrc.c +0 -96
- data/ext/dlarrd.c +0 -190
- data/ext/dlarre.c +0 -221
- data/ext/dlarrf.c +0 -176
- data/ext/dlarrj.c +0 -147
- data/ext/dlarrk.c +0 -97
- data/ext/dlarrr.c +0 -82
- data/ext/dlarrv.c +0 -271
- data/ext/dlarscl2.c +0 -82
- data/ext/dlartg.c +0 -61
- data/ext/dlartgp.c +0 -61
- data/ext/dlartgs.c +0 -62
- data/ext/dlartv.c +0 -130
- data/ext/dlaruv.c +0 -79
- data/ext/dlarz.c +0 -105
- data/ext/dlarzb.c +0 -127
- data/ext/dlarzt.c +0 -105
- data/ext/dlas2.c +0 -62
- data/ext/dlascl.c +0 -97
- data/ext/dlascl2.c +0 -82
- data/ext/dlasd0.c +0 -120
- data/ext/dlasd1.c +0 -162
- data/ext/dlasd2.c +0 -228
- data/ext/dlasd3.c +0 -202
- data/ext/dlasd4.c +0 -93
- data/ext/dlasd5.c +0 -90
- data/ext/dlasd6.c +0 -236
- data/ext/dlasd7.c +0 -225
- data/ext/dlasd8.c +0 -173
- data/ext/dlasda.c +0 -221
- data/ext/dlasdq.c +0 -186
- data/ext/dlasdt.c +0 -82
- data/ext/dlaset.c +0 -86
- data/ext/dlasq1.c +0 -96
- data/ext/dlasq2.c +0 -74
- data/ext/dlasq3.c +0 -138
- data/ext/dlasq4.c +0 -107
- data/ext/dlasq5.c +0 -94
- data/ext/dlasq6.c +0 -86
- data/ext/dlasr.c +0 -110
- data/ext/dlasrt.c +0 -74
- data/ext/dlassq.c +0 -70
- data/ext/dlasv2.c +0 -74
- data/ext/dlaswp.c +0 -94
- data/ext/dlasy2.c +0 -126
- data/ext/dlasyf.c +0 -97
- data/ext/dlat2s.c +0 -76
- data/ext/dlatbs.c +0 -130
- data/ext/dlatdf.c +0 -119
- data/ext/dlatps.c +0 -124
- data/ext/dlatrd.c +0 -105
- data/ext/dlatrs.c +0 -126
- data/ext/dlatrz.c +0 -87
- data/ext/dlatzm.c +0 -131
- data/ext/dlauu2.c +0 -77
- data/ext/dlauum.c +0 -77
- data/ext/dopgtr.c +0 -91
- data/ext/dopmtr.c +0 -116
- data/ext/dorbdb.c +0 -232
- data/ext/dorcsd.c +0 -197
- data/ext/dorg2l.c +0 -92
- data/ext/dorg2r.c +0 -92
- data/ext/dorgbr.c +0 -115
- data/ext/dorghr.c +0 -111
- data/ext/dorgl2.c +0 -90
- data/ext/dorglq.c +0 -107
- data/ext/dorgql.c +0 -107
- data/ext/dorgqr.c +0 -107
- data/ext/dorgr2.c +0 -90
- data/ext/dorgrq.c +0 -107
- data/ext/dorgtr.c +0 -107
- data/ext/dorm2l.c +0 -114
- data/ext/dorm2r.c +0 -114
- data/ext/dormbr.c +0 -139
- data/ext/dormhr.c +0 -133
- data/ext/dorml2.c +0 -110
- data/ext/dormlq.c +0 -125
- data/ext/dormql.c +0 -129
- data/ext/dormqr.c +0 -129
- data/ext/dormr2.c +0 -110
- data/ext/dormr3.c +0 -114
- data/ext/dormrq.c +0 -125
- data/ext/dormrz.c +0 -129
- data/ext/dormtr.c +0 -129
- data/ext/dpbcon.c +0 -82
- data/ext/dpbequ.c +0 -83
- data/ext/dpbrfs.c +0 -145
- data/ext/dpbstf.c +0 -81
- data/ext/dpbsv.c +0 -107
- data/ext/dpbsvx.c +0 -201
- data/ext/dpbtf2.c +0 -81
- data/ext/dpbtrf.c +0 -81
- data/ext/dpbtrs.c +0 -95
- data/ext/dpftrf.c +0 -82
- data/ext/dpftri.c +0 -82
- data/ext/dpftrs.c +0 -97
- data/ext/dpocon.c +0 -78
- data/ext/dpoequ.c +0 -75
- data/ext/dpoequb.c +0 -75
- data/ext/dporfs.c +0 -141
- data/ext/dporfsx.c +0 -206
- data/ext/dposv.c +0 -103
- data/ext/dposvx.c +0 -197
- data/ext/dposvxx.c +0 -235
- data/ext/dpotf2.c +0 -77
- data/ext/dpotrf.c +0 -77
- data/ext/dpotri.c +0 -77
- data/ext/dpotrs.c +0 -91
- data/ext/dppcon.c +0 -78
- data/ext/dppequ.c +0 -79
- data/ext/dpprfs.c +0 -139
- data/ext/dppsv.c +0 -104
- data/ext/dppsvx.c +0 -191
- data/ext/dpptrf.c +0 -78
- data/ext/dpptri.c +0 -78
- data/ext/dpptrs.c +0 -93
- data/ext/dpstf2.c +0 -95
- data/ext/dpstrf.c +0 -95
- data/ext/dptcon.c +0 -81
- data/ext/dpteqr.c +0 -126
- data/ext/dptrfs.c +0 -154
- data/ext/dptsv.c +0 -119
- data/ext/dptsvx.c +0 -168
- data/ext/dpttrf.c +0 -93
- data/ext/dpttrs.c +0 -97
- data/ext/dptts2.c +0 -94
- data/ext/drscl.c +0 -79
- data/ext/dsbev.c +0 -107
- data/ext/dsbevd.c +0 -140
- data/ext/dsbevx.c +0 -157
- data/ext/dsbgst.c +0 -117
- data/ext/dsbgv.c +0 -137
- data/ext/dsbgvd.c +0 -170
- data/ext/dsbgvx.c +0 -197
- data/ext/dsbtrd.c +0 -130
- data/ext/dsfrk.c +0 -109
- data/ext/dsgesv.c +0 -115
- data/ext/dspcon.c +0 -88
- data/ext/dspev.c +0 -102
- data/ext/dspevd.c +0 -135
- data/ext/dspevx.c +0 -141
- data/ext/dspgst.c +0 -94
- data/ext/dspgv.c +0 -129
- data/ext/dspgvd.c +0 -162
- data/ext/dspgvx.c +0 -168
- data/ext/dsposv.c +0 -111
- data/ext/dsprfs.c +0 -149
- data/ext/dspsv.c +0 -110
- data/ext/dspsvx.c +0 -163
- data/ext/dsptrd.c +0 -100
- data/ext/dsptrf.c +0 -84
- data/ext/dsptri.c +0 -89
- data/ext/dsptrs.c +0 -101
- data/ext/dstebz.c +0 -135
- data/ext/dstedc.c +0 -159
- data/ext/dstegr.c +0 -188
- data/ext/dstein.c +0 -134
- data/ext/dstemr.c +0 -193
- data/ext/dsteqr.c +0 -126
- data/ext/dsterf.c +0 -93
- data/ext/dstev.c +0 -111
- data/ext/dstevd.c +0 -144
- data/ext/dstevr.c +0 -188
- data/ext/dstevx.c +0 -158
- data/ext/dsycon.c +0 -90
- data/ext/dsyconv.c +0 -84
- data/ext/dsyequb.c +0 -82
- data/ext/dsyev.c +0 -107
- data/ext/dsyevd.c +0 -125
- data/ext/dsyevr.c +0 -172
- data/ext/dsyevx.c +0 -157
- data/ext/dsygs2.c +0 -95
- data/ext/dsygst.c +0 -95
- data/ext/dsygv.c +0 -137
- data/ext/dsygvd.c +0 -155
- data/ext/dsygvx.c +0 -187
- data/ext/dsyrfs.c +0 -153
- data/ext/dsyrfsx.c +0 -218
- data/ext/dsysv.c +0 -129
- data/ext/dsysvx.c +0 -183
- data/ext/dsysvxx.c +0 -258
- data/ext/dsyswapr.c +0 -82
- data/ext/dsytd2.c +0 -101
- data/ext/dsytf2.c +0 -85
- data/ext/dsytrd.c +0 -113
- data/ext/dsytrf.c +0 -97
- data/ext/dsytri.c +0 -92
- data/ext/dsytri2.c +0 -108
- data/ext/dsytri2x.c +0 -96
- data/ext/dsytrs.c +0 -103
- data/ext/dsytrs2.c +0 -106
- data/ext/dtbcon.c +0 -86
- data/ext/dtbrfs.c +0 -127
- data/ext/dtbtrs.c +0 -103
- data/ext/dtfsm.c +0 -110
- data/ext/dtftri.c +0 -86
- data/ext/dtfttp.c +0 -79
- data/ext/dtfttr.c +0 -80
- data/ext/dtgevc.c +0 -153
- data/ext/dtgex2.c +0 -180
- data/ext/dtgexc.c +0 -187
- data/ext/dtgsen.c +0 -252
- data/ext/dtgsja.c +0 -227
- data/ext/dtgsna.c +0 -164
- data/ext/dtgsy2.c +0 -182
- data/ext/dtgsyl.c +0 -190
- data/ext/dtpcon.c +0 -82
- data/ext/dtprfs.c +0 -123
- data/ext/dtptri.c +0 -82
- data/ext/dtptrs.c +0 -101
- data/ext/dtpttf.c +0 -79
- data/ext/dtpttr.c +0 -76
- data/ext/dtrcon.c +0 -82
- data/ext/dtrevc.c +0 -150
- data/ext/dtrexc.c +0 -116
- data/ext/dtrrfs.c +0 -123
- data/ext/dtrsen.c +0 -169
- data/ext/dtrsna.c +0 -137
- data/ext/dtrsyl.c +0 -116
- data/ext/dtrti2.c +0 -81
- data/ext/dtrtri.c +0 -81
- data/ext/dtrtrs.c +0 -99
- data/ext/dtrttf.c +0 -77
- data/ext/dtrttp.c +0 -73
- data/ext/dtzrqf.c +0 -83
- data/ext/dtzrzf.c +0 -101
- data/ext/dzsum1.c +0 -63
- data/ext/icmax1.c +0 -63
- data/ext/ieeeck.c +0 -59
- data/ext/ilaclc.c +0 -65
- data/ext/ilaclr.c +0 -65
- data/ext/iladiag.c +0 -51
- data/ext/iladlc.c +0 -65
- data/ext/iladlr.c +0 -65
- data/ext/ilaenv.c +0 -75
- data/ext/ilaprec.c +0 -51
- data/ext/ilaslc.c +0 -65
- data/ext/ilaslr.c +0 -65
- data/ext/ilatrans.c +0 -51
- data/ext/ilauplo.c +0 -51
- data/ext/ilaver.c +0 -53
- data/ext/ilazlc.c +0 -65
- data/ext/ilazlr.c +0 -65
- data/ext/iparmq.c +0 -75
- data/ext/izmax1.c +0 -63
- data/ext/lsamen.c +0 -59
- data/ext/rb_lapack.c +0 -3279
- data/ext/sbbcsd.c +0 -287
- data/ext/sbdsdc.c +0 -157
- data/ext/sbdsqr.c +0 -182
- data/ext/scsum1.c +0 -63
- data/ext/sdisna.c +0 -75
- data/ext/sgbbrd.c +0 -154
- data/ext/sgbcon.c +0 -98
- data/ext/sgbequ.c +0 -98
- data/ext/sgbequb.c +0 -96
- data/ext/sgbrfs.c +0 -161
- data/ext/sgbrfsx.c +0 -249
- data/ext/sgbsv.c +0 -115
- data/ext/sgbsvx.c +0 -286
- data/ext/sgbsvxx.c +0 -289
- data/ext/sgbtf2.c +0 -93
- data/ext/sgbtrf.c +0 -93
- data/ext/sgbtrs.c +0 -111
- data/ext/sgebak.c +0 -101
- data/ext/sgebal.c +0 -91
- data/ext/sgebd2.c +0 -112
- data/ext/sgebrd.c +0 -127
- data/ext/sgecon.c +0 -78
- data/ext/sgeequ.c +0 -88
- data/ext/sgeequb.c +0 -88
- data/ext/sgees.c +0 -148
- data/ext/sgeesx.c +0 -170
- data/ext/sgeev.c +0 -137
- data/ext/sgeevx.c +0 -181
- data/ext/sgegs.c +0 -171
- data/ext/sgegv.c +0 -171
- data/ext/sgehd2.c +0 -92
- data/ext/sgehrd.c +0 -107
- data/ext/sgejsv.c +0 -159
- data/ext/sgelq2.c +0 -86
- data/ext/sgelqf.c +0 -103
- data/ext/sgels.c +0 -137
- data/ext/sgelsd.c +0 -149
- data/ext/sgelss.c +0 -148
- data/ext/sgelsx.c +0 -136
- data/ext/sgelsy.c +0 -163
- data/ext/sgeql2.c +0 -88
- data/ext/sgeqlf.c +0 -103
- data/ext/sgeqp3.c +0 -126
- data/ext/sgeqpf.c +0 -111
- data/ext/sgeqr2.c +0 -88
- data/ext/sgeqr2p.c +0 -88
- data/ext/sgeqrf.c +0 -103
- data/ext/sgeqrfp.c +0 -103
- data/ext/sgerfs.c +0 -153
- data/ext/sgerfsx.c +0 -219
- data/ext/sgerq2.c +0 -86
- data/ext/sgerqf.c +0 -103
- data/ext/sgesc2.c +0 -108
- data/ext/sgesdd.c +0 -132
- data/ext/sgesv.c +0 -107
- data/ext/sgesvd.c +0 -143
- data/ext/sgesvj.c +0 -156
- data/ext/sgesvx.c +0 -278
- data/ext/sgesvxx.c +0 -281
- data/ext/sgetc2.c +0 -89
- data/ext/sgetf2.c +0 -85
- data/ext/sgetrf.c +0 -85
- data/ext/sgetri.c +0 -103
- data/ext/sgetrs.c +0 -103
- data/ext/sggbak.c +0 -113
- data/ext/sggbal.c +0 -128
- data/ext/sgges.c +0 -198
- data/ext/sggesx.c +0 -231
- data/ext/sggev.c +0 -171
- data/ext/sggevx.c +0 -229
- data/ext/sggglm.c +0 -156
- data/ext/sgghrd.c +0 -167
- data/ext/sgglse.c +0 -171
- data/ext/sggqrf.c +0 -137
- data/ext/sggrqf.c +0 -141
- data/ext/sggsvd.c +0 -181
- data/ext/sggsvp.c +0 -171
- data/ext/sgsvj0.c +0 -182
- data/ext/sgsvj1.c +0 -186
- data/ext/sgtcon.c +0 -124
- data/ext/sgtrfs.c +0 -209
- data/ext/sgtsv.c +0 -142
- data/ext/sgtsvx.c +0 -256
- data/ext/sgttrf.c +0 -132
- data/ext/sgttrs.c +0 -137
- data/ext/sgtts2.c +0 -134
- data/ext/shgeqz.c +0 -213
- data/ext/shsein.c +0 -205
- data/ext/shseqr.c +0 -153
- data/ext/sisnan.c +0 -51
- data/ext/sla_gbamv.c +0 -129
- data/ext/sla_gbrcond.c +0 -142
- data/ext/sla_gbrfsx_extended.c +0 -291
- data/ext/sla_gbrpvgrw.c +0 -87
- data/ext/sla_geamv.c +0 -119
- data/ext/sla_gercond.c +0 -134
- data/ext/sla_gerfsx_extended.c +0 -283
- data/ext/sla_lin_berr.c +0 -84
- data/ext/sla_porcond.c +0 -122
- data/ext/sla_porfsx_extended.c +0 -271
- data/ext/sla_porpvgrw.c +0 -95
- data/ext/sla_rpvgrw.c +0 -79
- data/ext/sla_syamv.c +0 -116
- data/ext/sla_syrcond.c +0 -134
- data/ext/sla_syrfsx_extended.c +0 -283
- data/ext/sla_syrpvgrw.c +0 -107
- data/ext/sla_wwaddw.c +0 -102
- data/ext/slabad.c +0 -54
- data/ext/slabrd.c +0 -132
- data/ext/slacn2.c +0 -106
- data/ext/slacon.c +0 -83
- data/ext/slacpy.c +0 -77
- data/ext/sladiv.c +0 -66
- data/ext/slae2.c +0 -62
- data/ext/slaebz.c +0 -218
- data/ext/slaed0.c +0 -127
- data/ext/slaed1.c +0 -133
- data/ext/slaed2.c +0 -189
- data/ext/slaed3.c +0 -161
- data/ext/slaed4.c +0 -90
- data/ext/slaed5.c +0 -87
- data/ext/slaed6.c +0 -90
- data/ext/slaed7.c +0 -248
- data/ext/slaed8.c +0 -206
- data/ext/slaed9.c +0 -111
- data/ext/slaeda.c +0 -160
- data/ext/slaein.c +0 -143
- data/ext/slaev2.c +0 -68
- data/ext/slaexc.c +0 -118
- data/ext/slag2.c +0 -91
- data/ext/slag2d.c +0 -76
- data/ext/slags2.c +0 -90
- data/ext/slagtf.c +0 -140
- data/ext/slagtm.c +0 -132
- data/ext/slagts.c +0 -139
- data/ext/slagv2.c +0 -132
- data/ext/slahqr.c +0 -143
- data/ext/slahr2.c +0 -112
- data/ext/slahrd.c +0 -114
- data/ext/slaic1.c +0 -89
- data/ext/slaln2.c +0 -120
- data/ext/slals0.c +0 -201
- data/ext/slalsa.c +0 -270
- data/ext/slalsd.c +0 -142
- data/ext/slamrg.c +0 -80
- data/ext/slaneg.c +0 -83
- data/ext/slangb.c +0 -78
- data/ext/slange.c +0 -74
- data/ext/slangt.c +0 -87
- data/ext/slanhs.c +0 -70
- data/ext/slansb.c +0 -78
- data/ext/slansf.c +0 -78
- data/ext/slansp.c +0 -76
- data/ext/slanst.c +0 -75
- data/ext/slansy.c +0 -74
- data/ext/slantb.c +0 -82
- data/ext/slantp.c +0 -80
- data/ext/slantr.c +0 -82
- data/ext/slanv2.c +0 -82
- data/ext/slapll.c +0 -105
- data/ext/slapmr.c +0 -97
- data/ext/slapmt.c +0 -101
- data/ext/slapy2.c +0 -55
- data/ext/slapy3.c +0 -59
- data/ext/slaqgb.c +0 -117
- data/ext/slaqge.c +0 -109
- data/ext/slaqp2.c +0 -158
- data/ext/slaqps.c +0 -208
- data/ext/slaqr0.c +0 -153
- data/ext/slaqr1.c +0 -82
- data/ext/slaqr2.c +0 -182
- data/ext/slaqr3.c +0 -182
- data/ext/slaqr4.c +0 -153
- data/ext/slaqr5.c +0 -200
- data/ext/slaqsb.c +0 -101
- data/ext/slaqsp.c +0 -94
- data/ext/slaqsy.c +0 -97
- data/ext/slaqtr.c +0 -114
- data/ext/slar1v.c +0 -173
- data/ext/slar2v.c +0 -149
- data/ext/slarf.c +0 -101
- data/ext/slarfb.c +0 -123
- data/ext/slarfg.c +0 -83
- data/ext/slarfgp.c +0 -83
- data/ext/slarft.c +0 -105
- data/ext/slarfx.c +0 -93
- data/ext/slargv.c +0 -114
- data/ext/slarnv.c +0 -83
- data/ext/slarra.c +0 -124
- data/ext/slarrb.c +0 -178
- data/ext/slarrc.c +0 -96
- data/ext/slarrd.c +0 -190
- data/ext/slarre.c +0 -221
- data/ext/slarrf.c +0 -176
- data/ext/slarrj.c +0 -147
- data/ext/slarrk.c +0 -97
- data/ext/slarrr.c +0 -82
- data/ext/slarrv.c +0 -271
- data/ext/slarscl2.c +0 -82
- data/ext/slartg.c +0 -61
- data/ext/slartgp.c +0 -61
- data/ext/slartgs.c +0 -62
- data/ext/slartv.c +0 -130
- data/ext/slaruv.c +0 -79
- data/ext/slarz.c +0 -105
- data/ext/slarzb.c +0 -127
- data/ext/slarzt.c +0 -105
- data/ext/slas2.c +0 -62
- data/ext/slascl.c +0 -97
- data/ext/slascl2.c +0 -82
- data/ext/slasd0.c +0 -120
- data/ext/slasd1.c +0 -160
- data/ext/slasd2.c +0 -228
- data/ext/slasd3.c +0 -212
- data/ext/slasd4.c +0 -93
- data/ext/slasd5.c +0 -90
- data/ext/slasd6.c +0 -236
- data/ext/slasd7.c +0 -225
- data/ext/slasd8.c +0 -173
- data/ext/slasda.c +0 -221
- data/ext/slasdq.c +0 -186
- data/ext/slasdt.c +0 -82
- data/ext/slaset.c +0 -86
- data/ext/slasq1.c +0 -96
- data/ext/slasq2.c +0 -74
- data/ext/slasq3.c +0 -138
- data/ext/slasq4.c +0 -107
- data/ext/slasq5.c +0 -94
- data/ext/slasq6.c +0 -86
- data/ext/slasr.c +0 -110
- data/ext/slasrt.c +0 -74
- data/ext/slassq.c +0 -70
- data/ext/slasv2.c +0 -74
- data/ext/slaswp.c +0 -94
- data/ext/slasy2.c +0 -126
- data/ext/slasyf.c +0 -97
- data/ext/slatbs.c +0 -130
- data/ext/slatdf.c +0 -119
- data/ext/slatps.c +0 -124
- data/ext/slatrd.c +0 -105
- data/ext/slatrs.c +0 -126
- data/ext/slatrz.c +0 -87
- data/ext/slatzm.c +0 -131
- data/ext/slauu2.c +0 -77
- data/ext/slauum.c +0 -77
- data/ext/sopgtr.c +0 -91
- data/ext/sopmtr.c +0 -116
- data/ext/sorbdb.c +0 -232
- data/ext/sorcsd.c +0 -197
- data/ext/sorg2l.c +0 -92
- data/ext/sorg2r.c +0 -92
- data/ext/sorgbr.c +0 -115
- data/ext/sorghr.c +0 -111
- data/ext/sorgl2.c +0 -90
- data/ext/sorglq.c +0 -107
- data/ext/sorgql.c +0 -107
- data/ext/sorgqr.c +0 -107
- data/ext/sorgr2.c +0 -90
- data/ext/sorgrq.c +0 -107
- data/ext/sorgtr.c +0 -107
- data/ext/sorm2l.c +0 -114
- data/ext/sorm2r.c +0 -114
- data/ext/sormbr.c +0 -139
- data/ext/sormhr.c +0 -133
- data/ext/sorml2.c +0 -110
- data/ext/sormlq.c +0 -125
- data/ext/sormql.c +0 -129
- data/ext/sormqr.c +0 -129
- data/ext/sormr2.c +0 -110
- data/ext/sormr3.c +0 -114
- data/ext/sormrq.c +0 -125
- data/ext/sormrz.c +0 -129
- data/ext/sormtr.c +0 -129
- data/ext/spbcon.c +0 -82
- data/ext/spbequ.c +0 -83
- data/ext/spbrfs.c +0 -145
- data/ext/spbstf.c +0 -81
- data/ext/spbsv.c +0 -107
- data/ext/spbsvx.c +0 -201
- data/ext/spbtf2.c +0 -81
- data/ext/spbtrf.c +0 -81
- data/ext/spbtrs.c +0 -95
- data/ext/spftrf.c +0 -82
- data/ext/spftri.c +0 -82
- data/ext/spftrs.c +0 -97
- data/ext/spocon.c +0 -78
- data/ext/spoequ.c +0 -75
- data/ext/spoequb.c +0 -75
- data/ext/sporfs.c +0 -141
- data/ext/sporfsx.c +0 -206
- data/ext/sposv.c +0 -103
- data/ext/sposvx.c +0 -197
- data/ext/sposvxx.c +0 -235
- data/ext/spotf2.c +0 -77
- data/ext/spotrf.c +0 -77
- data/ext/spotri.c +0 -77
- data/ext/spotrs.c +0 -91
- data/ext/sppcon.c +0 -78
- data/ext/sppequ.c +0 -79
- data/ext/spprfs.c +0 -139
- data/ext/sppsv.c +0 -104
- data/ext/sppsvx.c +0 -191
- data/ext/spptrf.c +0 -78
- data/ext/spptri.c +0 -78
- data/ext/spptrs.c +0 -93
- data/ext/spstf2.c +0 -95
- data/ext/spstrf.c +0 -95
- data/ext/sptcon.c +0 -81
- data/ext/spteqr.c +0 -126
- data/ext/sptrfs.c +0 -154
- data/ext/sptsv.c +0 -119
- data/ext/sptsvx.c +0 -168
- data/ext/spttrf.c +0 -93
- data/ext/spttrs.c +0 -97
- data/ext/sptts2.c +0 -94
- data/ext/srscl.c +0 -79
- data/ext/ssbev.c +0 -107
- data/ext/ssbevd.c +0 -140
- data/ext/ssbevx.c +0 -157
- data/ext/ssbgst.c +0 -117
- data/ext/ssbgv.c +0 -137
- data/ext/ssbgvd.c +0 -170
- data/ext/ssbgvx.c +0 -197
- data/ext/ssbtrd.c +0 -130
- data/ext/ssfrk.c +0 -109
- data/ext/sspcon.c +0 -88
- data/ext/sspev.c +0 -102
- data/ext/sspevd.c +0 -135
- data/ext/sspevx.c +0 -141
- data/ext/sspgst.c +0 -94
- data/ext/sspgv.c +0 -129
- data/ext/sspgvd.c +0 -162
- data/ext/sspgvx.c +0 -168
- data/ext/ssprfs.c +0 -149
- data/ext/sspsv.c +0 -110
- data/ext/sspsvx.c +0 -163
- data/ext/ssptrd.c +0 -100
- data/ext/ssptrf.c +0 -84
- data/ext/ssptri.c +0 -89
- data/ext/ssptrs.c +0 -101
- data/ext/sstebz.c +0 -135
- data/ext/sstedc.c +0 -159
- data/ext/sstegr.c +0 -188
- data/ext/sstein.c +0 -134
- data/ext/sstemr.c +0 -193
- data/ext/ssteqr.c +0 -126
- data/ext/ssterf.c +0 -93
- data/ext/sstev.c +0 -111
- data/ext/sstevd.c +0 -144
- data/ext/sstevr.c +0 -188
- data/ext/sstevx.c +0 -158
- data/ext/ssycon.c +0 -90
- data/ext/ssyconv.c +0 -84
- data/ext/ssyequb.c +0 -82
- data/ext/ssyev.c +0 -107
- data/ext/ssyevd.c +0 -125
- data/ext/ssyevr.c +0 -172
- data/ext/ssyevx.c +0 -157
- data/ext/ssygs2.c +0 -95
- data/ext/ssygst.c +0 -95
- data/ext/ssygv.c +0 -137
- data/ext/ssygvd.c +0 -155
- data/ext/ssygvx.c +0 -191
- data/ext/ssyrfs.c +0 -153
- data/ext/ssyrfsx.c +0 -218
- data/ext/ssysv.c +0 -129
- data/ext/ssysvx.c +0 -183
- data/ext/ssysvxx.c +0 -258
- data/ext/ssyswapr.c +0 -82
- data/ext/ssytd2.c +0 -101
- data/ext/ssytf2.c +0 -85
- data/ext/ssytrd.c +0 -113
- data/ext/ssytrf.c +0 -97
- data/ext/ssytri.c +0 -92
- data/ext/ssytri2.c +0 -127
- data/ext/ssytri2x.c +0 -96
- data/ext/ssytrs.c +0 -103
- data/ext/ssytrs2.c +0 -106
- data/ext/stbcon.c +0 -86
- data/ext/stbrfs.c +0 -127
- data/ext/stbtrs.c +0 -103
- data/ext/stfsm.c +0 -112
- data/ext/stftri.c +0 -86
- data/ext/stfttp.c +0 -79
- data/ext/stfttr.c +0 -80
- data/ext/stgevc.c +0 -153
- data/ext/stgex2.c +0 -184
- data/ext/stgexc.c +0 -191
- data/ext/stgsen.c +0 -252
- data/ext/stgsja.c +0 -227
- data/ext/stgsna.c +0 -164
- data/ext/stgsy2.c +0 -182
- data/ext/stgsyl.c +0 -190
- data/ext/stpcon.c +0 -82
- data/ext/stprfs.c +0 -123
- data/ext/stptri.c +0 -82
- data/ext/stptrs.c +0 -101
- data/ext/stpttf.c +0 -79
- data/ext/stpttr.c +0 -76
- data/ext/strcon.c +0 -82
- data/ext/strevc.c +0 -150
- data/ext/strexc.c +0 -116
- data/ext/strrfs.c +0 -123
- data/ext/strsen.c +0 -169
- data/ext/strsna.c +0 -137
- data/ext/strsyl.c +0 -116
- data/ext/strti2.c +0 -81
- data/ext/strtri.c +0 -81
- data/ext/strtrs.c +0 -99
- data/ext/strttf.c +0 -77
- data/ext/strttp.c +0 -73
- data/ext/stzrqf.c +0 -83
- data/ext/stzrzf.c +0 -101
- data/ext/xerbla.c +0 -52
- data/ext/xerbla_array.c +0 -53
- data/ext/zbbcsd.c +0 -283
- data/ext/zbdsqr.c +0 -182
- data/ext/zcgesv.c +0 -118
- data/ext/zcposv.c +0 -114
- data/ext/zdrscl.c +0 -79
- data/ext/zgbbrd.c +0 -157
- data/ext/zgbcon.c +0 -98
- data/ext/zgbequ.c +0 -98
- data/ext/zgbequb.c +0 -96
- data/ext/zgbrfs.c +0 -161
- data/ext/zgbrfsx.c +0 -249
- data/ext/zgbsv.c +0 -115
- data/ext/zgbsvx.c +0 -286
- data/ext/zgbsvxx.c +0 -289
- data/ext/zgbtf2.c +0 -93
- data/ext/zgbtrf.c +0 -93
- data/ext/zgbtrs.c +0 -111
- data/ext/zgebak.c +0 -101
- data/ext/zgebal.c +0 -91
- data/ext/zgebd2.c +0 -112
- data/ext/zgebrd.c +0 -127
- data/ext/zgecon.c +0 -78
- data/ext/zgeequ.c +0 -88
- data/ext/zgeequb.c +0 -88
- data/ext/zgees.c +0 -142
- data/ext/zgeesx.c +0 -152
- data/ext/zgeev.c +0 -132
- data/ext/zgeevx.c +0 -173
- data/ext/zgegs.c +0 -166
- data/ext/zgegv.c +0 -171
- data/ext/zgehd2.c +0 -92
- data/ext/zgehrd.c +0 -107
- data/ext/zgelq2.c +0 -86
- data/ext/zgelqf.c +0 -103
- data/ext/zgels.c +0 -137
- data/ext/zgelsd.c +0 -154
- data/ext/zgelss.c +0 -151
- data/ext/zgelsx.c +0 -139
- data/ext/zgelsy.c +0 -166
- data/ext/zgeql2.c +0 -88
- data/ext/zgeqlf.c +0 -103
- data/ext/zgeqp3.c +0 -129
- data/ext/zgeqpf.c +0 -114
- data/ext/zgeqr2.c +0 -88
- data/ext/zgeqr2p.c +0 -88
- data/ext/zgeqrf.c +0 -103
- data/ext/zgeqrfp.c +0 -103
- data/ext/zgerfs.c +0 -153
- data/ext/zgerfsx.c +0 -219
- data/ext/zgerq2.c +0 -86
- data/ext/zgerqf.c +0 -103
- data/ext/zgesc2.c +0 -108
- data/ext/zgesdd.c +0 -135
- data/ext/zgesv.c +0 -107
- data/ext/zgesvd.c +0 -146
- data/ext/zgesvx.c +0 -278
- data/ext/zgesvxx.c +0 -281
- data/ext/zgetc2.c +0 -89
- data/ext/zgetf2.c +0 -85
- data/ext/zgetrf.c +0 -85
- data/ext/zgetri.c +0 -103
- data/ext/zgetrs.c +0 -103
- data/ext/zggbak.c +0 -113
- data/ext/zggbal.c +0 -128
- data/ext/zgges.c +0 -192
- data/ext/zggesx.c +0 -230
- data/ext/zggev.c +0 -171
- data/ext/zggevx.c +0 -226
- data/ext/zggglm.c +0 -156
- data/ext/zgghrd.c +0 -167
- data/ext/zgglse.c +0 -171
- data/ext/zggqrf.c +0 -137
- data/ext/zggrqf.c +0 -141
- data/ext/zggsvd.c +0 -184
- data/ext/zggsvp.c +0 -174
- data/ext/zgtcon.c +0 -121
- data/ext/zgtrfs.c +0 -209
- data/ext/zgtsv.c +0 -142
- data/ext/zgtsvx.c +0 -256
- data/ext/zgttrf.c +0 -132
- data/ext/zgttrs.c +0 -137
- data/ext/zgtts2.c +0 -134
- data/ext/zhbev.c +0 -110
- data/ext/zhbevd.c +0 -158
- data/ext/zhbevx.c +0 -160
- data/ext/zhbgst.c +0 -120
- data/ext/zhbgv.c +0 -140
- data/ext/zhbgvd.c +0 -188
- data/ext/zhbgvx.c +0 -189
- data/ext/zhbtrd.c +0 -130
- data/ext/zhecon.c +0 -87
- data/ext/zheequb.c +0 -82
- data/ext/zheev.c +0 -110
- data/ext/zheevd.c +0 -143
- data/ext/zheevr.c +0 -190
- data/ext/zheevx.c +0 -160
- data/ext/zhegs2.c +0 -95
- data/ext/zhegst.c +0 -95
- data/ext/zhegv.c +0 -140
- data/ext/zhegvd.c +0 -173
- data/ext/zhegvx.c +0 -190
- data/ext/zherfs.c +0 -153
- data/ext/zherfsx.c +0 -218
- data/ext/zhesv.c +0 -123
- data/ext/zhesvx.c +0 -183
- data/ext/zhesvxx.c +0 -258
- data/ext/zhetd2.c +0 -101
- data/ext/zhetf2.c +0 -85
- data/ext/zhetrd.c +0 -113
- data/ext/zhetrf.c +0 -97
- data/ext/zhetri.c +0 -92
- data/ext/zhetrs.c +0 -103
- data/ext/zhetrs2.c +0 -106
- data/ext/zhfrk.c +0 -109
- data/ext/zhgeqz.c +0 -208
- data/ext/zhpcon.c +0 -85
- data/ext/zhpev.c +0 -105
- data/ext/zhpevd.c +0 -153
- data/ext/zhpevx.c +0 -144
- data/ext/zhpgst.c +0 -94
- data/ext/zhpgv.c +0 -132
- data/ext/zhpgvd.c +0 -170
- data/ext/zhpgvx.c +0 -170
- data/ext/zhprfs.c +0 -149
- data/ext/zhpsv.c +0 -110
- data/ext/zhpsvx.c +0 -163
- data/ext/zhptrd.c +0 -100
- data/ext/zhptrf.c +0 -84
- data/ext/zhptri.c +0 -89
- data/ext/zhptrs.c +0 -101
- data/ext/zhsein.c +0 -185
- data/ext/zhseqr.c +0 -145
- data/ext/zla_gbamv.c +0 -127
- data/ext/zla_gbrcond_c.c +0 -142
- data/ext/zla_gbrcond_x.c +0 -138
- data/ext/zla_gbrfsx_extended.c +0 -295
- data/ext/zla_gbrpvgrw.c +0 -87
- data/ext/zla_geamv.c +0 -119
- data/ext/zla_gercond_c.c +0 -134
- data/ext/zla_gercond_x.c +0 -130
- data/ext/zla_gerfsx_extended.c +0 -281
- data/ext/zla_heamv.c +0 -116
- data/ext/zla_hercond_c.c +0 -134
- data/ext/zla_hercond_x.c +0 -130
- data/ext/zla_herfsx_extended.c +0 -283
- data/ext/zla_herpvgrw.c +0 -107
- data/ext/zla_lin_berr.c +0 -84
- data/ext/zla_porcond_c.c +0 -122
- data/ext/zla_porcond_x.c +0 -118
- data/ext/zla_porfsx_extended.c +0 -271
- data/ext/zla_porpvgrw.c +0 -95
- data/ext/zla_rpvgrw.c +0 -79
- data/ext/zla_syamv.c +0 -116
- data/ext/zla_syrcond_c.c +0 -134
- data/ext/zla_syrcond_x.c +0 -130
- data/ext/zla_syrfsx_extended.c +0 -283
- data/ext/zla_syrpvgrw.c +0 -107
- data/ext/zla_wwaddw.c +0 -102
- data/ext/zlabrd.c +0 -132
- data/ext/zlacgv.c +0 -75
- data/ext/zlacn2.c +0 -103
- data/ext/zlacon.c +0 -80
- data/ext/zlacp2.c +0 -77
- data/ext/zlacpy.c +0 -77
- data/ext/zlacrm.c +0 -90
- data/ext/zlacrt.c +0 -108
- data/ext/zladiv.c +0 -57
- data/ext/zlaed0.c +0 -134
- data/ext/zlaed7.c +0 -247
- data/ext/zlaed8.c +0 -198
- data/ext/zlaein.c +0 -113
- data/ext/zlaesy.c +0 -74
- data/ext/zlaev2.c +0 -71
- data/ext/zlag2c.c +0 -76
- data/ext/zlags2.c +0 -92
- data/ext/zlagtm.c +0 -132
- data/ext/zlahef.c +0 -97
- data/ext/zlahqr.c +0 -135
- data/ext/zlahr2.c +0 -112
- data/ext/zlahrd.c +0 -112
- data/ext/zlaic1.c +0 -90
- data/ext/zlals0.c +0 -201
- data/ext/zlalsa.c +0 -270
- data/ext/zlalsd.c +0 -145
- data/ext/zlangb.c +0 -76
- data/ext/zlange.c +0 -74
- data/ext/zlangt.c +0 -87
- data/ext/zlanhb.c +0 -78
- data/ext/zlanhe.c +0 -74
- data/ext/zlanhf.c +0 -80
- data/ext/zlanhp.c +0 -76
- data/ext/zlanhs.c +0 -70
- data/ext/zlanht.c +0 -75
- data/ext/zlansb.c +0 -78
- data/ext/zlansp.c +0 -76
- data/ext/zlansy.c +0 -74
- data/ext/zlantb.c +0 -82
- data/ext/zlantp.c +0 -80
- data/ext/zlantr.c +0 -82
- data/ext/zlapll.c +0 -105
- data/ext/zlapmr.c +0 -97
- data/ext/zlapmt.c +0 -101
- data/ext/zlaqgb.c +0 -117
- data/ext/zlaqge.c +0 -109
- data/ext/zlaqhb.c +0 -97
- data/ext/zlaqhe.c +0 -97
- data/ext/zlaqhp.c +0 -94
- data/ext/zlaqp2.c +0 -158
- data/ext/zlaqps.c +0 -208
- data/ext/zlaqr0.c +0 -153
- data/ext/zlaqr1.c +0 -76
- data/ext/zlaqr2.c +0 -174
- data/ext/zlaqr3.c +0 -174
- data/ext/zlaqr4.c +0 -147
- data/ext/zlaqr5.c +0 -179
- data/ext/zlaqsb.c +0 -101
- data/ext/zlaqsp.c +0 -94
- data/ext/zlaqsy.c +0 -97
- data/ext/zlar1v.c +0 -173
- data/ext/zlar2v.c +0 -149
- data/ext/zlarcm.c +0 -86
- data/ext/zlarf.c +0 -102
- data/ext/zlarfb.c +0 -123
- data/ext/zlarfg.c +0 -84
- data/ext/zlarfgp.c +0 -84
- data/ext/zlarft.c +0 -105
- data/ext/zlarfx.c +0 -94
- data/ext/zlargv.c +0 -114
- data/ext/zlarnv.c +0 -83
- data/ext/zlarrv.c +0 -271
- data/ext/zlarscl2.c +0 -82
- data/ext/zlartg.c +0 -63
- data/ext/zlartv.c +0 -130
- data/ext/zlarz.c +0 -106
- data/ext/zlarzb.c +0 -127
- data/ext/zlarzt.c +0 -105
- data/ext/zlascl.c +0 -97
- data/ext/zlascl2.c +0 -82
- data/ext/zlaset.c +0 -88
- data/ext/zlasr.c +0 -110
- data/ext/zlassq.c +0 -70
- data/ext/zlaswp.c +0 -94
- data/ext/zlasyf.c +0 -97
- data/ext/zlat2c.c +0 -76
- data/ext/zlatbs.c +0 -130
- data/ext/zlatdf.c +0 -119
- data/ext/zlatps.c +0 -124
- data/ext/zlatrd.c +0 -105
- data/ext/zlatrs.c +0 -126
- data/ext/zlatrz.c +0 -87
- data/ext/zlatzm.c +0 -132
- data/ext/zlauu2.c +0 -77
- data/ext/zlauum.c +0 -77
- data/ext/zpbcon.c +0 -82
- data/ext/zpbequ.c +0 -83
- data/ext/zpbrfs.c +0 -145
- data/ext/zpbstf.c +0 -81
- data/ext/zpbsv.c +0 -107
- data/ext/zpbsvx.c +0 -201
- data/ext/zpbtf2.c +0 -81
- data/ext/zpbtrf.c +0 -81
- data/ext/zpbtrs.c +0 -95
- data/ext/zpftrf.c +0 -82
- data/ext/zpftri.c +0 -82
- data/ext/zpftrs.c +0 -97
- data/ext/zpocon.c +0 -78
- data/ext/zpoequ.c +0 -75
- data/ext/zpoequb.c +0 -75
- data/ext/zporfs.c +0 -141
- data/ext/zporfsx.c +0 -206
- data/ext/zposv.c +0 -103
- data/ext/zposvx.c +0 -197
- data/ext/zposvxx.c +0 -235
- data/ext/zpotf2.c +0 -77
- data/ext/zpotrf.c +0 -77
- data/ext/zpotri.c +0 -77
- data/ext/zpotrs.c +0 -91
- data/ext/zppcon.c +0 -78
- data/ext/zppequ.c +0 -79
- data/ext/zpprfs.c +0 -139
- data/ext/zppsv.c +0 -104
- data/ext/zppsvx.c +0 -191
- data/ext/zpptrf.c +0 -78
- data/ext/zpptri.c +0 -78
- data/ext/zpptrs.c +0 -93
- data/ext/zpstf2.c +0 -95
- data/ext/zpstrf.c +0 -95
- data/ext/zptcon.c +0 -81
- data/ext/zpteqr.c +0 -126
- data/ext/zptrfs.c +0 -161
- data/ext/zptsv.c +0 -123
- data/ext/zptsvx.c +0 -171
- data/ext/zpttrf.c +0 -93
- data/ext/zpttrs.c +0 -101
- data/ext/zptts2.c +0 -98
- data/ext/zrot.c +0 -107
- data/ext/zspcon.c +0 -85
- data/ext/zspmv.c +0 -117
- data/ext/zspr.c +0 -96
- data/ext/zsprfs.c +0 -149
- data/ext/zspsv.c +0 -110
- data/ext/zspsvx.c +0 -163
- data/ext/zsptrf.c +0 -84
- data/ext/zsptri.c +0 -89
- data/ext/zsptrs.c +0 -101
- data/ext/zstedc.c +0 -177
- data/ext/zstegr.c +0 -188
- data/ext/zstein.c +0 -134
- data/ext/zstemr.c +0 -193
- data/ext/zsteqr.c +0 -126
- data/ext/zsycon.c +0 -87
- data/ext/zsyconv.c +0 -84
- data/ext/zsyequb.c +0 -82
- data/ext/zsymv.c +0 -115
- data/ext/zsyr.c +0 -95
- data/ext/zsyrfs.c +0 -153
- data/ext/zsyrfsx.c +0 -218
- data/ext/zsysv.c +0 -129
- data/ext/zsysvx.c +0 -183
- data/ext/zsysvxx.c +0 -258
- data/ext/zsyswapr.c +0 -82
- data/ext/zsytf2.c +0 -85
- data/ext/zsytrf.c +0 -97
- data/ext/zsytri.c +0 -92
- data/ext/zsytri2.c +0 -104
- data/ext/zsytri2x.c +0 -96
- data/ext/zsytrs.c +0 -103
- data/ext/zsytrs2.c +0 -106
- data/ext/ztbcon.c +0 -86
- data/ext/ztbrfs.c +0 -127
- data/ext/ztbtrs.c +0 -103
- data/ext/ztfsm.c +0 -111
- data/ext/ztftri.c +0 -86
- data/ext/ztfttp.c +0 -79
- data/ext/ztfttr.c +0 -80
- data/ext/ztgevc.c +0 -156
- data/ext/ztgex2.c +0 -171
- data/ext/ztgexc.c +0 -172
- data/ext/ztgsen.c +0 -244
- data/ext/ztgsja.c +0 -227
- data/ext/ztgsna.c +0 -164
- data/ext/ztgsy2.c +0 -176
- data/ext/ztgsyl.c +0 -190
- data/ext/ztpcon.c +0 -82
- data/ext/ztprfs.c +0 -123
- data/ext/ztptri.c +0 -82
- data/ext/ztptrs.c +0 -101
- data/ext/ztpttf.c +0 -79
- data/ext/ztpttr.c +0 -76
- data/ext/ztrcon.c +0 -82
- data/ext/ztrevc.c +0 -154
- data/ext/ztrexc.c +0 -111
- data/ext/ztrrfs.c +0 -123
- data/ext/ztrsen.c +0 -154
- data/ext/ztrsna.c +0 -137
- data/ext/ztrsyl.c +0 -116
- data/ext/ztrti2.c +0 -81
- data/ext/ztrtri.c +0 -81
- data/ext/ztrtrs.c +0 -99
- data/ext/ztrttf.c +0 -77
- data/ext/ztrttp.c +0 -73
- data/ext/ztzrqf.c +0 -83
- data/ext/ztzrzf.c +0 -101
- data/ext/zunbdb.c +0 -232
- data/ext/zuncsd.c +0 -204
- data/ext/zung2l.c +0 -92
- data/ext/zung2r.c +0 -92
- data/ext/zungbr.c +0 -115
- data/ext/zunghr.c +0 -111
- data/ext/zungl2.c +0 -90
- data/ext/zunglq.c +0 -107
- data/ext/zungql.c +0 -107
- data/ext/zungqr.c +0 -107
- data/ext/zungr2.c +0 -90
- data/ext/zungrq.c +0 -107
- data/ext/zungtr.c +0 -107
- data/ext/zunm2l.c +0 -114
- data/ext/zunm2r.c +0 -114
- data/ext/zunmbr.c +0 -139
- data/ext/zunmhr.c +0 -133
- data/ext/zunml2.c +0 -110
- data/ext/zunmlq.c +0 -125
- data/ext/zunmql.c +0 -129
- data/ext/zunmqr.c +0 -129
- data/ext/zunmr2.c +0 -110
- data/ext/zunmr3.c +0 -114
- data/ext/zunmrq.c +0 -125
- data/ext/zunmrz.c +0 -129
- data/ext/zunmtr.c +0 -129
- data/ext/zupgtr.c +0 -91
- data/ext/zupmtr.c +0 -116
data/ext/chptri.c
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID chptri_(char* uplo, integer* n, complex* ap, integer* ipiv, complex* work, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_chptri(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_ap;
|
|
11
|
-
complex *ap;
|
|
12
|
-
VALUE rblapack_ipiv;
|
|
13
|
-
integer *ipiv;
|
|
14
|
-
VALUE rblapack_info;
|
|
15
|
-
integer info;
|
|
16
|
-
VALUE rblapack_ap_out__;
|
|
17
|
-
complex *ap_out__;
|
|
18
|
-
complex *work;
|
|
19
|
-
|
|
20
|
-
integer n;
|
|
21
|
-
|
|
22
|
-
VALUE rblapack_options;
|
|
23
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
24
|
-
argc--;
|
|
25
|
-
rblapack_options = argv[argc];
|
|
26
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
27
|
-
printf("%s\n", "USAGE:\n info, ap = NumRu::Lapack.chptri( uplo, ap, ipiv, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE CHPTRI( UPLO, N, AP, IPIV, WORK, INFO )\n\n* Purpose\n* =======\n*\n* CHPTRI computes the inverse of a complex Hermitian indefinite matrix\n* A in packed storage using the factorization A = U*D*U**H or\n* A = L*D*L**H computed by CHPTRF.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* Specifies whether the details of the factorization are stored\n* as an upper or lower triangular matrix.\n* = 'U': Upper triangular, form is A = U*D*U**H;\n* = 'L': Lower triangular, form is A = L*D*L**H.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* AP (input/output) COMPLEX array, dimension (N*(N+1)/2)\n* On entry, the block diagonal matrix D and the multipliers\n* used to obtain the factor U or L as computed by CHPTRF,\n* stored as a packed triangular matrix.\n*\n* On exit, if INFO = 0, the (Hermitian) inverse of the original\n* matrix, stored as a packed triangular matrix. The j-th column\n* of inv(A) is stored in the array AP as follows:\n* if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;\n* if UPLO = 'L',\n* AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.\n*\n* IPIV (input) INTEGER array, dimension (N)\n* Details of the interchanges and the block structure of D\n* as determined by CHPTRF.\n*\n* WORK (workspace) COMPLEX array, dimension (N)\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its\n* inverse could not be computed.\n*\n\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n info, ap = NumRu::Lapack.chptri( uplo, ap, ipiv, [:usage => usage, :help => help])\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
} else
|
|
35
|
-
rblapack_options = Qnil;
|
|
36
|
-
if (argc != 3 && argc != 3)
|
|
37
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 3)", argc);
|
|
38
|
-
rblapack_uplo = argv[0];
|
|
39
|
-
rblapack_ap = argv[1];
|
|
40
|
-
rblapack_ipiv = argv[2];
|
|
41
|
-
if (argc == 3) {
|
|
42
|
-
} else if (rblapack_options != Qnil) {
|
|
43
|
-
} else {
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
47
|
-
if (!NA_IsNArray(rblapack_ipiv))
|
|
48
|
-
rb_raise(rb_eArgError, "ipiv (3th argument) must be NArray");
|
|
49
|
-
if (NA_RANK(rblapack_ipiv) != 1)
|
|
50
|
-
rb_raise(rb_eArgError, "rank of ipiv (3th argument) must be %d", 1);
|
|
51
|
-
n = NA_SHAPE0(rblapack_ipiv);
|
|
52
|
-
if (NA_TYPE(rblapack_ipiv) != NA_LINT)
|
|
53
|
-
rblapack_ipiv = na_change_type(rblapack_ipiv, NA_LINT);
|
|
54
|
-
ipiv = NA_PTR_TYPE(rblapack_ipiv, integer*);
|
|
55
|
-
if (!NA_IsNArray(rblapack_ap))
|
|
56
|
-
rb_raise(rb_eArgError, "ap (2th argument) must be NArray");
|
|
57
|
-
if (NA_RANK(rblapack_ap) != 1)
|
|
58
|
-
rb_raise(rb_eArgError, "rank of ap (2th argument) must be %d", 1);
|
|
59
|
-
if (NA_SHAPE0(rblapack_ap) != (n*(n+1)/2))
|
|
60
|
-
rb_raise(rb_eRuntimeError, "shape 0 of ap must be %d", n*(n+1)/2);
|
|
61
|
-
if (NA_TYPE(rblapack_ap) != NA_SCOMPLEX)
|
|
62
|
-
rblapack_ap = na_change_type(rblapack_ap, NA_SCOMPLEX);
|
|
63
|
-
ap = NA_PTR_TYPE(rblapack_ap, complex*);
|
|
64
|
-
{
|
|
65
|
-
int shape[1];
|
|
66
|
-
shape[0] = n*(n+1)/2;
|
|
67
|
-
rblapack_ap_out__ = na_make_object(NA_SCOMPLEX, 1, shape, cNArray);
|
|
68
|
-
}
|
|
69
|
-
ap_out__ = NA_PTR_TYPE(rblapack_ap_out__, complex*);
|
|
70
|
-
MEMCPY(ap_out__, ap, complex, NA_TOTAL(rblapack_ap));
|
|
71
|
-
rblapack_ap = rblapack_ap_out__;
|
|
72
|
-
ap = ap_out__;
|
|
73
|
-
work = ALLOC_N(complex, (n));
|
|
74
|
-
|
|
75
|
-
chptri_(&uplo, &n, ap, ipiv, work, &info);
|
|
76
|
-
|
|
77
|
-
free(work);
|
|
78
|
-
rblapack_info = INT2NUM(info);
|
|
79
|
-
return rb_ary_new3(2, rblapack_info, rblapack_ap);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
void
|
|
83
|
-
init_lapack_chptri(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
84
|
-
sHelp = sH;
|
|
85
|
-
sUsage = sU;
|
|
86
|
-
rblapack_ZERO = zero;
|
|
87
|
-
|
|
88
|
-
rb_define_module_function(mLapack, "chptri", rblapack_chptri, -1);
|
|
89
|
-
}
|
data/ext/chptrs.c
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID chptrs_(char* uplo, integer* n, integer* nrhs, complex* ap, integer* ipiv, complex* b, integer* ldb, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_chptrs(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_ap;
|
|
11
|
-
complex *ap;
|
|
12
|
-
VALUE rblapack_ipiv;
|
|
13
|
-
integer *ipiv;
|
|
14
|
-
VALUE rblapack_b;
|
|
15
|
-
complex *b;
|
|
16
|
-
VALUE rblapack_info;
|
|
17
|
-
integer info;
|
|
18
|
-
VALUE rblapack_b_out__;
|
|
19
|
-
complex *b_out__;
|
|
20
|
-
|
|
21
|
-
integer n;
|
|
22
|
-
integer ldb;
|
|
23
|
-
integer nrhs;
|
|
24
|
-
|
|
25
|
-
VALUE rblapack_options;
|
|
26
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
27
|
-
argc--;
|
|
28
|
-
rblapack_options = argv[argc];
|
|
29
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
30
|
-
printf("%s\n", "USAGE:\n info, b = NumRu::Lapack.chptrs( uplo, ap, ipiv, b, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE CHPTRS( UPLO, N, NRHS, AP, IPIV, B, LDB, INFO )\n\n* Purpose\n* =======\n*\n* CHPTRS solves a system of linear equations A*X = B with a complex\n* Hermitian matrix A stored in packed format using the factorization\n* A = U*D*U**H or A = L*D*L**H computed by CHPTRF.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* Specifies whether the details of the factorization are stored\n* as an upper or lower triangular matrix.\n* = 'U': Upper triangular, form is A = U*D*U**H;\n* = 'L': Lower triangular, form is A = L*D*L**H.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* NRHS (input) INTEGER\n* The number of right hand sides, i.e., the number of columns\n* of the matrix B. NRHS >= 0.\n*\n* AP (input) COMPLEX array, dimension (N*(N+1)/2)\n* The block diagonal matrix D and the multipliers used to\n* obtain the factor U or L as computed by CHPTRF, stored as a\n* packed triangular matrix.\n*\n* IPIV (input) INTEGER array, dimension (N)\n* Details of the interchanges and the block structure of D\n* as determined by CHPTRF.\n*\n* B (input/output) COMPLEX array, dimension (LDB,NRHS)\n* On entry, the right hand side matrix B.\n* On exit, the solution matrix X.\n*\n* LDB (input) INTEGER\n* The leading dimension of the array B. LDB >= max(1,N).\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* =====================================================================\n*\n\n");
|
|
31
|
-
return Qnil;
|
|
32
|
-
}
|
|
33
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
34
|
-
printf("%s\n", "USAGE:\n info, b = NumRu::Lapack.chptrs( uplo, ap, ipiv, b, [:usage => usage, :help => help])\n");
|
|
35
|
-
return Qnil;
|
|
36
|
-
}
|
|
37
|
-
} else
|
|
38
|
-
rblapack_options = Qnil;
|
|
39
|
-
if (argc != 4 && argc != 4)
|
|
40
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 4)", argc);
|
|
41
|
-
rblapack_uplo = argv[0];
|
|
42
|
-
rblapack_ap = argv[1];
|
|
43
|
-
rblapack_ipiv = argv[2];
|
|
44
|
-
rblapack_b = argv[3];
|
|
45
|
-
if (argc == 4) {
|
|
46
|
-
} else if (rblapack_options != Qnil) {
|
|
47
|
-
} else {
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
51
|
-
if (!NA_IsNArray(rblapack_ipiv))
|
|
52
|
-
rb_raise(rb_eArgError, "ipiv (3th argument) must be NArray");
|
|
53
|
-
if (NA_RANK(rblapack_ipiv) != 1)
|
|
54
|
-
rb_raise(rb_eArgError, "rank of ipiv (3th argument) must be %d", 1);
|
|
55
|
-
n = NA_SHAPE0(rblapack_ipiv);
|
|
56
|
-
if (NA_TYPE(rblapack_ipiv) != NA_LINT)
|
|
57
|
-
rblapack_ipiv = na_change_type(rblapack_ipiv, NA_LINT);
|
|
58
|
-
ipiv = NA_PTR_TYPE(rblapack_ipiv, integer*);
|
|
59
|
-
if (!NA_IsNArray(rblapack_ap))
|
|
60
|
-
rb_raise(rb_eArgError, "ap (2th argument) must be NArray");
|
|
61
|
-
if (NA_RANK(rblapack_ap) != 1)
|
|
62
|
-
rb_raise(rb_eArgError, "rank of ap (2th argument) must be %d", 1);
|
|
63
|
-
if (NA_SHAPE0(rblapack_ap) != (n*(n+1)/2))
|
|
64
|
-
rb_raise(rb_eRuntimeError, "shape 0 of ap must be %d", n*(n+1)/2);
|
|
65
|
-
if (NA_TYPE(rblapack_ap) != NA_SCOMPLEX)
|
|
66
|
-
rblapack_ap = na_change_type(rblapack_ap, NA_SCOMPLEX);
|
|
67
|
-
ap = NA_PTR_TYPE(rblapack_ap, complex*);
|
|
68
|
-
if (!NA_IsNArray(rblapack_b))
|
|
69
|
-
rb_raise(rb_eArgError, "b (4th argument) must be NArray");
|
|
70
|
-
if (NA_RANK(rblapack_b) != 2)
|
|
71
|
-
rb_raise(rb_eArgError, "rank of b (4th argument) must be %d", 2);
|
|
72
|
-
ldb = NA_SHAPE0(rblapack_b);
|
|
73
|
-
nrhs = NA_SHAPE1(rblapack_b);
|
|
74
|
-
if (NA_TYPE(rblapack_b) != NA_SCOMPLEX)
|
|
75
|
-
rblapack_b = na_change_type(rblapack_b, NA_SCOMPLEX);
|
|
76
|
-
b = NA_PTR_TYPE(rblapack_b, complex*);
|
|
77
|
-
{
|
|
78
|
-
int shape[2];
|
|
79
|
-
shape[0] = ldb;
|
|
80
|
-
shape[1] = nrhs;
|
|
81
|
-
rblapack_b_out__ = na_make_object(NA_SCOMPLEX, 2, shape, cNArray);
|
|
82
|
-
}
|
|
83
|
-
b_out__ = NA_PTR_TYPE(rblapack_b_out__, complex*);
|
|
84
|
-
MEMCPY(b_out__, b, complex, NA_TOTAL(rblapack_b));
|
|
85
|
-
rblapack_b = rblapack_b_out__;
|
|
86
|
-
b = b_out__;
|
|
87
|
-
|
|
88
|
-
chptrs_(&uplo, &n, &nrhs, ap, ipiv, b, &ldb, &info);
|
|
89
|
-
|
|
90
|
-
rblapack_info = INT2NUM(info);
|
|
91
|
-
return rb_ary_new3(2, rblapack_info, rblapack_b);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
void
|
|
95
|
-
init_lapack_chptrs(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
96
|
-
sHelp = sH;
|
|
97
|
-
sUsage = sU;
|
|
98
|
-
rblapack_ZERO = zero;
|
|
99
|
-
|
|
100
|
-
rb_define_module_function(mLapack, "chptrs", rblapack_chptrs, -1);
|
|
101
|
-
}
|
data/ext/chsein.c
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID chsein_(char* side, char* eigsrc, char* initv, logical* select, integer* n, complex* h, integer* ldh, complex* w, complex* vl, integer* ldvl, complex* vr, integer* ldvr, integer* mm, integer* m, complex* work, real* rwork, integer* ifaill, integer* ifailr, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_chsein(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_side;
|
|
9
|
-
char side;
|
|
10
|
-
VALUE rblapack_eigsrc;
|
|
11
|
-
char eigsrc;
|
|
12
|
-
VALUE rblapack_initv;
|
|
13
|
-
char initv;
|
|
14
|
-
VALUE rblapack_select;
|
|
15
|
-
logical *select;
|
|
16
|
-
VALUE rblapack_h;
|
|
17
|
-
complex *h;
|
|
18
|
-
VALUE rblapack_w;
|
|
19
|
-
complex *w;
|
|
20
|
-
VALUE rblapack_vl;
|
|
21
|
-
complex *vl;
|
|
22
|
-
VALUE rblapack_vr;
|
|
23
|
-
complex *vr;
|
|
24
|
-
VALUE rblapack_m;
|
|
25
|
-
integer m;
|
|
26
|
-
VALUE rblapack_ifaill;
|
|
27
|
-
integer *ifaill;
|
|
28
|
-
VALUE rblapack_ifailr;
|
|
29
|
-
integer *ifailr;
|
|
30
|
-
VALUE rblapack_info;
|
|
31
|
-
integer info;
|
|
32
|
-
VALUE rblapack_w_out__;
|
|
33
|
-
complex *w_out__;
|
|
34
|
-
VALUE rblapack_vl_out__;
|
|
35
|
-
complex *vl_out__;
|
|
36
|
-
VALUE rblapack_vr_out__;
|
|
37
|
-
complex *vr_out__;
|
|
38
|
-
complex *work;
|
|
39
|
-
real *rwork;
|
|
40
|
-
|
|
41
|
-
integer n;
|
|
42
|
-
integer ldh;
|
|
43
|
-
integer ldvl;
|
|
44
|
-
integer mm;
|
|
45
|
-
integer ldvr;
|
|
46
|
-
|
|
47
|
-
VALUE rblapack_options;
|
|
48
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
49
|
-
argc--;
|
|
50
|
-
rblapack_options = argv[argc];
|
|
51
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
52
|
-
printf("%s\n", "USAGE:\n m, ifaill, ifailr, info, w, vl, vr = NumRu::Lapack.chsein( side, eigsrc, initv, select, h, w, vl, vr, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE CHSEIN( SIDE, EIGSRC, INITV, SELECT, N, H, LDH, W, VL, LDVL, VR, LDVR, MM, M, WORK, RWORK, IFAILL, IFAILR, INFO )\n\n* Purpose\n* =======\n*\n* CHSEIN uses inverse iteration to find specified right and/or left\n* eigenvectors of a complex upper Hessenberg matrix H.\n*\n* The right eigenvector x and the left eigenvector y of the matrix H\n* corresponding to an eigenvalue w are defined by:\n*\n* H * x = w * x, y**h * H = w * y**h\n*\n* where y**h denotes the conjugate transpose of the vector y.\n*\n\n* Arguments\n* =========\n*\n* SIDE (input) CHARACTER*1\n* = 'R': compute right eigenvectors only;\n* = 'L': compute left eigenvectors only;\n* = 'B': compute both right and left eigenvectors.\n*\n* EIGSRC (input) CHARACTER*1\n* Specifies the source of eigenvalues supplied in W:\n* = 'Q': the eigenvalues were found using CHSEQR; thus, if\n* H has zero subdiagonal elements, and so is\n* block-triangular, then the j-th eigenvalue can be\n* assumed to be an eigenvalue of the block containing\n* the j-th row/column. This property allows CHSEIN to\n* perform inverse iteration on just one diagonal block.\n* = 'N': no assumptions are made on the correspondence\n* between eigenvalues and diagonal blocks. In this\n* case, CHSEIN must always perform inverse iteration\n* using the whole matrix H.\n*\n* INITV (input) CHARACTER*1\n* = 'N': no initial vectors are supplied;\n* = 'U': user-supplied initial vectors are stored in the arrays\n* VL and/or VR.\n*\n* SELECT (input) LOGICAL array, dimension (N)\n* Specifies the eigenvectors to be computed. To select the\n* eigenvector corresponding to the eigenvalue W(j),\n* SELECT(j) must be set to .TRUE..\n*\n* N (input) INTEGER\n* The order of the matrix H. N >= 0.\n*\n* H (input) COMPLEX array, dimension (LDH,N)\n* The upper Hessenberg matrix H.\n*\n* LDH (input) INTEGER\n* The leading dimension of the array H. LDH >= max(1,N).\n*\n* W (input/output) COMPLEX array, dimension (N)\n* On entry, the eigenvalues of H.\n* On exit, the real parts of W may have been altered since\n* close eigenvalues are perturbed slightly in searching for\n* independent eigenvectors.\n*\n* VL (input/output) COMPLEX array, dimension (LDVL,MM)\n* On entry, if INITV = 'U' and SIDE = 'L' or 'B', VL must\n* contain starting vectors for the inverse iteration for the\n* left eigenvectors; the starting vector for each eigenvector\n* must be in the same column in which the eigenvector will be\n* stored.\n* On exit, if SIDE = 'L' or 'B', the left eigenvectors\n* specified by SELECT will be stored consecutively in the\n* columns of VL, in the same order as their eigenvalues.\n* If SIDE = 'R', VL is not referenced.\n*\n* LDVL (input) INTEGER\n* The leading dimension of the array VL.\n* LDVL >= max(1,N) if SIDE = 'L' or 'B'; LDVL >= 1 otherwise.\n*\n* VR (input/output) COMPLEX array, dimension (LDVR,MM)\n* On entry, if INITV = 'U' and SIDE = 'R' or 'B', VR must\n* contain starting vectors for the inverse iteration for the\n* right eigenvectors; the starting vector for each eigenvector\n* must be in the same column in which the eigenvector will be\n* stored.\n* On exit, if SIDE = 'R' or 'B', the right eigenvectors\n* specified by SELECT will be stored consecutively in the\n* columns of VR, in the same order as their eigenvalues.\n* If SIDE = 'L', VR is not referenced.\n*\n* LDVR (input) INTEGER\n* The leading dimension of the array VR.\n* LDVR >= max(1,N) if SIDE = 'R' or 'B'; LDVR >= 1 otherwise.\n*\n* MM (input) INTEGER\n* The number of columns in the arrays VL and/or VR. MM >= M.\n*\n* M (output) INTEGER\n* The number of columns in the arrays VL and/or VR required to\n* store the eigenvectors (= the number of .TRUE. elements in\n* SELECT).\n*\n* WORK (workspace) COMPLEX array, dimension (N*N)\n*\n* RWORK (workspace) REAL array, dimension (N)\n*\n* IFAILL (output) INTEGER array, dimension (MM)\n* If SIDE = 'L' or 'B', IFAILL(i) = j > 0 if the left\n* eigenvector in the i-th column of VL (corresponding to the\n* eigenvalue w(j)) failed to converge; IFAILL(i) = 0 if the\n* eigenvector converged satisfactorily.\n* If SIDE = 'R', IFAILL is not referenced.\n*\n* IFAILR (output) INTEGER array, dimension (MM)\n* If SIDE = 'R' or 'B', IFAILR(i) = j > 0 if the right\n* eigenvector in the i-th column of VR (corresponding to the\n* eigenvalue w(j)) failed to converge; IFAILR(i) = 0 if the\n* eigenvector converged satisfactorily.\n* If SIDE = 'L', IFAILR is not referenced.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* > 0: if INFO = i, i is the number of eigenvectors which\n* failed to converge; see IFAILL and IFAILR for further\n* details.\n*\n\n* Further Details\n* ===============\n*\n* Each eigenvector is normalized so that the element of largest\n* magnitude has magnitude 1; here the magnitude of a complex number\n* (x,y) is taken to be |x|+|y|.\n*\n* =====================================================================\n*\n\n");
|
|
53
|
-
return Qnil;
|
|
54
|
-
}
|
|
55
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
56
|
-
printf("%s\n", "USAGE:\n m, ifaill, ifailr, info, w, vl, vr = NumRu::Lapack.chsein( side, eigsrc, initv, select, h, w, vl, vr, [:usage => usage, :help => help])\n");
|
|
57
|
-
return Qnil;
|
|
58
|
-
}
|
|
59
|
-
} else
|
|
60
|
-
rblapack_options = Qnil;
|
|
61
|
-
if (argc != 8 && argc != 8)
|
|
62
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 8)", argc);
|
|
63
|
-
rblapack_side = argv[0];
|
|
64
|
-
rblapack_eigsrc = argv[1];
|
|
65
|
-
rblapack_initv = argv[2];
|
|
66
|
-
rblapack_select = argv[3];
|
|
67
|
-
rblapack_h = argv[4];
|
|
68
|
-
rblapack_w = argv[5];
|
|
69
|
-
rblapack_vl = argv[6];
|
|
70
|
-
rblapack_vr = argv[7];
|
|
71
|
-
if (argc == 8) {
|
|
72
|
-
} else if (rblapack_options != Qnil) {
|
|
73
|
-
} else {
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
side = StringValueCStr(rblapack_side)[0];
|
|
77
|
-
initv = StringValueCStr(rblapack_initv)[0];
|
|
78
|
-
if (!NA_IsNArray(rblapack_h))
|
|
79
|
-
rb_raise(rb_eArgError, "h (5th argument) must be NArray");
|
|
80
|
-
if (NA_RANK(rblapack_h) != 2)
|
|
81
|
-
rb_raise(rb_eArgError, "rank of h (5th argument) must be %d", 2);
|
|
82
|
-
ldh = NA_SHAPE0(rblapack_h);
|
|
83
|
-
n = NA_SHAPE1(rblapack_h);
|
|
84
|
-
if (NA_TYPE(rblapack_h) != NA_SCOMPLEX)
|
|
85
|
-
rblapack_h = na_change_type(rblapack_h, NA_SCOMPLEX);
|
|
86
|
-
h = NA_PTR_TYPE(rblapack_h, complex*);
|
|
87
|
-
if (!NA_IsNArray(rblapack_vl))
|
|
88
|
-
rb_raise(rb_eArgError, "vl (7th argument) must be NArray");
|
|
89
|
-
if (NA_RANK(rblapack_vl) != 2)
|
|
90
|
-
rb_raise(rb_eArgError, "rank of vl (7th argument) must be %d", 2);
|
|
91
|
-
ldvl = NA_SHAPE0(rblapack_vl);
|
|
92
|
-
mm = NA_SHAPE1(rblapack_vl);
|
|
93
|
-
if (NA_TYPE(rblapack_vl) != NA_SCOMPLEX)
|
|
94
|
-
rblapack_vl = na_change_type(rblapack_vl, NA_SCOMPLEX);
|
|
95
|
-
vl = NA_PTR_TYPE(rblapack_vl, complex*);
|
|
96
|
-
eigsrc = StringValueCStr(rblapack_eigsrc)[0];
|
|
97
|
-
if (!NA_IsNArray(rblapack_w))
|
|
98
|
-
rb_raise(rb_eArgError, "w (6th argument) must be NArray");
|
|
99
|
-
if (NA_RANK(rblapack_w) != 1)
|
|
100
|
-
rb_raise(rb_eArgError, "rank of w (6th argument) must be %d", 1);
|
|
101
|
-
if (NA_SHAPE0(rblapack_w) != n)
|
|
102
|
-
rb_raise(rb_eRuntimeError, "shape 0 of w must be the same as shape 1 of h");
|
|
103
|
-
if (NA_TYPE(rblapack_w) != NA_SCOMPLEX)
|
|
104
|
-
rblapack_w = na_change_type(rblapack_w, NA_SCOMPLEX);
|
|
105
|
-
w = NA_PTR_TYPE(rblapack_w, complex*);
|
|
106
|
-
if (!NA_IsNArray(rblapack_select))
|
|
107
|
-
rb_raise(rb_eArgError, "select (4th argument) must be NArray");
|
|
108
|
-
if (NA_RANK(rblapack_select) != 1)
|
|
109
|
-
rb_raise(rb_eArgError, "rank of select (4th argument) must be %d", 1);
|
|
110
|
-
if (NA_SHAPE0(rblapack_select) != n)
|
|
111
|
-
rb_raise(rb_eRuntimeError, "shape 0 of select must be the same as shape 1 of h");
|
|
112
|
-
if (NA_TYPE(rblapack_select) != NA_LINT)
|
|
113
|
-
rblapack_select = na_change_type(rblapack_select, NA_LINT);
|
|
114
|
-
select = NA_PTR_TYPE(rblapack_select, logical*);
|
|
115
|
-
if (!NA_IsNArray(rblapack_vr))
|
|
116
|
-
rb_raise(rb_eArgError, "vr (8th argument) must be NArray");
|
|
117
|
-
if (NA_RANK(rblapack_vr) != 2)
|
|
118
|
-
rb_raise(rb_eArgError, "rank of vr (8th argument) must be %d", 2);
|
|
119
|
-
ldvr = NA_SHAPE0(rblapack_vr);
|
|
120
|
-
if (NA_SHAPE1(rblapack_vr) != mm)
|
|
121
|
-
rb_raise(rb_eRuntimeError, "shape 1 of vr must be the same as shape 1 of vl");
|
|
122
|
-
if (NA_TYPE(rblapack_vr) != NA_SCOMPLEX)
|
|
123
|
-
rblapack_vr = na_change_type(rblapack_vr, NA_SCOMPLEX);
|
|
124
|
-
vr = NA_PTR_TYPE(rblapack_vr, complex*);
|
|
125
|
-
{
|
|
126
|
-
int shape[1];
|
|
127
|
-
shape[0] = mm;
|
|
128
|
-
rblapack_ifaill = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
129
|
-
}
|
|
130
|
-
ifaill = NA_PTR_TYPE(rblapack_ifaill, integer*);
|
|
131
|
-
{
|
|
132
|
-
int shape[1];
|
|
133
|
-
shape[0] = mm;
|
|
134
|
-
rblapack_ifailr = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
135
|
-
}
|
|
136
|
-
ifailr = NA_PTR_TYPE(rblapack_ifailr, integer*);
|
|
137
|
-
{
|
|
138
|
-
int shape[1];
|
|
139
|
-
shape[0] = n;
|
|
140
|
-
rblapack_w_out__ = na_make_object(NA_SCOMPLEX, 1, shape, cNArray);
|
|
141
|
-
}
|
|
142
|
-
w_out__ = NA_PTR_TYPE(rblapack_w_out__, complex*);
|
|
143
|
-
MEMCPY(w_out__, w, complex, NA_TOTAL(rblapack_w));
|
|
144
|
-
rblapack_w = rblapack_w_out__;
|
|
145
|
-
w = w_out__;
|
|
146
|
-
{
|
|
147
|
-
int shape[2];
|
|
148
|
-
shape[0] = ldvl;
|
|
149
|
-
shape[1] = mm;
|
|
150
|
-
rblapack_vl_out__ = na_make_object(NA_SCOMPLEX, 2, shape, cNArray);
|
|
151
|
-
}
|
|
152
|
-
vl_out__ = NA_PTR_TYPE(rblapack_vl_out__, complex*);
|
|
153
|
-
MEMCPY(vl_out__, vl, complex, NA_TOTAL(rblapack_vl));
|
|
154
|
-
rblapack_vl = rblapack_vl_out__;
|
|
155
|
-
vl = vl_out__;
|
|
156
|
-
{
|
|
157
|
-
int shape[2];
|
|
158
|
-
shape[0] = ldvr;
|
|
159
|
-
shape[1] = mm;
|
|
160
|
-
rblapack_vr_out__ = na_make_object(NA_SCOMPLEX, 2, shape, cNArray);
|
|
161
|
-
}
|
|
162
|
-
vr_out__ = NA_PTR_TYPE(rblapack_vr_out__, complex*);
|
|
163
|
-
MEMCPY(vr_out__, vr, complex, NA_TOTAL(rblapack_vr));
|
|
164
|
-
rblapack_vr = rblapack_vr_out__;
|
|
165
|
-
vr = vr_out__;
|
|
166
|
-
work = ALLOC_N(complex, (n*n));
|
|
167
|
-
rwork = ALLOC_N(real, (n));
|
|
168
|
-
|
|
169
|
-
chsein_(&side, &eigsrc, &initv, select, &n, h, &ldh, w, vl, &ldvl, vr, &ldvr, &mm, &m, work, rwork, ifaill, ifailr, &info);
|
|
170
|
-
|
|
171
|
-
free(work);
|
|
172
|
-
free(rwork);
|
|
173
|
-
rblapack_m = INT2NUM(m);
|
|
174
|
-
rblapack_info = INT2NUM(info);
|
|
175
|
-
return rb_ary_new3(7, rblapack_m, rblapack_ifaill, rblapack_ifailr, rblapack_info, rblapack_w, rblapack_vl, rblapack_vr);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
void
|
|
179
|
-
init_lapack_chsein(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
180
|
-
sHelp = sH;
|
|
181
|
-
sUsage = sU;
|
|
182
|
-
rblapack_ZERO = zero;
|
|
183
|
-
|
|
184
|
-
rb_define_module_function(mLapack, "chsein", rblapack_chsein, -1);
|
|
185
|
-
}
|
data/ext/chseqr.c
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID chseqr_(char* job, char* compz, integer* n, integer* ilo, integer* ihi, complex* h, integer* ldh, complex* w, complex* z, integer* ldz, complex* work, integer* lwork, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_chseqr(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_job;
|
|
9
|
-
char job;
|
|
10
|
-
VALUE rblapack_compz;
|
|
11
|
-
char compz;
|
|
12
|
-
VALUE rblapack_ilo;
|
|
13
|
-
integer ilo;
|
|
14
|
-
VALUE rblapack_ihi;
|
|
15
|
-
integer ihi;
|
|
16
|
-
VALUE rblapack_h;
|
|
17
|
-
complex *h;
|
|
18
|
-
VALUE rblapack_z;
|
|
19
|
-
complex *z;
|
|
20
|
-
VALUE rblapack_ldz;
|
|
21
|
-
integer ldz;
|
|
22
|
-
VALUE rblapack_lwork;
|
|
23
|
-
integer lwork;
|
|
24
|
-
VALUE rblapack_w;
|
|
25
|
-
complex *w;
|
|
26
|
-
VALUE rblapack_work;
|
|
27
|
-
complex *work;
|
|
28
|
-
VALUE rblapack_info;
|
|
29
|
-
integer info;
|
|
30
|
-
VALUE rblapack_h_out__;
|
|
31
|
-
complex *h_out__;
|
|
32
|
-
VALUE rblapack_z_out__;
|
|
33
|
-
complex *z_out__;
|
|
34
|
-
|
|
35
|
-
integer ldh;
|
|
36
|
-
integer n;
|
|
37
|
-
|
|
38
|
-
VALUE rblapack_options;
|
|
39
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
40
|
-
argc--;
|
|
41
|
-
rblapack_options = argv[argc];
|
|
42
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
43
|
-
printf("%s\n", "USAGE:\n w, work, info, h, z = NumRu::Lapack.chseqr( job, compz, ilo, ihi, h, z, ldz, [:lwork => lwork, :usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE CHSEQR( JOB, COMPZ, N, ILO, IHI, H, LDH, W, Z, LDZ, WORK, LWORK, INFO )\n\n* Purpose\n* =======\n*\n* CHSEQR computes the eigenvalues of a Hessenberg matrix H\n* and, optionally, the matrices T and Z from the Schur decomposition\n* H = Z T Z**H, where T is an upper triangular matrix (the\n* Schur form), and Z is the unitary matrix of Schur vectors.\n*\n* Optionally Z may be postmultiplied into an input unitary\n* matrix Q so that this routine can give the Schur factorization\n* of a matrix A which has been reduced to the Hessenberg form H\n* by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H.\n*\n\n* Arguments\n* =========\n*\n* JOB (input) CHARACTER*1\n* = 'E': compute eigenvalues only;\n* = 'S': compute eigenvalues and the Schur form T.\n*\n* COMPZ (input) CHARACTER*1\n* = 'N': no Schur vectors are computed;\n* = 'I': Z is initialized to the unit matrix and the matrix Z\n* of Schur vectors of H is returned;\n* = 'V': Z must contain an unitary matrix Q on entry, and\n* the product Q*Z is returned.\n*\n* N (input) INTEGER\n* The order of the matrix H. N .GE. 0.\n*\n* ILO (input) INTEGER\n* IHI (input) INTEGER\n* It is assumed that H is already upper triangular in rows\n* and columns 1:ILO-1 and IHI+1:N. ILO and IHI are normally\n* set by a previous call to CGEBAL, and then passed to CGEHRD\n* when the matrix output by CGEBAL is reduced to Hessenberg\n* form. Otherwise ILO and IHI should be set to 1 and N\n* respectively. If N.GT.0, then 1.LE.ILO.LE.IHI.LE.N.\n* If N = 0, then ILO = 1 and IHI = 0.\n*\n* H (input/output) COMPLEX array, dimension (LDH,N)\n* On entry, the upper Hessenberg matrix H.\n* On exit, if INFO = 0 and JOB = 'S', H contains the upper\n* triangular matrix T from the Schur decomposition (the\n* Schur form). If INFO = 0 and JOB = 'E', the contents of\n* H are unspecified on exit. (The output value of H when\n* INFO.GT.0 is given under the description of INFO below.)\n*\n* Unlike earlier versions of CHSEQR, this subroutine may\n* explicitly H(i,j) = 0 for i.GT.j and j = 1, 2, ... ILO-1\n* or j = IHI+1, IHI+2, ... N.\n*\n* LDH (input) INTEGER\n* The leading dimension of the array H. LDH .GE. max(1,N).\n*\n* W (output) COMPLEX array, dimension (N)\n* The computed eigenvalues. If JOB = 'S', the eigenvalues are\n* stored in the same order as on the diagonal of the Schur\n* form returned in H, with W(i) = H(i,i).\n*\n* Z (input/output) COMPLEX array, dimension (LDZ,N)\n* If COMPZ = 'N', Z is not referenced.\n* If COMPZ = 'I', on entry Z need not be set and on exit,\n* if INFO = 0, Z contains the unitary matrix Z of the Schur\n* vectors of H. If COMPZ = 'V', on entry Z must contain an\n* N-by-N matrix Q, which is assumed to be equal to the unit\n* matrix except for the submatrix Z(ILO:IHI,ILO:IHI). On exit,\n* if INFO = 0, Z contains Q*Z.\n* Normally Q is the unitary matrix generated by CUNGHR\n* after the call to CGEHRD which formed the Hessenberg matrix\n* H. (The output value of Z when INFO.GT.0 is given under\n* the description of INFO below.)\n*\n* LDZ (input) INTEGER\n* The leading dimension of the array Z. if COMPZ = 'I' or\n* COMPZ = 'V', then LDZ.GE.MAX(1,N). Otherwize, LDZ.GE.1.\n*\n* WORK (workspace/output) COMPLEX array, dimension (LWORK)\n* On exit, if INFO = 0, WORK(1) returns an estimate of\n* the optimal value for LWORK.\n*\n* LWORK (input) INTEGER\n* The dimension of the array WORK. LWORK .GE. max(1,N)\n* is sufficient and delivers very good and sometimes\n* optimal performance. However, LWORK as large as 11*N\n* may be required for optimal performance. A workspace\n* query is recommended to determine the optimal workspace\n* size.\n*\n* If LWORK = -1, then CHSEQR does a workspace query.\n* In this case, CHSEQR checks the input parameters and\n* estimates the optimal workspace size for the given\n* values of N, ILO and IHI. The estimate is returned\n* in WORK(1). No error message related to LWORK is\n* issued by XERBLA. Neither H nor Z are accessed.\n*\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* .LT. 0: if INFO = -i, the i-th argument had an illegal\n* value\n* .GT. 0: if INFO = i, CHSEQR failed to compute all of\n* the eigenvalues. Elements 1:ilo-1 and i+1:n of WR\n* and WI contain those eigenvalues which have been\n* successfully computed. (Failures are rare.)\n*\n* If INFO .GT. 0 and JOB = 'E', then on exit, the\n* remaining unconverged eigenvalues are the eigen-\n* values of the upper Hessenberg matrix rows and\n* columns ILO through INFO of the final, output\n* value of H.\n*\n* If INFO .GT. 0 and JOB = 'S', then on exit\n*\n* (*) (initial value of H)*U = U*(final value of H)\n*\n* where U is a unitary matrix. The final\n* value of H is upper Hessenberg and triangular in\n* rows and columns INFO+1 through IHI.\n*\n* If INFO .GT. 0 and COMPZ = 'V', then on exit\n*\n* (final value of Z) = (initial value of Z)*U\n*\n* where U is the unitary matrix in (*) (regard-\n* less of the value of JOB.)\n*\n* If INFO .GT. 0 and COMPZ = 'I', then on exit\n* (final value of Z) = U\n* where U is the unitary matrix in (*) (regard-\n* less of the value of JOB.)\n*\n* If INFO .GT. 0 and COMPZ = 'N', then Z is not\n* accessed.\n*\n\n* ================================================================\n* Default values supplied by\n* ILAENV(ISPEC,'CHSEQR',JOB(:1)//COMPZ(:1),N,ILO,IHI,LWORK).\n* It is suggested that these defaults be adjusted in order\n* to attain best performance in each particular\n* computational environment.\n*\n* ISPEC=12: The CLAHQR vs CLAQR0 crossover point.\n* Default: 75. (Must be at least 11.)\n*\n* ISPEC=13: Recommended deflation window size.\n* This depends on ILO, IHI and NS. NS is the\n* number of simultaneous shifts returned\n* by ILAENV(ISPEC=15). (See ISPEC=15 below.)\n* The default for (IHI-ILO+1).LE.500 is NS.\n* The default for (IHI-ILO+1).GT.500 is 3*NS/2.\n*\n* ISPEC=14: Nibble crossover point. (See IPARMQ for\n* details.) Default: 14% of deflation window\n* size.\n*\n* ISPEC=15: Number of simultaneous shifts in a multishift\n* QR iteration.\n*\n* If IHI-ILO+1 is ...\n*\n* greater than ...but less ... the\n* or equal to ... than default is\n*\n* 1 30 NS = 2(+)\n* 30 60 NS = 4(+)\n* 60 150 NS = 10(+)\n* 150 590 NS = **\n* 590 3000 NS = 64\n* 3000 6000 NS = 128\n* 6000 infinity NS = 256\n*\n* (+) By default some or all matrices of this order\n* are passed to the implicit double shift routine\n* CLAHQR and this parameter is ignored. See\n* ISPEC=12 above and comments in IPARMQ for\n* details.\n*\n* (**) The asterisks (**) indicate an ad-hoc\n* function of N increasing from 10 to 64.\n*\n* ISPEC=16: Select structured matrix multiply.\n* If the number of simultaneous shifts (specified\n* by ISPEC=15) is less than 14, then the default\n* for ISPEC=16 is 0. Otherwise the default for\n* ISPEC=16 is 2.\n*\n* ================================================================\n* Based on contributions by\n* Karen Braman and Ralph Byers, Department of Mathematics,\n* University of Kansas, USA\n*\n* ================================================================\n* References:\n* K. Braman, R. Byers and R. Mathias, The Multi-Shift QR\n* Algorithm Part I: Maintaining Well Focused Shifts, and Level 3\n* Performance, SIAM Journal of Matrix Analysis, volume 23, pages\n* 929--947, 2002.\n*\n* K. Braman, R. Byers and R. Mathias, The Multi-Shift QR\n* Algorithm Part II: Aggressive Early Deflation, SIAM Journal\n* of Matrix Analysis, volume 23, pages 948--973, 2002.\n*\n* ================================================================\n\n");
|
|
44
|
-
return Qnil;
|
|
45
|
-
}
|
|
46
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
47
|
-
printf("%s\n", "USAGE:\n w, work, info, h, z = NumRu::Lapack.chseqr( job, compz, ilo, ihi, h, z, ldz, [:lwork => lwork, :usage => usage, :help => help])\n");
|
|
48
|
-
return Qnil;
|
|
49
|
-
}
|
|
50
|
-
} else
|
|
51
|
-
rblapack_options = Qnil;
|
|
52
|
-
if (argc != 7 && argc != 8)
|
|
53
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 7)", argc);
|
|
54
|
-
rblapack_job = argv[0];
|
|
55
|
-
rblapack_compz = argv[1];
|
|
56
|
-
rblapack_ilo = argv[2];
|
|
57
|
-
rblapack_ihi = argv[3];
|
|
58
|
-
rblapack_h = argv[4];
|
|
59
|
-
rblapack_z = argv[5];
|
|
60
|
-
rblapack_ldz = argv[6];
|
|
61
|
-
if (argc == 8) {
|
|
62
|
-
rblapack_lwork = argv[7];
|
|
63
|
-
} else if (rblapack_options != Qnil) {
|
|
64
|
-
rblapack_lwork = rb_hash_aref(rblapack_options, ID2SYM(rb_intern("lwork")));
|
|
65
|
-
} else {
|
|
66
|
-
rblapack_lwork = Qnil;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
job = StringValueCStr(rblapack_job)[0];
|
|
70
|
-
ilo = NUM2INT(rblapack_ilo);
|
|
71
|
-
if (!NA_IsNArray(rblapack_h))
|
|
72
|
-
rb_raise(rb_eArgError, "h (5th argument) must be NArray");
|
|
73
|
-
if (NA_RANK(rblapack_h) != 2)
|
|
74
|
-
rb_raise(rb_eArgError, "rank of h (5th argument) must be %d", 2);
|
|
75
|
-
ldh = NA_SHAPE0(rblapack_h);
|
|
76
|
-
n = NA_SHAPE1(rblapack_h);
|
|
77
|
-
if (NA_TYPE(rblapack_h) != NA_SCOMPLEX)
|
|
78
|
-
rblapack_h = na_change_type(rblapack_h, NA_SCOMPLEX);
|
|
79
|
-
h = NA_PTR_TYPE(rblapack_h, complex*);
|
|
80
|
-
ldz = NUM2INT(rblapack_ldz);
|
|
81
|
-
compz = StringValueCStr(rblapack_compz)[0];
|
|
82
|
-
if (!NA_IsNArray(rblapack_z))
|
|
83
|
-
rb_raise(rb_eArgError, "z (6th argument) must be NArray");
|
|
84
|
-
if (NA_RANK(rblapack_z) != 2)
|
|
85
|
-
rb_raise(rb_eArgError, "rank of z (6th argument) must be %d", 2);
|
|
86
|
-
if (NA_SHAPE0(rblapack_z) != (lsame_(&compz,"N") ? 0 : ldz))
|
|
87
|
-
rb_raise(rb_eRuntimeError, "shape 0 of z must be %d", lsame_(&compz,"N") ? 0 : ldz);
|
|
88
|
-
if (NA_SHAPE1(rblapack_z) != (lsame_(&compz,"N") ? 0 : n))
|
|
89
|
-
rb_raise(rb_eRuntimeError, "shape 1 of z must be %d", lsame_(&compz,"N") ? 0 : n);
|
|
90
|
-
if (NA_TYPE(rblapack_z) != NA_SCOMPLEX)
|
|
91
|
-
rblapack_z = na_change_type(rblapack_z, NA_SCOMPLEX);
|
|
92
|
-
z = NA_PTR_TYPE(rblapack_z, complex*);
|
|
93
|
-
ihi = NUM2INT(rblapack_ihi);
|
|
94
|
-
if (rblapack_lwork == Qnil)
|
|
95
|
-
lwork = n;
|
|
96
|
-
else {
|
|
97
|
-
lwork = NUM2INT(rblapack_lwork);
|
|
98
|
-
}
|
|
99
|
-
{
|
|
100
|
-
int shape[1];
|
|
101
|
-
shape[0] = n;
|
|
102
|
-
rblapack_w = na_make_object(NA_SCOMPLEX, 1, shape, cNArray);
|
|
103
|
-
}
|
|
104
|
-
w = NA_PTR_TYPE(rblapack_w, complex*);
|
|
105
|
-
{
|
|
106
|
-
int shape[1];
|
|
107
|
-
shape[0] = MAX(1,lwork);
|
|
108
|
-
rblapack_work = na_make_object(NA_SCOMPLEX, 1, shape, cNArray);
|
|
109
|
-
}
|
|
110
|
-
work = NA_PTR_TYPE(rblapack_work, complex*);
|
|
111
|
-
{
|
|
112
|
-
int shape[2];
|
|
113
|
-
shape[0] = ldh;
|
|
114
|
-
shape[1] = n;
|
|
115
|
-
rblapack_h_out__ = na_make_object(NA_SCOMPLEX, 2, shape, cNArray);
|
|
116
|
-
}
|
|
117
|
-
h_out__ = NA_PTR_TYPE(rblapack_h_out__, complex*);
|
|
118
|
-
MEMCPY(h_out__, h, complex, NA_TOTAL(rblapack_h));
|
|
119
|
-
rblapack_h = rblapack_h_out__;
|
|
120
|
-
h = h_out__;
|
|
121
|
-
{
|
|
122
|
-
int shape[2];
|
|
123
|
-
shape[0] = lsame_(&compz,"N") ? 0 : ldz;
|
|
124
|
-
shape[1] = lsame_(&compz,"N") ? 0 : n;
|
|
125
|
-
rblapack_z_out__ = na_make_object(NA_SCOMPLEX, 2, shape, cNArray);
|
|
126
|
-
}
|
|
127
|
-
z_out__ = NA_PTR_TYPE(rblapack_z_out__, complex*);
|
|
128
|
-
MEMCPY(z_out__, z, complex, NA_TOTAL(rblapack_z));
|
|
129
|
-
rblapack_z = rblapack_z_out__;
|
|
130
|
-
z = z_out__;
|
|
131
|
-
|
|
132
|
-
chseqr_(&job, &compz, &n, &ilo, &ihi, h, &ldh, w, z, &ldz, work, &lwork, &info);
|
|
133
|
-
|
|
134
|
-
rblapack_info = INT2NUM(info);
|
|
135
|
-
return rb_ary_new3(5, rblapack_w, rblapack_work, rblapack_info, rblapack_h, rblapack_z);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
void
|
|
139
|
-
init_lapack_chseqr(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
140
|
-
sHelp = sH;
|
|
141
|
-
sUsage = sU;
|
|
142
|
-
rblapack_ZERO = zero;
|
|
143
|
-
|
|
144
|
-
rb_define_module_function(mLapack, "chseqr", rblapack_chseqr, -1);
|
|
145
|
-
}
|