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/slaed3.c
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID slaed3_(integer* k, integer* n, integer* n1, real* d, real* q, integer* ldq, real* rho, real* dlamda, real* q2, integer* indx, integer* ctot, real* w, real* s, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_slaed3(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_n1;
|
|
9
|
-
integer n1;
|
|
10
|
-
VALUE rblapack_rho;
|
|
11
|
-
real rho;
|
|
12
|
-
VALUE rblapack_dlamda;
|
|
13
|
-
real *dlamda;
|
|
14
|
-
VALUE rblapack_q2;
|
|
15
|
-
real *q2;
|
|
16
|
-
VALUE rblapack_indx;
|
|
17
|
-
integer *indx;
|
|
18
|
-
VALUE rblapack_ctot;
|
|
19
|
-
integer *ctot;
|
|
20
|
-
VALUE rblapack_w;
|
|
21
|
-
real *w;
|
|
22
|
-
VALUE rblapack_d;
|
|
23
|
-
real *d;
|
|
24
|
-
VALUE rblapack_q;
|
|
25
|
-
real *q;
|
|
26
|
-
VALUE rblapack_info;
|
|
27
|
-
integer info;
|
|
28
|
-
VALUE rblapack_dlamda_out__;
|
|
29
|
-
real *dlamda_out__;
|
|
30
|
-
VALUE rblapack_w_out__;
|
|
31
|
-
real *w_out__;
|
|
32
|
-
real *s;
|
|
33
|
-
|
|
34
|
-
integer k;
|
|
35
|
-
integer n;
|
|
36
|
-
integer ldq;
|
|
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 d, q, info, dlamda, w = NumRu::Lapack.slaed3( n1, rho, dlamda, q2, indx, ctot, w, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE SLAED3( K, N, N1, D, Q, LDQ, RHO, DLAMDA, Q2, INDX, CTOT, W, S, INFO )\n\n* Purpose\n* =======\n*\n* SLAED3 finds the roots of the secular equation, as defined by the\n* values in D, W, and RHO, between 1 and K. It makes the\n* appropriate calls to SLAED4 and then updates the eigenvectors by\n* multiplying the matrix of eigenvectors of the pair of eigensystems\n* being combined by the matrix of eigenvectors of the K-by-K system\n* which is solved here.\n*\n* This code makes very mild assumptions about floating point\n* arithmetic. It will work on machines with a guard digit in\n* add/subtract, or on those binary machines without guard digits\n* which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2.\n* It could conceivably fail on hexadecimal or decimal machines\n* without guard digits, but we know of none.\n*\n\n* Arguments\n* =========\n*\n* K (input) INTEGER\n* The number of terms in the rational function to be solved by\n* SLAED4. K >= 0.\n*\n* N (input) INTEGER\n* The number of rows and columns in the Q matrix.\n* N >= K (deflation may result in N>K).\n*\n* N1 (input) INTEGER\n* The location of the last eigenvalue in the leading submatrix.\n* min(1,N) <= N1 <= N/2.\n*\n* D (output) REAL array, dimension (N)\n* D(I) contains the updated eigenvalues for\n* 1 <= I <= K.\n*\n* Q (output) REAL array, dimension (LDQ,N)\n* Initially the first K columns are used as workspace.\n* On output the columns 1 to K contain\n* the updated eigenvectors.\n*\n* LDQ (input) INTEGER\n* The leading dimension of the array Q. LDQ >= max(1,N).\n*\n* RHO (input) REAL\n* The value of the parameter in the rank one update equation.\n* RHO >= 0 required.\n*\n* DLAMDA (input/output) REAL array, dimension (K)\n* The first K elements of this array contain the old roots\n* of the deflated updating problem. These are the poles\n* of the secular equation. May be changed on output by\n* having lowest order bit set to zero on Cray X-MP, Cray Y-MP,\n* Cray-2, or Cray C-90, as described above.\n*\n* Q2 (input) REAL array, dimension (LDQ2, N)\n* The first K columns of this matrix contain the non-deflated\n* eigenvectors for the split problem.\n*\n* INDX (input) INTEGER array, dimension (N)\n* The permutation used to arrange the columns of the deflated\n* Q matrix into three groups (see SLAED2).\n* The rows of the eigenvectors found by SLAED4 must be likewise\n* permuted before the matrix multiply can take place.\n*\n* CTOT (input) INTEGER array, dimension (4)\n* A count of the total number of the various types of columns\n* in Q, as described in INDX. The fourth column type is any\n* column which has been deflated.\n*\n* W (input/output) REAL array, dimension (K)\n* The first K elements of this array contain the components\n* of the deflation-adjusted updating vector. Destroyed on\n* output.\n*\n* S (workspace) REAL array, dimension (N1 + 1)*K\n* Will contain the eigenvectors of the repaired matrix which\n* will be multiplied by the previously accumulated eigenvectors\n* to update the system.\n*\n* LDS (input) INTEGER\n* The leading dimension of S. LDS >= max(1,K).\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 = 1, an eigenvalue did not converge\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Jeff Rutter, Computer Science Division, University of California\n* at Berkeley, USA\n* Modified by Francoise Tisseur, University of Tennessee.\n*\n* =====================================================================\n*\n\n");
|
|
44
|
-
return Qnil;
|
|
45
|
-
}
|
|
46
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
47
|
-
printf("%s\n", "USAGE:\n d, q, info, dlamda, w = NumRu::Lapack.slaed3( n1, rho, dlamda, q2, indx, ctot, w, [:usage => usage, :help => help])\n");
|
|
48
|
-
return Qnil;
|
|
49
|
-
}
|
|
50
|
-
} else
|
|
51
|
-
rblapack_options = Qnil;
|
|
52
|
-
if (argc != 7 && argc != 7)
|
|
53
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 7)", argc);
|
|
54
|
-
rblapack_n1 = argv[0];
|
|
55
|
-
rblapack_rho = argv[1];
|
|
56
|
-
rblapack_dlamda = argv[2];
|
|
57
|
-
rblapack_q2 = argv[3];
|
|
58
|
-
rblapack_indx = argv[4];
|
|
59
|
-
rblapack_ctot = argv[5];
|
|
60
|
-
rblapack_w = argv[6];
|
|
61
|
-
if (argc == 7) {
|
|
62
|
-
} else if (rblapack_options != Qnil) {
|
|
63
|
-
} else {
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
n1 = NUM2INT(rblapack_n1);
|
|
67
|
-
if (!NA_IsNArray(rblapack_dlamda))
|
|
68
|
-
rb_raise(rb_eArgError, "dlamda (3th argument) must be NArray");
|
|
69
|
-
if (NA_RANK(rblapack_dlamda) != 1)
|
|
70
|
-
rb_raise(rb_eArgError, "rank of dlamda (3th argument) must be %d", 1);
|
|
71
|
-
k = NA_SHAPE0(rblapack_dlamda);
|
|
72
|
-
if (NA_TYPE(rblapack_dlamda) != NA_SFLOAT)
|
|
73
|
-
rblapack_dlamda = na_change_type(rblapack_dlamda, NA_SFLOAT);
|
|
74
|
-
dlamda = NA_PTR_TYPE(rblapack_dlamda, real*);
|
|
75
|
-
if (!NA_IsNArray(rblapack_indx))
|
|
76
|
-
rb_raise(rb_eArgError, "indx (5th argument) must be NArray");
|
|
77
|
-
if (NA_RANK(rblapack_indx) != 1)
|
|
78
|
-
rb_raise(rb_eArgError, "rank of indx (5th argument) must be %d", 1);
|
|
79
|
-
n = NA_SHAPE0(rblapack_indx);
|
|
80
|
-
if (NA_TYPE(rblapack_indx) != NA_LINT)
|
|
81
|
-
rblapack_indx = na_change_type(rblapack_indx, NA_LINT);
|
|
82
|
-
indx = NA_PTR_TYPE(rblapack_indx, integer*);
|
|
83
|
-
if (!NA_IsNArray(rblapack_w))
|
|
84
|
-
rb_raise(rb_eArgError, "w (7th argument) must be NArray");
|
|
85
|
-
if (NA_RANK(rblapack_w) != 1)
|
|
86
|
-
rb_raise(rb_eArgError, "rank of w (7th argument) must be %d", 1);
|
|
87
|
-
if (NA_SHAPE0(rblapack_w) != k)
|
|
88
|
-
rb_raise(rb_eRuntimeError, "shape 0 of w must be the same as shape 0 of dlamda");
|
|
89
|
-
if (NA_TYPE(rblapack_w) != NA_SFLOAT)
|
|
90
|
-
rblapack_w = na_change_type(rblapack_w, NA_SFLOAT);
|
|
91
|
-
w = NA_PTR_TYPE(rblapack_w, real*);
|
|
92
|
-
rho = (real)NUM2DBL(rblapack_rho);
|
|
93
|
-
if (!NA_IsNArray(rblapack_ctot))
|
|
94
|
-
rb_raise(rb_eArgError, "ctot (6th argument) must be NArray");
|
|
95
|
-
if (NA_RANK(rblapack_ctot) != 1)
|
|
96
|
-
rb_raise(rb_eArgError, "rank of ctot (6th argument) must be %d", 1);
|
|
97
|
-
if (NA_SHAPE0(rblapack_ctot) != (4))
|
|
98
|
-
rb_raise(rb_eRuntimeError, "shape 0 of ctot must be %d", 4);
|
|
99
|
-
if (NA_TYPE(rblapack_ctot) != NA_LINT)
|
|
100
|
-
rblapack_ctot = na_change_type(rblapack_ctot, NA_LINT);
|
|
101
|
-
ctot = NA_PTR_TYPE(rblapack_ctot, integer*);
|
|
102
|
-
if (!NA_IsNArray(rblapack_q2))
|
|
103
|
-
rb_raise(rb_eArgError, "q2 (4th argument) must be NArray");
|
|
104
|
-
if (NA_RANK(rblapack_q2) != 2)
|
|
105
|
-
rb_raise(rb_eArgError, "rank of q2 (4th argument) must be %d", 2);
|
|
106
|
-
if (NA_SHAPE0(rblapack_q2) != n)
|
|
107
|
-
rb_raise(rb_eRuntimeError, "shape 0 of q2 must be the same as shape 0 of indx");
|
|
108
|
-
if (NA_SHAPE1(rblapack_q2) != n)
|
|
109
|
-
rb_raise(rb_eRuntimeError, "shape 1 of q2 must be the same as shape 0 of indx");
|
|
110
|
-
if (NA_TYPE(rblapack_q2) != NA_SFLOAT)
|
|
111
|
-
rblapack_q2 = na_change_type(rblapack_q2, NA_SFLOAT);
|
|
112
|
-
q2 = NA_PTR_TYPE(rblapack_q2, real*);
|
|
113
|
-
ldq = MAX(1,n);
|
|
114
|
-
{
|
|
115
|
-
int shape[1];
|
|
116
|
-
shape[0] = n;
|
|
117
|
-
rblapack_d = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
118
|
-
}
|
|
119
|
-
d = NA_PTR_TYPE(rblapack_d, real*);
|
|
120
|
-
{
|
|
121
|
-
int shape[2];
|
|
122
|
-
shape[0] = ldq;
|
|
123
|
-
shape[1] = n;
|
|
124
|
-
rblapack_q = na_make_object(NA_SFLOAT, 2, shape, cNArray);
|
|
125
|
-
}
|
|
126
|
-
q = NA_PTR_TYPE(rblapack_q, real*);
|
|
127
|
-
{
|
|
128
|
-
int shape[1];
|
|
129
|
-
shape[0] = k;
|
|
130
|
-
rblapack_dlamda_out__ = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
131
|
-
}
|
|
132
|
-
dlamda_out__ = NA_PTR_TYPE(rblapack_dlamda_out__, real*);
|
|
133
|
-
MEMCPY(dlamda_out__, dlamda, real, NA_TOTAL(rblapack_dlamda));
|
|
134
|
-
rblapack_dlamda = rblapack_dlamda_out__;
|
|
135
|
-
dlamda = dlamda_out__;
|
|
136
|
-
{
|
|
137
|
-
int shape[1];
|
|
138
|
-
shape[0] = k;
|
|
139
|
-
rblapack_w_out__ = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
140
|
-
}
|
|
141
|
-
w_out__ = NA_PTR_TYPE(rblapack_w_out__, real*);
|
|
142
|
-
MEMCPY(w_out__, w, real, NA_TOTAL(rblapack_w));
|
|
143
|
-
rblapack_w = rblapack_w_out__;
|
|
144
|
-
w = w_out__;
|
|
145
|
-
s = ALLOC_N(real, (MAX(1,k))*(n1 + 1));
|
|
146
|
-
|
|
147
|
-
slaed3_(&k, &n, &n1, d, q, &ldq, &rho, dlamda, q2, indx, ctot, w, s, &info);
|
|
148
|
-
|
|
149
|
-
free(s);
|
|
150
|
-
rblapack_info = INT2NUM(info);
|
|
151
|
-
return rb_ary_new3(5, rblapack_d, rblapack_q, rblapack_info, rblapack_dlamda, rblapack_w);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
void
|
|
155
|
-
init_lapack_slaed3(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
156
|
-
sHelp = sH;
|
|
157
|
-
sUsage = sU;
|
|
158
|
-
rblapack_ZERO = zero;
|
|
159
|
-
|
|
160
|
-
rb_define_module_function(mLapack, "slaed3", rblapack_slaed3, -1);
|
|
161
|
-
}
|
data/ext/slaed4.c
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID slaed4_(integer* n, integer* i, real* d, real* z, real* delta, real* rho, real* dlam, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_slaed4(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_i;
|
|
9
|
-
integer i;
|
|
10
|
-
VALUE rblapack_d;
|
|
11
|
-
real *d;
|
|
12
|
-
VALUE rblapack_z;
|
|
13
|
-
real *z;
|
|
14
|
-
VALUE rblapack_rho;
|
|
15
|
-
real rho;
|
|
16
|
-
VALUE rblapack_delta;
|
|
17
|
-
real *delta;
|
|
18
|
-
VALUE rblapack_dlam;
|
|
19
|
-
real dlam;
|
|
20
|
-
VALUE rblapack_info;
|
|
21
|
-
integer info;
|
|
22
|
-
|
|
23
|
-
integer n;
|
|
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 delta, dlam, info = NumRu::Lapack.slaed4( i, d, z, rho, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE SLAED4( N, I, D, Z, DELTA, RHO, DLAM, INFO )\n\n* Purpose\n* =======\n*\n* This subroutine computes the I-th updated eigenvalue of a symmetric\n* rank-one modification to a diagonal matrix whose elements are\n* given in the array d, and that\n*\n* D(i) < D(j) for i < j\n*\n* and that RHO > 0. This is arranged by the calling routine, and is\n* no loss in generality. The rank-one modified system is thus\n*\n* diag( D ) + RHO * Z * Z_transpose.\n*\n* where we assume the Euclidean norm of Z is 1.\n*\n* The method consists of approximating the rational functions in the\n* secular equation by simpler interpolating rational functions.\n*\n\n* Arguments\n* =========\n*\n* N (input) INTEGER\n* The length of all arrays.\n*\n* I (input) INTEGER\n* The index of the eigenvalue to be computed. 1 <= I <= N.\n*\n* D (input) REAL array, dimension (N)\n* The original eigenvalues. It is assumed that they are in\n* order, D(I) < D(J) for I < J.\n*\n* Z (input) REAL array, dimension (N)\n* The components of the updating vector.\n*\n* DELTA (output) REAL array, dimension (N)\n* If N .GT. 2, DELTA contains (D(j) - lambda_I) in its j-th\n* component. If N = 1, then DELTA(1) = 1. If N = 2, see SLAED5\n* for detail. The vector DELTA contains the information necessary\n* to construct the eigenvectors by SLAED3 and SLAED9.\n*\n* RHO (input) REAL\n* The scalar in the symmetric updating formula.\n*\n* DLAM (output) REAL\n* The computed lambda_I, the I-th updated eigenvalue.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* > 0: if INFO = 1, the updating process failed.\n*\n* Internal Parameters\n* ===================\n*\n* Logical variable ORGATI (origin-at-i?) is used for distinguishing\n* whether D(i) or D(i+1) is treated as the origin.\n*\n* ORGATI = .true. origin at i\n* ORGATI = .false. origin at i+1\n*\n* Logical variable SWTCH3 (switch-for-3-poles?) is for noting\n* if we are working with THREE poles!\n*\n* MAXIT is the maximum number of iterations allowed for each\n* eigenvalue.\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Ren-Cang Li, Computer Science Division, University of California\n* at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
31
|
-
return Qnil;
|
|
32
|
-
}
|
|
33
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
34
|
-
printf("%s\n", "USAGE:\n delta, dlam, info = NumRu::Lapack.slaed4( i, d, z, rho, [: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_i = argv[0];
|
|
42
|
-
rblapack_d = argv[1];
|
|
43
|
-
rblapack_z = argv[2];
|
|
44
|
-
rblapack_rho = argv[3];
|
|
45
|
-
if (argc == 4) {
|
|
46
|
-
} else if (rblapack_options != Qnil) {
|
|
47
|
-
} else {
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
i = NUM2INT(rblapack_i);
|
|
51
|
-
if (!NA_IsNArray(rblapack_z))
|
|
52
|
-
rb_raise(rb_eArgError, "z (3th argument) must be NArray");
|
|
53
|
-
if (NA_RANK(rblapack_z) != 1)
|
|
54
|
-
rb_raise(rb_eArgError, "rank of z (3th argument) must be %d", 1);
|
|
55
|
-
n = NA_SHAPE0(rblapack_z);
|
|
56
|
-
if (NA_TYPE(rblapack_z) != NA_SFLOAT)
|
|
57
|
-
rblapack_z = na_change_type(rblapack_z, NA_SFLOAT);
|
|
58
|
-
z = NA_PTR_TYPE(rblapack_z, real*);
|
|
59
|
-
if (!NA_IsNArray(rblapack_d))
|
|
60
|
-
rb_raise(rb_eArgError, "d (2th argument) must be NArray");
|
|
61
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
62
|
-
rb_raise(rb_eArgError, "rank of d (2th argument) must be %d", 1);
|
|
63
|
-
if (NA_SHAPE0(rblapack_d) != n)
|
|
64
|
-
rb_raise(rb_eRuntimeError, "shape 0 of d must be the same as shape 0 of z");
|
|
65
|
-
if (NA_TYPE(rblapack_d) != NA_SFLOAT)
|
|
66
|
-
rblapack_d = na_change_type(rblapack_d, NA_SFLOAT);
|
|
67
|
-
d = NA_PTR_TYPE(rblapack_d, real*);
|
|
68
|
-
rho = (real)NUM2DBL(rblapack_rho);
|
|
69
|
-
{
|
|
70
|
-
int shape[1];
|
|
71
|
-
shape[0] = n;
|
|
72
|
-
rblapack_delta = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
73
|
-
}
|
|
74
|
-
delta = NA_PTR_TYPE(rblapack_delta, real*);
|
|
75
|
-
|
|
76
|
-
slaed4_(&n, &i, d, z, delta, &rho, &dlam, &info);
|
|
77
|
-
|
|
78
|
-
rblapack_dlam = rb_float_new((double)dlam);
|
|
79
|
-
rblapack_info = INT2NUM(info);
|
|
80
|
-
return rb_ary_new3(3, rblapack_delta, rblapack_dlam, rblapack_info);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
void
|
|
84
|
-
init_lapack_slaed4(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
85
|
-
sHelp = sH;
|
|
86
|
-
sUsage = sU;
|
|
87
|
-
rblapack_ZERO = zero;
|
|
88
|
-
|
|
89
|
-
rb_define_module_function(mLapack, "slaed4", rblapack_slaed4, -1);
|
|
90
|
-
}
|
data/ext/slaed5.c
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID slaed5_(integer* i, real* d, real* z, real* delta, real* rho, real* dlam);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_slaed5(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_i;
|
|
9
|
-
integer i;
|
|
10
|
-
VALUE rblapack_d;
|
|
11
|
-
real *d;
|
|
12
|
-
VALUE rblapack_z;
|
|
13
|
-
real *z;
|
|
14
|
-
VALUE rblapack_rho;
|
|
15
|
-
real rho;
|
|
16
|
-
VALUE rblapack_delta;
|
|
17
|
-
real *delta;
|
|
18
|
-
VALUE rblapack_dlam;
|
|
19
|
-
real dlam;
|
|
20
|
-
|
|
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 delta, dlam = NumRu::Lapack.slaed5( i, d, z, rho, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE SLAED5( I, D, Z, DELTA, RHO, DLAM )\n\n* Purpose\n* =======\n*\n* This subroutine computes the I-th eigenvalue of a symmetric rank-one\n* modification of a 2-by-2 diagonal matrix\n*\n* diag( D ) + RHO * Z * transpose(Z) .\n*\n* The diagonal elements in the array D are assumed to satisfy\n*\n* D(i) < D(j) for i < j .\n*\n* We also assume RHO > 0 and that the Euclidean norm of the vector\n* Z is one.\n*\n\n* Arguments\n* =========\n*\n* I (input) INTEGER\n* The index of the eigenvalue to be computed. I = 1 or I = 2.\n*\n* D (input) REAL array, dimension (2)\n* The original eigenvalues. We assume D(1) < D(2).\n*\n* Z (input) REAL array, dimension (2)\n* The components of the updating vector.\n*\n* DELTA (output) REAL array, dimension (2)\n* The vector DELTA contains the information necessary\n* to construct the eigenvectors.\n*\n* RHO (input) REAL\n* The scalar in the symmetric updating formula.\n*\n* DLAM (output) REAL\n* The computed lambda_I, the I-th updated eigenvalue.\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Ren-Cang Li, Computer Science Division, University of California\n* at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n delta, dlam = NumRu::Lapack.slaed5( i, d, z, rho, [:usage => usage, :help => help])\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
} else
|
|
35
|
-
rblapack_options = Qnil;
|
|
36
|
-
if (argc != 4 && argc != 4)
|
|
37
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 4)", argc);
|
|
38
|
-
rblapack_i = argv[0];
|
|
39
|
-
rblapack_d = argv[1];
|
|
40
|
-
rblapack_z = argv[2];
|
|
41
|
-
rblapack_rho = argv[3];
|
|
42
|
-
if (argc == 4) {
|
|
43
|
-
} else if (rblapack_options != Qnil) {
|
|
44
|
-
} else {
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
i = NUM2INT(rblapack_i);
|
|
48
|
-
if (!NA_IsNArray(rblapack_z))
|
|
49
|
-
rb_raise(rb_eArgError, "z (3th argument) must be NArray");
|
|
50
|
-
if (NA_RANK(rblapack_z) != 1)
|
|
51
|
-
rb_raise(rb_eArgError, "rank of z (3th argument) must be %d", 1);
|
|
52
|
-
if (NA_SHAPE0(rblapack_z) != (2))
|
|
53
|
-
rb_raise(rb_eRuntimeError, "shape 0 of z must be %d", 2);
|
|
54
|
-
if (NA_TYPE(rblapack_z) != NA_SFLOAT)
|
|
55
|
-
rblapack_z = na_change_type(rblapack_z, NA_SFLOAT);
|
|
56
|
-
z = NA_PTR_TYPE(rblapack_z, real*);
|
|
57
|
-
if (!NA_IsNArray(rblapack_d))
|
|
58
|
-
rb_raise(rb_eArgError, "d (2th argument) must be NArray");
|
|
59
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
60
|
-
rb_raise(rb_eArgError, "rank of d (2th argument) must be %d", 1);
|
|
61
|
-
if (NA_SHAPE0(rblapack_d) != (2))
|
|
62
|
-
rb_raise(rb_eRuntimeError, "shape 0 of d must be %d", 2);
|
|
63
|
-
if (NA_TYPE(rblapack_d) != NA_SFLOAT)
|
|
64
|
-
rblapack_d = na_change_type(rblapack_d, NA_SFLOAT);
|
|
65
|
-
d = NA_PTR_TYPE(rblapack_d, real*);
|
|
66
|
-
rho = (real)NUM2DBL(rblapack_rho);
|
|
67
|
-
{
|
|
68
|
-
int shape[1];
|
|
69
|
-
shape[0] = 2;
|
|
70
|
-
rblapack_delta = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
71
|
-
}
|
|
72
|
-
delta = NA_PTR_TYPE(rblapack_delta, real*);
|
|
73
|
-
|
|
74
|
-
slaed5_(&i, d, z, delta, &rho, &dlam);
|
|
75
|
-
|
|
76
|
-
rblapack_dlam = rb_float_new((double)dlam);
|
|
77
|
-
return rb_ary_new3(2, rblapack_delta, rblapack_dlam);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
void
|
|
81
|
-
init_lapack_slaed5(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
82
|
-
sHelp = sH;
|
|
83
|
-
sUsage = sU;
|
|
84
|
-
rblapack_ZERO = zero;
|
|
85
|
-
|
|
86
|
-
rb_define_module_function(mLapack, "slaed5", rblapack_slaed5, -1);
|
|
87
|
-
}
|
data/ext/slaed6.c
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID slaed6_(integer* kniter, logical* orgati, real* rho, real* d, real* z, real* finit, real* tau, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_slaed6(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_kniter;
|
|
9
|
-
integer kniter;
|
|
10
|
-
VALUE rblapack_orgati;
|
|
11
|
-
logical orgati;
|
|
12
|
-
VALUE rblapack_rho;
|
|
13
|
-
real rho;
|
|
14
|
-
VALUE rblapack_d;
|
|
15
|
-
real *d;
|
|
16
|
-
VALUE rblapack_z;
|
|
17
|
-
real *z;
|
|
18
|
-
VALUE rblapack_finit;
|
|
19
|
-
real finit;
|
|
20
|
-
VALUE rblapack_tau;
|
|
21
|
-
real tau;
|
|
22
|
-
VALUE rblapack_info;
|
|
23
|
-
integer info;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
VALUE rblapack_options;
|
|
27
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
28
|
-
argc--;
|
|
29
|
-
rblapack_options = argv[argc];
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n tau, info = NumRu::Lapack.slaed6( kniter, orgati, rho, d, z, finit, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE SLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )\n\n* Purpose\n* =======\n*\n* SLAED6 computes the positive or negative root (closest to the origin)\n* of\n* z(1) z(2) z(3)\n* f(x) = rho + --------- + ---------- + ---------\n* d(1)-x d(2)-x d(3)-x\n*\n* It is assumed that\n*\n* if ORGATI = .true. the root is between d(2) and d(3);\n* otherwise it is between d(1) and d(2)\n*\n* This routine will be called by SLAED4 when necessary. In most cases,\n* the root sought is the smallest in magnitude, though it might not be\n* in some extremely rare situations.\n*\n\n* Arguments\n* =========\n*\n* KNITER (input) INTEGER\n* Refer to SLAED4 for its significance.\n*\n* ORGATI (input) LOGICAL\n* If ORGATI is true, the needed root is between d(2) and\n* d(3); otherwise it is between d(1) and d(2). See\n* SLAED4 for further details.\n*\n* RHO (input) REAL \n* Refer to the equation f(x) above.\n*\n* D (input) REAL array, dimension (3)\n* D satisfies d(1) < d(2) < d(3).\n*\n* Z (input) REAL array, dimension (3)\n* Each of the elements in z must be positive.\n*\n* FINIT (input) REAL \n* The value of f at 0. It is more accurate than the one\n* evaluated inside this routine (if someone wants to do\n* so).\n*\n* TAU (output) REAL \n* The root of the equation f(x).\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* > 0: if INFO = 1, failure to converge\n*\n\n* Further Details\n* ===============\n*\n* 30/06/99: Based on contributions by\n* Ren-Cang Li, Computer Science Division, University of California\n* at Berkeley, USA\n*\n* 10/02/03: This version has a few statements commented out for thread safety\n* (machine parameters are computed on each entry). SJH.\n*\n* 05/10/06: Modified from a new version of Ren-Cang Li, use\n* Gragg-Thornton-Warner cubic convergent scheme for better stability.\n*\n* =====================================================================\n*\n\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
35
|
-
printf("%s\n", "USAGE:\n tau, info = NumRu::Lapack.slaed6( kniter, orgati, rho, d, z, finit, [:usage => usage, :help => help])\n");
|
|
36
|
-
return Qnil;
|
|
37
|
-
}
|
|
38
|
-
} else
|
|
39
|
-
rblapack_options = Qnil;
|
|
40
|
-
if (argc != 6 && argc != 6)
|
|
41
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 6)", argc);
|
|
42
|
-
rblapack_kniter = argv[0];
|
|
43
|
-
rblapack_orgati = argv[1];
|
|
44
|
-
rblapack_rho = argv[2];
|
|
45
|
-
rblapack_d = argv[3];
|
|
46
|
-
rblapack_z = argv[4];
|
|
47
|
-
rblapack_finit = argv[5];
|
|
48
|
-
if (argc == 6) {
|
|
49
|
-
} else if (rblapack_options != Qnil) {
|
|
50
|
-
} else {
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
kniter = NUM2INT(rblapack_kniter);
|
|
54
|
-
rho = (real)NUM2DBL(rblapack_rho);
|
|
55
|
-
if (!NA_IsNArray(rblapack_z))
|
|
56
|
-
rb_raise(rb_eArgError, "z (5th argument) must be NArray");
|
|
57
|
-
if (NA_RANK(rblapack_z) != 1)
|
|
58
|
-
rb_raise(rb_eArgError, "rank of z (5th argument) must be %d", 1);
|
|
59
|
-
if (NA_SHAPE0(rblapack_z) != (3))
|
|
60
|
-
rb_raise(rb_eRuntimeError, "shape 0 of z must be %d", 3);
|
|
61
|
-
if (NA_TYPE(rblapack_z) != NA_SFLOAT)
|
|
62
|
-
rblapack_z = na_change_type(rblapack_z, NA_SFLOAT);
|
|
63
|
-
z = NA_PTR_TYPE(rblapack_z, real*);
|
|
64
|
-
orgati = (rblapack_orgati == Qtrue);
|
|
65
|
-
finit = (real)NUM2DBL(rblapack_finit);
|
|
66
|
-
if (!NA_IsNArray(rblapack_d))
|
|
67
|
-
rb_raise(rb_eArgError, "d (4th argument) must be NArray");
|
|
68
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
69
|
-
rb_raise(rb_eArgError, "rank of d (4th argument) must be %d", 1);
|
|
70
|
-
if (NA_SHAPE0(rblapack_d) != (3))
|
|
71
|
-
rb_raise(rb_eRuntimeError, "shape 0 of d must be %d", 3);
|
|
72
|
-
if (NA_TYPE(rblapack_d) != NA_SFLOAT)
|
|
73
|
-
rblapack_d = na_change_type(rblapack_d, NA_SFLOAT);
|
|
74
|
-
d = NA_PTR_TYPE(rblapack_d, real*);
|
|
75
|
-
|
|
76
|
-
slaed6_(&kniter, &orgati, &rho, d, z, &finit, &tau, &info);
|
|
77
|
-
|
|
78
|
-
rblapack_tau = rb_float_new((double)tau);
|
|
79
|
-
rblapack_info = INT2NUM(info);
|
|
80
|
-
return rb_ary_new3(2, rblapack_tau, rblapack_info);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
void
|
|
84
|
-
init_lapack_slaed6(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
85
|
-
sHelp = sH;
|
|
86
|
-
sUsage = sU;
|
|
87
|
-
rblapack_ZERO = zero;
|
|
88
|
-
|
|
89
|
-
rb_define_module_function(mLapack, "slaed6", rblapack_slaed6, -1);
|
|
90
|
-
}
|
data/ext/slaed7.c
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID slaed7_(integer* icompq, integer* n, integer* qsiz, integer* tlvls, integer* curlvl, integer* curpbm, real* d, real* q, integer* ldq, integer* indxq, real* rho, integer* cutpnt, real* qstore, integer* qptr, integer* prmptr, integer* perm, integer* givptr, integer* givcol, real* givnum, real* work, integer* iwork, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_slaed7(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_icompq;
|
|
9
|
-
integer icompq;
|
|
10
|
-
VALUE rblapack_qsiz;
|
|
11
|
-
integer qsiz;
|
|
12
|
-
VALUE rblapack_tlvls;
|
|
13
|
-
integer tlvls;
|
|
14
|
-
VALUE rblapack_curlvl;
|
|
15
|
-
integer curlvl;
|
|
16
|
-
VALUE rblapack_curpbm;
|
|
17
|
-
integer curpbm;
|
|
18
|
-
VALUE rblapack_d;
|
|
19
|
-
real *d;
|
|
20
|
-
VALUE rblapack_q;
|
|
21
|
-
real *q;
|
|
22
|
-
VALUE rblapack_rho;
|
|
23
|
-
real rho;
|
|
24
|
-
VALUE rblapack_cutpnt;
|
|
25
|
-
integer cutpnt;
|
|
26
|
-
VALUE rblapack_qstore;
|
|
27
|
-
real *qstore;
|
|
28
|
-
VALUE rblapack_qptr;
|
|
29
|
-
integer *qptr;
|
|
30
|
-
VALUE rblapack_prmptr;
|
|
31
|
-
integer *prmptr;
|
|
32
|
-
VALUE rblapack_perm;
|
|
33
|
-
integer *perm;
|
|
34
|
-
VALUE rblapack_givptr;
|
|
35
|
-
integer *givptr;
|
|
36
|
-
VALUE rblapack_givcol;
|
|
37
|
-
integer *givcol;
|
|
38
|
-
VALUE rblapack_givnum;
|
|
39
|
-
real *givnum;
|
|
40
|
-
VALUE rblapack_indxq;
|
|
41
|
-
integer *indxq;
|
|
42
|
-
VALUE rblapack_info;
|
|
43
|
-
integer info;
|
|
44
|
-
VALUE rblapack_d_out__;
|
|
45
|
-
real *d_out__;
|
|
46
|
-
VALUE rblapack_q_out__;
|
|
47
|
-
real *q_out__;
|
|
48
|
-
VALUE rblapack_qstore_out__;
|
|
49
|
-
real *qstore_out__;
|
|
50
|
-
VALUE rblapack_qptr_out__;
|
|
51
|
-
integer *qptr_out__;
|
|
52
|
-
real *work;
|
|
53
|
-
integer *iwork;
|
|
54
|
-
|
|
55
|
-
integer n;
|
|
56
|
-
integer ldq;
|
|
57
|
-
|
|
58
|
-
VALUE rblapack_options;
|
|
59
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
60
|
-
argc--;
|
|
61
|
-
rblapack_options = argv[argc];
|
|
62
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
63
|
-
printf("%s\n", "USAGE:\n indxq, info, d, q, qstore, qptr = NumRu::Lapack.slaed7( icompq, qsiz, tlvls, curlvl, curpbm, d, q, rho, cutpnt, qstore, qptr, prmptr, perm, givptr, givcol, givnum, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE SLAED7( ICOMPQ, N, QSIZ, TLVLS, CURLVL, CURPBM, D, Q, LDQ, INDXQ, RHO, CUTPNT, QSTORE, QPTR, PRMPTR, PERM, GIVPTR, GIVCOL, GIVNUM, WORK, IWORK, INFO )\n\n* Purpose\n* =======\n*\n* SLAED7 computes the updated eigensystem of a diagonal\n* matrix after modification by a rank-one symmetric matrix. This\n* routine is used only for the eigenproblem which requires all\n* eigenvalues and optionally eigenvectors of a dense symmetric matrix\n* that has been reduced to tridiagonal form. SLAED1 handles\n* the case in which all eigenvalues and eigenvectors of a symmetric\n* tridiagonal matrix are desired.\n*\n* T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out)\n*\n* where Z = Q'u, u is a vector of length N with ones in the\n* CUTPNT and CUTPNT + 1 th elements and zeros elsewhere.\n*\n* The eigenvectors of the original matrix are stored in Q, and the\n* eigenvalues are in D. The algorithm consists of three stages:\n*\n* The first stage consists of deflating the size of the problem\n* when there are multiple eigenvalues or if there is a zero in\n* the Z vector. For each such occurence the dimension of the\n* secular equation problem is reduced by one. This stage is\n* performed by the routine SLAED8.\n*\n* The second stage consists of calculating the updated\n* eigenvalues. This is done by finding the roots of the secular\n* equation via the routine SLAED4 (as called by SLAED9).\n* This routine also calculates the eigenvectors of the current\n* problem.\n*\n* The final stage consists of computing the updated eigenvectors\n* directly using the updated eigenvalues. The eigenvectors for\n* the current problem are multiplied with the eigenvectors from\n* the overall problem.\n*\n\n* Arguments\n* =========\n*\n* ICOMPQ (input) INTEGER\n* = 0: Compute eigenvalues only.\n* = 1: Compute eigenvectors of original dense symmetric matrix\n* also. On entry, Q contains the orthogonal matrix used\n* to reduce the original matrix to tridiagonal form.\n*\n* N (input) INTEGER\n* The dimension of the symmetric tridiagonal matrix. N >= 0.\n*\n* QSIZ (input) INTEGER\n* The dimension of the orthogonal matrix used to reduce\n* the full matrix to tridiagonal form. QSIZ >= N if ICOMPQ = 1.\n*\n* TLVLS (input) INTEGER\n* The total number of merging levels in the overall divide and\n* conquer tree.\n*\n* CURLVL (input) INTEGER\n* The current level in the overall merge routine,\n* 0 <= CURLVL <= TLVLS.\n*\n* CURPBM (input) INTEGER\n* The current problem in the current level in the overall\n* merge routine (counting from upper left to lower right).\n*\n* D (input/output) REAL array, dimension (N)\n* On entry, the eigenvalues of the rank-1-perturbed matrix.\n* On exit, the eigenvalues of the repaired matrix.\n*\n* Q (input/output) REAL array, dimension (LDQ, N)\n* On entry, the eigenvectors of the rank-1-perturbed matrix.\n* On exit, the eigenvectors of the repaired tridiagonal matrix.\n*\n* LDQ (input) INTEGER\n* The leading dimension of the array Q. LDQ >= max(1,N).\n*\n* INDXQ (output) INTEGER array, dimension (N)\n* The permutation which will reintegrate the subproblem just\n* solved back into sorted order, i.e., D( INDXQ( I = 1, N ) )\n* will be in ascending order.\n*\n* RHO (input) REAL\n* The subdiagonal element used to create the rank-1\n* modification.\n*\n* CUTPNT (input) INTEGER\n* Contains the location of the last eigenvalue in the leading\n* sub-matrix. min(1,N) <= CUTPNT <= N.\n*\n* QSTORE (input/output) REAL array, dimension (N**2+1)\n* Stores eigenvectors of submatrices encountered during\n* divide and conquer, packed together. QPTR points to\n* beginning of the submatrices.\n*\n* QPTR (input/output) INTEGER array, dimension (N+2)\n* List of indices pointing to beginning of submatrices stored\n* in QSTORE. The submatrices are numbered starting at the\n* bottom left of the divide and conquer tree, from left to\n* right and bottom to top.\n*\n* PRMPTR (input) INTEGER array, dimension (N lg N)\n* Contains a list of pointers which indicate where in PERM a\n* level's permutation is stored. PRMPTR(i+1) - PRMPTR(i)\n* indicates the size of the permutation and also the size of\n* the full, non-deflated problem.\n*\n* PERM (input) INTEGER array, dimension (N lg N)\n* Contains the permutations (from deflation and sorting) to be\n* applied to each eigenblock.\n*\n* GIVPTR (input) INTEGER array, dimension (N lg N)\n* Contains a list of pointers which indicate where in GIVCOL a\n* level's Givens rotations are stored. GIVPTR(i+1) - GIVPTR(i)\n* indicates the number of Givens rotations.\n*\n* GIVCOL (input) INTEGER array, dimension (2, N lg N)\n* Each pair of numbers indicates a pair of columns to take place\n* in a Givens rotation.\n*\n* GIVNUM (input) REAL array, dimension (2, N lg N)\n* Each number indicates the S value to be used in the\n* corresponding Givens rotation.\n*\n* WORK (workspace) REAL array, dimension (3*N+QSIZ*N)\n*\n* IWORK (workspace) INTEGER array, dimension (4*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 = 1, an eigenvalue did not converge\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Jeff Rutter, Computer Science Division, University of California\n* at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
64
|
-
return Qnil;
|
|
65
|
-
}
|
|
66
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
67
|
-
printf("%s\n", "USAGE:\n indxq, info, d, q, qstore, qptr = NumRu::Lapack.slaed7( icompq, qsiz, tlvls, curlvl, curpbm, d, q, rho, cutpnt, qstore, qptr, prmptr, perm, givptr, givcol, givnum, [:usage => usage, :help => help])\n");
|
|
68
|
-
return Qnil;
|
|
69
|
-
}
|
|
70
|
-
} else
|
|
71
|
-
rblapack_options = Qnil;
|
|
72
|
-
if (argc != 16 && argc != 16)
|
|
73
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 16)", argc);
|
|
74
|
-
rblapack_icompq = argv[0];
|
|
75
|
-
rblapack_qsiz = argv[1];
|
|
76
|
-
rblapack_tlvls = argv[2];
|
|
77
|
-
rblapack_curlvl = argv[3];
|
|
78
|
-
rblapack_curpbm = argv[4];
|
|
79
|
-
rblapack_d = argv[5];
|
|
80
|
-
rblapack_q = argv[6];
|
|
81
|
-
rblapack_rho = argv[7];
|
|
82
|
-
rblapack_cutpnt = argv[8];
|
|
83
|
-
rblapack_qstore = argv[9];
|
|
84
|
-
rblapack_qptr = argv[10];
|
|
85
|
-
rblapack_prmptr = argv[11];
|
|
86
|
-
rblapack_perm = argv[12];
|
|
87
|
-
rblapack_givptr = argv[13];
|
|
88
|
-
rblapack_givcol = argv[14];
|
|
89
|
-
rblapack_givnum = argv[15];
|
|
90
|
-
if (argc == 16) {
|
|
91
|
-
} else if (rblapack_options != Qnil) {
|
|
92
|
-
} else {
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
icompq = NUM2INT(rblapack_icompq);
|
|
96
|
-
tlvls = NUM2INT(rblapack_tlvls);
|
|
97
|
-
curpbm = NUM2INT(rblapack_curpbm);
|
|
98
|
-
if (!NA_IsNArray(rblapack_q))
|
|
99
|
-
rb_raise(rb_eArgError, "q (7th argument) must be NArray");
|
|
100
|
-
if (NA_RANK(rblapack_q) != 2)
|
|
101
|
-
rb_raise(rb_eArgError, "rank of q (7th argument) must be %d", 2);
|
|
102
|
-
ldq = NA_SHAPE0(rblapack_q);
|
|
103
|
-
n = NA_SHAPE1(rblapack_q);
|
|
104
|
-
if (NA_TYPE(rblapack_q) != NA_SFLOAT)
|
|
105
|
-
rblapack_q = na_change_type(rblapack_q, NA_SFLOAT);
|
|
106
|
-
q = NA_PTR_TYPE(rblapack_q, real*);
|
|
107
|
-
cutpnt = NUM2INT(rblapack_cutpnt);
|
|
108
|
-
qsiz = NUM2INT(rblapack_qsiz);
|
|
109
|
-
if (!NA_IsNArray(rblapack_d))
|
|
110
|
-
rb_raise(rb_eArgError, "d (6th argument) must be NArray");
|
|
111
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
112
|
-
rb_raise(rb_eArgError, "rank of d (6th argument) must be %d", 1);
|
|
113
|
-
if (NA_SHAPE0(rblapack_d) != n)
|
|
114
|
-
rb_raise(rb_eRuntimeError, "shape 0 of d must be the same as shape 1 of q");
|
|
115
|
-
if (NA_TYPE(rblapack_d) != NA_SFLOAT)
|
|
116
|
-
rblapack_d = na_change_type(rblapack_d, NA_SFLOAT);
|
|
117
|
-
d = NA_PTR_TYPE(rblapack_d, real*);
|
|
118
|
-
if (!NA_IsNArray(rblapack_qstore))
|
|
119
|
-
rb_raise(rb_eArgError, "qstore (10th argument) must be NArray");
|
|
120
|
-
if (NA_RANK(rblapack_qstore) != 1)
|
|
121
|
-
rb_raise(rb_eArgError, "rank of qstore (10th argument) must be %d", 1);
|
|
122
|
-
if (NA_SHAPE0(rblapack_qstore) != (pow(n,2)+1))
|
|
123
|
-
rb_raise(rb_eRuntimeError, "shape 0 of qstore must be %d", pow(n,2)+1);
|
|
124
|
-
if (NA_TYPE(rblapack_qstore) != NA_SFLOAT)
|
|
125
|
-
rblapack_qstore = na_change_type(rblapack_qstore, NA_SFLOAT);
|
|
126
|
-
qstore = NA_PTR_TYPE(rblapack_qstore, real*);
|
|
127
|
-
if (!NA_IsNArray(rblapack_prmptr))
|
|
128
|
-
rb_raise(rb_eArgError, "prmptr (12th argument) must be NArray");
|
|
129
|
-
if (NA_RANK(rblapack_prmptr) != 1)
|
|
130
|
-
rb_raise(rb_eArgError, "rank of prmptr (12th argument) must be %d", 1);
|
|
131
|
-
if (NA_SHAPE0(rblapack_prmptr) != (n*LG(n)))
|
|
132
|
-
rb_raise(rb_eRuntimeError, "shape 0 of prmptr must be %d", n*LG(n));
|
|
133
|
-
if (NA_TYPE(rblapack_prmptr) != NA_LINT)
|
|
134
|
-
rblapack_prmptr = na_change_type(rblapack_prmptr, NA_LINT);
|
|
135
|
-
prmptr = NA_PTR_TYPE(rblapack_prmptr, integer*);
|
|
136
|
-
if (!NA_IsNArray(rblapack_givptr))
|
|
137
|
-
rb_raise(rb_eArgError, "givptr (14th argument) must be NArray");
|
|
138
|
-
if (NA_RANK(rblapack_givptr) != 1)
|
|
139
|
-
rb_raise(rb_eArgError, "rank of givptr (14th argument) must be %d", 1);
|
|
140
|
-
if (NA_SHAPE0(rblapack_givptr) != (n*LG(n)))
|
|
141
|
-
rb_raise(rb_eRuntimeError, "shape 0 of givptr must be %d", n*LG(n));
|
|
142
|
-
if (NA_TYPE(rblapack_givptr) != NA_LINT)
|
|
143
|
-
rblapack_givptr = na_change_type(rblapack_givptr, NA_LINT);
|
|
144
|
-
givptr = NA_PTR_TYPE(rblapack_givptr, integer*);
|
|
145
|
-
if (!NA_IsNArray(rblapack_givnum))
|
|
146
|
-
rb_raise(rb_eArgError, "givnum (16th argument) must be NArray");
|
|
147
|
-
if (NA_RANK(rblapack_givnum) != 2)
|
|
148
|
-
rb_raise(rb_eArgError, "rank of givnum (16th argument) must be %d", 2);
|
|
149
|
-
if (NA_SHAPE0(rblapack_givnum) != (2))
|
|
150
|
-
rb_raise(rb_eRuntimeError, "shape 0 of givnum must be %d", 2);
|
|
151
|
-
if (NA_SHAPE1(rblapack_givnum) != (n*LG(n)))
|
|
152
|
-
rb_raise(rb_eRuntimeError, "shape 1 of givnum must be %d", n*LG(n));
|
|
153
|
-
if (NA_TYPE(rblapack_givnum) != NA_SFLOAT)
|
|
154
|
-
rblapack_givnum = na_change_type(rblapack_givnum, NA_SFLOAT);
|
|
155
|
-
givnum = NA_PTR_TYPE(rblapack_givnum, real*);
|
|
156
|
-
curlvl = NUM2INT(rblapack_curlvl);
|
|
157
|
-
if (!NA_IsNArray(rblapack_qptr))
|
|
158
|
-
rb_raise(rb_eArgError, "qptr (11th argument) must be NArray");
|
|
159
|
-
if (NA_RANK(rblapack_qptr) != 1)
|
|
160
|
-
rb_raise(rb_eArgError, "rank of qptr (11th argument) must be %d", 1);
|
|
161
|
-
if (NA_SHAPE0(rblapack_qptr) != (n+2))
|
|
162
|
-
rb_raise(rb_eRuntimeError, "shape 0 of qptr must be %d", n+2);
|
|
163
|
-
if (NA_TYPE(rblapack_qptr) != NA_LINT)
|
|
164
|
-
rblapack_qptr = na_change_type(rblapack_qptr, NA_LINT);
|
|
165
|
-
qptr = NA_PTR_TYPE(rblapack_qptr, integer*);
|
|
166
|
-
if (!NA_IsNArray(rblapack_givcol))
|
|
167
|
-
rb_raise(rb_eArgError, "givcol (15th argument) must be NArray");
|
|
168
|
-
if (NA_RANK(rblapack_givcol) != 2)
|
|
169
|
-
rb_raise(rb_eArgError, "rank of givcol (15th argument) must be %d", 2);
|
|
170
|
-
if (NA_SHAPE0(rblapack_givcol) != (2))
|
|
171
|
-
rb_raise(rb_eRuntimeError, "shape 0 of givcol must be %d", 2);
|
|
172
|
-
if (NA_SHAPE1(rblapack_givcol) != (n*LG(n)))
|
|
173
|
-
rb_raise(rb_eRuntimeError, "shape 1 of givcol must be %d", n*LG(n));
|
|
174
|
-
if (NA_TYPE(rblapack_givcol) != NA_LINT)
|
|
175
|
-
rblapack_givcol = na_change_type(rblapack_givcol, NA_LINT);
|
|
176
|
-
givcol = NA_PTR_TYPE(rblapack_givcol, integer*);
|
|
177
|
-
rho = (real)NUM2DBL(rblapack_rho);
|
|
178
|
-
if (!NA_IsNArray(rblapack_perm))
|
|
179
|
-
rb_raise(rb_eArgError, "perm (13th argument) must be NArray");
|
|
180
|
-
if (NA_RANK(rblapack_perm) != 1)
|
|
181
|
-
rb_raise(rb_eArgError, "rank of perm (13th argument) must be %d", 1);
|
|
182
|
-
if (NA_SHAPE0(rblapack_perm) != (n*LG(n)))
|
|
183
|
-
rb_raise(rb_eRuntimeError, "shape 0 of perm must be %d", n*LG(n));
|
|
184
|
-
if (NA_TYPE(rblapack_perm) != NA_LINT)
|
|
185
|
-
rblapack_perm = na_change_type(rblapack_perm, NA_LINT);
|
|
186
|
-
perm = NA_PTR_TYPE(rblapack_perm, integer*);
|
|
187
|
-
{
|
|
188
|
-
int shape[1];
|
|
189
|
-
shape[0] = n;
|
|
190
|
-
rblapack_indxq = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
191
|
-
}
|
|
192
|
-
indxq = NA_PTR_TYPE(rblapack_indxq, integer*);
|
|
193
|
-
{
|
|
194
|
-
int shape[1];
|
|
195
|
-
shape[0] = n;
|
|
196
|
-
rblapack_d_out__ = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
197
|
-
}
|
|
198
|
-
d_out__ = NA_PTR_TYPE(rblapack_d_out__, real*);
|
|
199
|
-
MEMCPY(d_out__, d, real, NA_TOTAL(rblapack_d));
|
|
200
|
-
rblapack_d = rblapack_d_out__;
|
|
201
|
-
d = d_out__;
|
|
202
|
-
{
|
|
203
|
-
int shape[2];
|
|
204
|
-
shape[0] = ldq;
|
|
205
|
-
shape[1] = n;
|
|
206
|
-
rblapack_q_out__ = na_make_object(NA_SFLOAT, 2, shape, cNArray);
|
|
207
|
-
}
|
|
208
|
-
q_out__ = NA_PTR_TYPE(rblapack_q_out__, real*);
|
|
209
|
-
MEMCPY(q_out__, q, real, NA_TOTAL(rblapack_q));
|
|
210
|
-
rblapack_q = rblapack_q_out__;
|
|
211
|
-
q = q_out__;
|
|
212
|
-
{
|
|
213
|
-
int shape[1];
|
|
214
|
-
shape[0] = pow(n,2)+1;
|
|
215
|
-
rblapack_qstore_out__ = na_make_object(NA_SFLOAT, 1, shape, cNArray);
|
|
216
|
-
}
|
|
217
|
-
qstore_out__ = NA_PTR_TYPE(rblapack_qstore_out__, real*);
|
|
218
|
-
MEMCPY(qstore_out__, qstore, real, NA_TOTAL(rblapack_qstore));
|
|
219
|
-
rblapack_qstore = rblapack_qstore_out__;
|
|
220
|
-
qstore = qstore_out__;
|
|
221
|
-
{
|
|
222
|
-
int shape[1];
|
|
223
|
-
shape[0] = n+2;
|
|
224
|
-
rblapack_qptr_out__ = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
225
|
-
}
|
|
226
|
-
qptr_out__ = NA_PTR_TYPE(rblapack_qptr_out__, integer*);
|
|
227
|
-
MEMCPY(qptr_out__, qptr, integer, NA_TOTAL(rblapack_qptr));
|
|
228
|
-
rblapack_qptr = rblapack_qptr_out__;
|
|
229
|
-
qptr = qptr_out__;
|
|
230
|
-
work = ALLOC_N(real, (3*n+qsiz*n));
|
|
231
|
-
iwork = ALLOC_N(integer, (4*n));
|
|
232
|
-
|
|
233
|
-
slaed7_(&icompq, &n, &qsiz, &tlvls, &curlvl, &curpbm, d, q, &ldq, indxq, &rho, &cutpnt, qstore, qptr, prmptr, perm, givptr, givcol, givnum, work, iwork, &info);
|
|
234
|
-
|
|
235
|
-
free(work);
|
|
236
|
-
free(iwork);
|
|
237
|
-
rblapack_info = INT2NUM(info);
|
|
238
|
-
return rb_ary_new3(6, rblapack_indxq, rblapack_info, rblapack_d, rblapack_q, rblapack_qstore, rblapack_qptr);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
void
|
|
242
|
-
init_lapack_slaed7(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
243
|
-
sHelp = sH;
|
|
244
|
-
sUsage = sU;
|
|
245
|
-
rblapack_ZERO = zero;
|
|
246
|
-
|
|
247
|
-
rb_define_module_function(mLapack, "slaed7", rblapack_slaed7, -1);
|
|
248
|
-
}
|