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/dlasd8.c
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dlasd8_(integer* icompq, integer* k, doublereal* d, doublereal* z, doublereal* vf, doublereal* vl, doublereal* difl, doublereal* difr, integer* lddifr, doublereal* dsigma, doublereal* work, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dlasd8(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_icompq;
|
|
9
|
-
integer icompq;
|
|
10
|
-
VALUE rblapack_z;
|
|
11
|
-
doublereal *z;
|
|
12
|
-
VALUE rblapack_vf;
|
|
13
|
-
doublereal *vf;
|
|
14
|
-
VALUE rblapack_vl;
|
|
15
|
-
doublereal *vl;
|
|
16
|
-
VALUE rblapack_dsigma;
|
|
17
|
-
doublereal *dsigma;
|
|
18
|
-
VALUE rblapack_d;
|
|
19
|
-
doublereal *d;
|
|
20
|
-
VALUE rblapack_difl;
|
|
21
|
-
doublereal *difl;
|
|
22
|
-
VALUE rblapack_difr;
|
|
23
|
-
doublereal *difr;
|
|
24
|
-
VALUE rblapack_info;
|
|
25
|
-
integer info;
|
|
26
|
-
VALUE rblapack_z_out__;
|
|
27
|
-
doublereal *z_out__;
|
|
28
|
-
VALUE rblapack_vf_out__;
|
|
29
|
-
doublereal *vf_out__;
|
|
30
|
-
VALUE rblapack_vl_out__;
|
|
31
|
-
doublereal *vl_out__;
|
|
32
|
-
VALUE rblapack_dsigma_out__;
|
|
33
|
-
doublereal *dsigma_out__;
|
|
34
|
-
doublereal *work;
|
|
35
|
-
|
|
36
|
-
integer k;
|
|
37
|
-
integer lddifr;
|
|
38
|
-
|
|
39
|
-
VALUE rblapack_options;
|
|
40
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
41
|
-
argc--;
|
|
42
|
-
rblapack_options = argv[argc];
|
|
43
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
44
|
-
printf("%s\n", "USAGE:\n d, difl, difr, info, z, vf, vl, dsigma = NumRu::Lapack.dlasd8( icompq, z, vf, vl, dsigma, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDDIFR, DSIGMA, WORK, INFO )\n\n* Purpose\n* =======\n*\n* DLASD8 finds the square roots of the roots of the secular equation,\n* as defined by the values in DSIGMA and Z. It makes the appropriate\n* calls to DLASD4, and stores, for each element in D, the distance\n* to its two nearest poles (elements in DSIGMA). It also updates\n* the arrays VF and VL, the first and last components of all the\n* right singular vectors of the original bidiagonal matrix.\n*\n* DLASD8 is called from DLASD6.\n*\n\n* Arguments\n* =========\n*\n* ICOMPQ (input) INTEGER\n* Specifies whether singular vectors are to be computed in\n* factored form in the calling routine:\n* = 0: Compute singular values only.\n* = 1: Compute singular vectors in factored form as well.\n*\n* K (input) INTEGER\n* The number of terms in the rational function to be solved\n* by DLASD4. K >= 1.\n*\n* D (output) DOUBLE PRECISION array, dimension ( K )\n* On output, D contains the updated singular values.\n*\n* Z (input/output) DOUBLE PRECISION array, dimension ( K )\n* On entry, the first K elements of this array contain the\n* components of the deflation-adjusted updating row vector.\n* On exit, Z is updated.\n*\n* VF (input/output) DOUBLE PRECISION array, dimension ( K )\n* On entry, VF contains information passed through DBEDE8.\n* On exit, VF contains the first K components of the first\n* components of all right singular vectors of the bidiagonal\n* matrix.\n*\n* VL (input/output) DOUBLE PRECISION array, dimension ( K )\n* On entry, VL contains information passed through DBEDE8.\n* On exit, VL contains the first K components of the last\n* components of all right singular vectors of the bidiagonal\n* matrix.\n*\n* DIFL (output) DOUBLE PRECISION array, dimension ( K )\n* On exit, DIFL(I) = D(I) - DSIGMA(I).\n*\n* DIFR (output) DOUBLE PRECISION array,\n* dimension ( LDDIFR, 2 ) if ICOMPQ = 1 and\n* dimension ( K ) if ICOMPQ = 0.\n* On exit, DIFR(I,1) = D(I) - DSIGMA(I+1), DIFR(K,1) is not\n* defined and will not be referenced.\n*\n* If ICOMPQ = 1, DIFR(1:K,2) is an array containing the\n* normalizing factors for the right singular vector matrix.\n*\n* LDDIFR (input) INTEGER\n* The leading dimension of DIFR, must be at least K.\n*\n* DSIGMA (input/output) DOUBLE PRECISION array, dimension ( K )\n* On entry, the first K elements of this array contain the old\n* roots of the deflated updating problem. These are the poles\n* of the secular equation.\n* On exit, the elements of DSIGMA may be very slightly altered\n* in value.\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension at least 3 * 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, a singular value did not converge\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Ming Gu and Huan Ren, Computer Science Division, University of\n* California at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
45
|
-
return Qnil;
|
|
46
|
-
}
|
|
47
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
48
|
-
printf("%s\n", "USAGE:\n d, difl, difr, info, z, vf, vl, dsigma = NumRu::Lapack.dlasd8( icompq, z, vf, vl, dsigma, [:usage => usage, :help => help])\n");
|
|
49
|
-
return Qnil;
|
|
50
|
-
}
|
|
51
|
-
} else
|
|
52
|
-
rblapack_options = Qnil;
|
|
53
|
-
if (argc != 5 && argc != 5)
|
|
54
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 5)", argc);
|
|
55
|
-
rblapack_icompq = argv[0];
|
|
56
|
-
rblapack_z = argv[1];
|
|
57
|
-
rblapack_vf = argv[2];
|
|
58
|
-
rblapack_vl = argv[3];
|
|
59
|
-
rblapack_dsigma = argv[4];
|
|
60
|
-
if (argc == 5) {
|
|
61
|
-
} else if (rblapack_options != Qnil) {
|
|
62
|
-
} else {
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
icompq = NUM2INT(rblapack_icompq);
|
|
66
|
-
if (!NA_IsNArray(rblapack_vf))
|
|
67
|
-
rb_raise(rb_eArgError, "vf (3th argument) must be NArray");
|
|
68
|
-
if (NA_RANK(rblapack_vf) != 1)
|
|
69
|
-
rb_raise(rb_eArgError, "rank of vf (3th argument) must be %d", 1);
|
|
70
|
-
k = NA_SHAPE0(rblapack_vf);
|
|
71
|
-
if (NA_TYPE(rblapack_vf) != NA_DFLOAT)
|
|
72
|
-
rblapack_vf = na_change_type(rblapack_vf, NA_DFLOAT);
|
|
73
|
-
vf = NA_PTR_TYPE(rblapack_vf, doublereal*);
|
|
74
|
-
if (!NA_IsNArray(rblapack_dsigma))
|
|
75
|
-
rb_raise(rb_eArgError, "dsigma (5th argument) must be NArray");
|
|
76
|
-
if (NA_RANK(rblapack_dsigma) != 1)
|
|
77
|
-
rb_raise(rb_eArgError, "rank of dsigma (5th argument) must be %d", 1);
|
|
78
|
-
if (NA_SHAPE0(rblapack_dsigma) != k)
|
|
79
|
-
rb_raise(rb_eRuntimeError, "shape 0 of dsigma must be the same as shape 0 of vf");
|
|
80
|
-
if (NA_TYPE(rblapack_dsigma) != NA_DFLOAT)
|
|
81
|
-
rblapack_dsigma = na_change_type(rblapack_dsigma, NA_DFLOAT);
|
|
82
|
-
dsigma = NA_PTR_TYPE(rblapack_dsigma, doublereal*);
|
|
83
|
-
if (!NA_IsNArray(rblapack_z))
|
|
84
|
-
rb_raise(rb_eArgError, "z (2th argument) must be NArray");
|
|
85
|
-
if (NA_RANK(rblapack_z) != 1)
|
|
86
|
-
rb_raise(rb_eArgError, "rank of z (2th argument) must be %d", 1);
|
|
87
|
-
if (NA_SHAPE0(rblapack_z) != k)
|
|
88
|
-
rb_raise(rb_eRuntimeError, "shape 0 of z must be the same as shape 0 of vf");
|
|
89
|
-
if (NA_TYPE(rblapack_z) != NA_DFLOAT)
|
|
90
|
-
rblapack_z = na_change_type(rblapack_z, NA_DFLOAT);
|
|
91
|
-
z = NA_PTR_TYPE(rblapack_z, doublereal*);
|
|
92
|
-
if (!NA_IsNArray(rblapack_vl))
|
|
93
|
-
rb_raise(rb_eArgError, "vl (4th argument) must be NArray");
|
|
94
|
-
if (NA_RANK(rblapack_vl) != 1)
|
|
95
|
-
rb_raise(rb_eArgError, "rank of vl (4th argument) must be %d", 1);
|
|
96
|
-
if (NA_SHAPE0(rblapack_vl) != k)
|
|
97
|
-
rb_raise(rb_eRuntimeError, "shape 0 of vl must be the same as shape 0 of vf");
|
|
98
|
-
if (NA_TYPE(rblapack_vl) != NA_DFLOAT)
|
|
99
|
-
rblapack_vl = na_change_type(rblapack_vl, NA_DFLOAT);
|
|
100
|
-
vl = NA_PTR_TYPE(rblapack_vl, doublereal*);
|
|
101
|
-
lddifr = k;
|
|
102
|
-
{
|
|
103
|
-
int shape[1];
|
|
104
|
-
shape[0] = k;
|
|
105
|
-
rblapack_d = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
106
|
-
}
|
|
107
|
-
d = NA_PTR_TYPE(rblapack_d, doublereal*);
|
|
108
|
-
{
|
|
109
|
-
int shape[1];
|
|
110
|
-
shape[0] = k;
|
|
111
|
-
rblapack_difl = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
112
|
-
}
|
|
113
|
-
difl = NA_PTR_TYPE(rblapack_difl, doublereal*);
|
|
114
|
-
{
|
|
115
|
-
int shape[2];
|
|
116
|
-
shape[0] = icompq == 1 ? lddifr : icompq == 0 ? k : 0;
|
|
117
|
-
shape[1] = icompq == 1 ? 2 : 0;
|
|
118
|
-
rblapack_difr = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
119
|
-
}
|
|
120
|
-
difr = NA_PTR_TYPE(rblapack_difr, doublereal*);
|
|
121
|
-
{
|
|
122
|
-
int shape[1];
|
|
123
|
-
shape[0] = k;
|
|
124
|
-
rblapack_z_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
125
|
-
}
|
|
126
|
-
z_out__ = NA_PTR_TYPE(rblapack_z_out__, doublereal*);
|
|
127
|
-
MEMCPY(z_out__, z, doublereal, NA_TOTAL(rblapack_z));
|
|
128
|
-
rblapack_z = rblapack_z_out__;
|
|
129
|
-
z = z_out__;
|
|
130
|
-
{
|
|
131
|
-
int shape[1];
|
|
132
|
-
shape[0] = k;
|
|
133
|
-
rblapack_vf_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
134
|
-
}
|
|
135
|
-
vf_out__ = NA_PTR_TYPE(rblapack_vf_out__, doublereal*);
|
|
136
|
-
MEMCPY(vf_out__, vf, doublereal, NA_TOTAL(rblapack_vf));
|
|
137
|
-
rblapack_vf = rblapack_vf_out__;
|
|
138
|
-
vf = vf_out__;
|
|
139
|
-
{
|
|
140
|
-
int shape[1];
|
|
141
|
-
shape[0] = k;
|
|
142
|
-
rblapack_vl_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
143
|
-
}
|
|
144
|
-
vl_out__ = NA_PTR_TYPE(rblapack_vl_out__, doublereal*);
|
|
145
|
-
MEMCPY(vl_out__, vl, doublereal, NA_TOTAL(rblapack_vl));
|
|
146
|
-
rblapack_vl = rblapack_vl_out__;
|
|
147
|
-
vl = vl_out__;
|
|
148
|
-
{
|
|
149
|
-
int shape[1];
|
|
150
|
-
shape[0] = k;
|
|
151
|
-
rblapack_dsigma_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
152
|
-
}
|
|
153
|
-
dsigma_out__ = NA_PTR_TYPE(rblapack_dsigma_out__, doublereal*);
|
|
154
|
-
MEMCPY(dsigma_out__, dsigma, doublereal, NA_TOTAL(rblapack_dsigma));
|
|
155
|
-
rblapack_dsigma = rblapack_dsigma_out__;
|
|
156
|
-
dsigma = dsigma_out__;
|
|
157
|
-
work = ALLOC_N(doublereal, (3 * k));
|
|
158
|
-
|
|
159
|
-
dlasd8_(&icompq, &k, d, z, vf, vl, difl, difr, &lddifr, dsigma, work, &info);
|
|
160
|
-
|
|
161
|
-
free(work);
|
|
162
|
-
rblapack_info = INT2NUM(info);
|
|
163
|
-
return rb_ary_new3(8, rblapack_d, rblapack_difl, rblapack_difr, rblapack_info, rblapack_z, rblapack_vf, rblapack_vl, rblapack_dsigma);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
void
|
|
167
|
-
init_lapack_dlasd8(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
168
|
-
sHelp = sH;
|
|
169
|
-
sUsage = sU;
|
|
170
|
-
rblapack_ZERO = zero;
|
|
171
|
-
|
|
172
|
-
rb_define_module_function(mLapack, "dlasd8", rblapack_dlasd8, -1);
|
|
173
|
-
}
|
data/ext/dlasda.c
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dlasda_(integer* icompq, integer* smlsiz, integer* n, integer* sqre, doublereal* d, doublereal* e, doublereal* u, integer* ldu, doublereal* vt, integer* k, doublereal* difl, doublereal* difr, doublereal* z, doublereal* poles, integer* givptr, integer* givcol, integer* ldgcol, integer* perm, doublereal* givnum, doublereal* c, doublereal* s, doublereal* work, integer* iwork, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dlasda(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_icompq;
|
|
9
|
-
integer icompq;
|
|
10
|
-
VALUE rblapack_smlsiz;
|
|
11
|
-
integer smlsiz;
|
|
12
|
-
VALUE rblapack_sqre;
|
|
13
|
-
integer sqre;
|
|
14
|
-
VALUE rblapack_d;
|
|
15
|
-
doublereal *d;
|
|
16
|
-
VALUE rblapack_e;
|
|
17
|
-
doublereal *e;
|
|
18
|
-
VALUE rblapack_u;
|
|
19
|
-
doublereal *u;
|
|
20
|
-
VALUE rblapack_vt;
|
|
21
|
-
doublereal *vt;
|
|
22
|
-
VALUE rblapack_k;
|
|
23
|
-
integer *k;
|
|
24
|
-
VALUE rblapack_difl;
|
|
25
|
-
doublereal *difl;
|
|
26
|
-
VALUE rblapack_difr;
|
|
27
|
-
doublereal *difr;
|
|
28
|
-
VALUE rblapack_z;
|
|
29
|
-
doublereal *z;
|
|
30
|
-
VALUE rblapack_poles;
|
|
31
|
-
doublereal *poles;
|
|
32
|
-
VALUE rblapack_givptr;
|
|
33
|
-
integer *givptr;
|
|
34
|
-
VALUE rblapack_givcol;
|
|
35
|
-
integer *givcol;
|
|
36
|
-
VALUE rblapack_perm;
|
|
37
|
-
integer *perm;
|
|
38
|
-
VALUE rblapack_givnum;
|
|
39
|
-
doublereal *givnum;
|
|
40
|
-
VALUE rblapack_c;
|
|
41
|
-
doublereal *c;
|
|
42
|
-
VALUE rblapack_s;
|
|
43
|
-
doublereal *s;
|
|
44
|
-
VALUE rblapack_info;
|
|
45
|
-
integer info;
|
|
46
|
-
VALUE rblapack_d_out__;
|
|
47
|
-
doublereal *d_out__;
|
|
48
|
-
doublereal *work;
|
|
49
|
-
integer *iwork;
|
|
50
|
-
|
|
51
|
-
integer n;
|
|
52
|
-
integer ldu;
|
|
53
|
-
integer nlvl;
|
|
54
|
-
integer ldgcol;
|
|
55
|
-
integer m;
|
|
56
|
-
|
|
57
|
-
VALUE rblapack_options;
|
|
58
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
59
|
-
argc--;
|
|
60
|
-
rblapack_options = argv[argc];
|
|
61
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
62
|
-
printf("%s\n", "USAGE:\n u, vt, k, difl, difr, z, poles, givptr, givcol, perm, givnum, c, s, info, d = NumRu::Lapack.dlasda( icompq, smlsiz, sqre, d, e, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DLASDA( ICOMPQ, SMLSIZ, N, SQRE, D, E, U, LDU, VT, K, DIFL, DIFR, Z, POLES, GIVPTR, GIVCOL, LDGCOL, PERM, GIVNUM, C, S, WORK, IWORK, INFO )\n\n* Purpose\n* =======\n*\n* Using a divide and conquer approach, DLASDA computes the singular\n* value decomposition (SVD) of a real upper bidiagonal N-by-M matrix\n* B with diagonal D and offdiagonal E, where M = N + SQRE. The\n* algorithm computes the singular values in the SVD B = U * S * VT.\n* The orthogonal matrices U and VT are optionally computed in\n* compact form.\n*\n* A related subroutine, DLASD0, computes the singular values and\n* the singular vectors in explicit form.\n*\n\n* Arguments\n* =========\n*\n* ICOMPQ (input) INTEGER\n* Specifies whether singular vectors are to be computed\n* in compact form, as follows\n* = 0: Compute singular values only.\n* = 1: Compute singular vectors of upper bidiagonal\n* matrix in compact form.\n*\n* SMLSIZ (input) INTEGER\n* The maximum size of the subproblems at the bottom of the\n* computation tree.\n*\n* N (input) INTEGER\n* The row dimension of the upper bidiagonal matrix. This is\n* also the dimension of the main diagonal array D.\n*\n* SQRE (input) INTEGER\n* Specifies the column dimension of the bidiagonal matrix.\n* = 0: The bidiagonal matrix has column dimension M = N;\n* = 1: The bidiagonal matrix has column dimension M = N + 1.\n*\n* D (input/output) DOUBLE PRECISION array, dimension ( N )\n* On entry D contains the main diagonal of the bidiagonal\n* matrix. On exit D, if INFO = 0, contains its singular values.\n*\n* E (input) DOUBLE PRECISION array, dimension ( M-1 )\n* Contains the subdiagonal entries of the bidiagonal matrix.\n* On exit, E has been destroyed.\n*\n* U (output) DOUBLE PRECISION array,\n* dimension ( LDU, SMLSIZ ) if ICOMPQ = 1, and not referenced\n* if ICOMPQ = 0. If ICOMPQ = 1, on exit, U contains the left\n* singular vector matrices of all subproblems at the bottom\n* level.\n*\n* LDU (input) INTEGER, LDU = > N.\n* The leading dimension of arrays U, VT, DIFL, DIFR, POLES,\n* GIVNUM, and Z.\n*\n* VT (output) DOUBLE PRECISION array,\n* dimension ( LDU, SMLSIZ+1 ) if ICOMPQ = 1, and not referenced\n* if ICOMPQ = 0. If ICOMPQ = 1, on exit, VT' contains the right\n* singular vector matrices of all subproblems at the bottom\n* level.\n*\n* K (output) INTEGER array,\n* dimension ( N ) if ICOMPQ = 1 and dimension 1 if ICOMPQ = 0.\n* If ICOMPQ = 1, on exit, K(I) is the dimension of the I-th\n* secular equation on the computation tree.\n*\n* DIFL (output) DOUBLE PRECISION array, dimension ( LDU, NLVL ),\n* where NLVL = floor(log_2 (N/SMLSIZ))).\n*\n* DIFR (output) DOUBLE PRECISION array,\n* dimension ( LDU, 2 * NLVL ) if ICOMPQ = 1 and\n* dimension ( N ) if ICOMPQ = 0.\n* If ICOMPQ = 1, on exit, DIFL(1:N, I) and DIFR(1:N, 2 * I - 1)\n* record distances between singular values on the I-th\n* level and singular values on the (I -1)-th level, and\n* DIFR(1:N, 2 * I ) contains the normalizing factors for\n* the right singular vector matrix. See DLASD8 for details.\n*\n* Z (output) DOUBLE PRECISION array,\n* dimension ( LDU, NLVL ) if ICOMPQ = 1 and\n* dimension ( N ) if ICOMPQ = 0.\n* The first K elements of Z(1, I) contain the components of\n* the deflation-adjusted updating row vector for subproblems\n* on the I-th level.\n*\n* POLES (output) DOUBLE PRECISION array,\n* dimension ( LDU, 2 * NLVL ) if ICOMPQ = 1, and not referenced\n* if ICOMPQ = 0. If ICOMPQ = 1, on exit, POLES(1, 2*I - 1) and\n* POLES(1, 2*I) contain the new and old singular values\n* involved in the secular equations on the I-th level.\n*\n* GIVPTR (output) INTEGER array,\n* dimension ( N ) if ICOMPQ = 1, and not referenced if\n* ICOMPQ = 0. If ICOMPQ = 1, on exit, GIVPTR( I ) records\n* the number of Givens rotations performed on the I-th\n* problem on the computation tree.\n*\n* GIVCOL (output) INTEGER array,\n* dimension ( LDGCOL, 2 * NLVL ) if ICOMPQ = 1, and not\n* referenced if ICOMPQ = 0. If ICOMPQ = 1, on exit, for each I,\n* GIVCOL(1, 2 *I - 1) and GIVCOL(1, 2 *I) record the locations\n* of Givens rotations performed on the I-th level on the\n* computation tree.\n*\n* LDGCOL (input) INTEGER, LDGCOL = > N.\n* The leading dimension of arrays GIVCOL and PERM.\n*\n* PERM (output) INTEGER array,\n* dimension ( LDGCOL, NLVL ) if ICOMPQ = 1, and not referenced\n* if ICOMPQ = 0. If ICOMPQ = 1, on exit, PERM(1, I) records\n* permutations done on the I-th level of the computation tree.\n*\n* GIVNUM (output) DOUBLE PRECISION array,\n* dimension ( LDU, 2 * NLVL ) if ICOMPQ = 1, and not\n* referenced if ICOMPQ = 0. If ICOMPQ = 1, on exit, for each I,\n* GIVNUM(1, 2 *I - 1) and GIVNUM(1, 2 *I) record the C- and S-\n* values of Givens rotations performed on the I-th level on\n* the computation tree.\n*\n* C (output) DOUBLE PRECISION array,\n* dimension ( N ) if ICOMPQ = 1, and dimension 1 if ICOMPQ = 0.\n* If ICOMPQ = 1 and the I-th subproblem is not square, on exit,\n* C( I ) contains the C-value of a Givens rotation related to\n* the right null space of the I-th subproblem.\n*\n* S (output) DOUBLE PRECISION array, dimension ( N ) if\n* ICOMPQ = 1, and dimension 1 if ICOMPQ = 0. If ICOMPQ = 1\n* and the I-th subproblem is not square, on exit, S( I )\n* contains the S-value of a Givens rotation related to\n* the right null space of the I-th subproblem.\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension\n* (6 * N + (SMLSIZ + 1)*(SMLSIZ + 1)).\n*\n* IWORK (workspace) INTEGER array.\n* Dimension must be at least (7 * 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, a singular value did not converge\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Ming Gu and Huan Ren, Computer Science Division, University of\n* California at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
63
|
-
return Qnil;
|
|
64
|
-
}
|
|
65
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
66
|
-
printf("%s\n", "USAGE:\n u, vt, k, difl, difr, z, poles, givptr, givcol, perm, givnum, c, s, info, d = NumRu::Lapack.dlasda( icompq, smlsiz, sqre, d, e, [:usage => usage, :help => help])\n");
|
|
67
|
-
return Qnil;
|
|
68
|
-
}
|
|
69
|
-
} else
|
|
70
|
-
rblapack_options = Qnil;
|
|
71
|
-
if (argc != 5 && argc != 5)
|
|
72
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 5)", argc);
|
|
73
|
-
rblapack_icompq = argv[0];
|
|
74
|
-
rblapack_smlsiz = argv[1];
|
|
75
|
-
rblapack_sqre = argv[2];
|
|
76
|
-
rblapack_d = argv[3];
|
|
77
|
-
rblapack_e = argv[4];
|
|
78
|
-
if (argc == 5) {
|
|
79
|
-
} else if (rblapack_options != Qnil) {
|
|
80
|
-
} else {
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
icompq = NUM2INT(rblapack_icompq);
|
|
84
|
-
sqre = NUM2INT(rblapack_sqre);
|
|
85
|
-
smlsiz = NUM2INT(rblapack_smlsiz);
|
|
86
|
-
if (!NA_IsNArray(rblapack_d))
|
|
87
|
-
rb_raise(rb_eArgError, "d (4th argument) must be NArray");
|
|
88
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
89
|
-
rb_raise(rb_eArgError, "rank of d (4th argument) must be %d", 1);
|
|
90
|
-
n = NA_SHAPE0(rblapack_d);
|
|
91
|
-
if (NA_TYPE(rblapack_d) != NA_DFLOAT)
|
|
92
|
-
rblapack_d = na_change_type(rblapack_d, NA_DFLOAT);
|
|
93
|
-
d = NA_PTR_TYPE(rblapack_d, doublereal*);
|
|
94
|
-
m = sqre == 0 ? n : sqre == 1 ? n+1 : 0;
|
|
95
|
-
nlvl = floor(1.0/log(2.0)*log((double)n/smlsiz));
|
|
96
|
-
if (!NA_IsNArray(rblapack_e))
|
|
97
|
-
rb_raise(rb_eArgError, "e (5th argument) must be NArray");
|
|
98
|
-
if (NA_RANK(rblapack_e) != 1)
|
|
99
|
-
rb_raise(rb_eArgError, "rank of e (5th argument) must be %d", 1);
|
|
100
|
-
if (NA_SHAPE0(rblapack_e) != (m-1))
|
|
101
|
-
rb_raise(rb_eRuntimeError, "shape 0 of e must be %d", m-1);
|
|
102
|
-
if (NA_TYPE(rblapack_e) != NA_DFLOAT)
|
|
103
|
-
rblapack_e = na_change_type(rblapack_e, NA_DFLOAT);
|
|
104
|
-
e = NA_PTR_TYPE(rblapack_e, doublereal*);
|
|
105
|
-
ldgcol = n;
|
|
106
|
-
ldu = n;
|
|
107
|
-
{
|
|
108
|
-
int shape[2];
|
|
109
|
-
shape[0] = ldu;
|
|
110
|
-
shape[1] = MAX(1,smlsiz);
|
|
111
|
-
rblapack_u = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
112
|
-
}
|
|
113
|
-
u = NA_PTR_TYPE(rblapack_u, doublereal*);
|
|
114
|
-
{
|
|
115
|
-
int shape[2];
|
|
116
|
-
shape[0] = ldu;
|
|
117
|
-
shape[1] = smlsiz+1;
|
|
118
|
-
rblapack_vt = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
119
|
-
}
|
|
120
|
-
vt = NA_PTR_TYPE(rblapack_vt, doublereal*);
|
|
121
|
-
{
|
|
122
|
-
int shape[1];
|
|
123
|
-
shape[0] = icompq == 1 ? n : icompq == 0 ? 1 : 0;
|
|
124
|
-
rblapack_k = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
125
|
-
}
|
|
126
|
-
k = NA_PTR_TYPE(rblapack_k, integer*);
|
|
127
|
-
{
|
|
128
|
-
int shape[2];
|
|
129
|
-
shape[0] = ldu;
|
|
130
|
-
shape[1] = nlvl;
|
|
131
|
-
rblapack_difl = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
132
|
-
}
|
|
133
|
-
difl = NA_PTR_TYPE(rblapack_difl, doublereal*);
|
|
134
|
-
{
|
|
135
|
-
int shape[2];
|
|
136
|
-
shape[0] = icompq == 1 ? ldu : icompq == 0 ? n : 0;
|
|
137
|
-
shape[1] = icompq == 1 ? 2 * nlvl : 0;
|
|
138
|
-
rblapack_difr = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
139
|
-
}
|
|
140
|
-
difr = NA_PTR_TYPE(rblapack_difr, doublereal*);
|
|
141
|
-
{
|
|
142
|
-
int shape[2];
|
|
143
|
-
shape[0] = icompq == 1 ? ldu : icompq == 0 ? n : 0;
|
|
144
|
-
shape[1] = icompq == 1 ? nlvl : 0;
|
|
145
|
-
rblapack_z = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
146
|
-
}
|
|
147
|
-
z = NA_PTR_TYPE(rblapack_z, doublereal*);
|
|
148
|
-
{
|
|
149
|
-
int shape[2];
|
|
150
|
-
shape[0] = ldu;
|
|
151
|
-
shape[1] = 2 * nlvl;
|
|
152
|
-
rblapack_poles = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
153
|
-
}
|
|
154
|
-
poles = NA_PTR_TYPE(rblapack_poles, doublereal*);
|
|
155
|
-
{
|
|
156
|
-
int shape[1];
|
|
157
|
-
shape[0] = n;
|
|
158
|
-
rblapack_givptr = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
159
|
-
}
|
|
160
|
-
givptr = NA_PTR_TYPE(rblapack_givptr, integer*);
|
|
161
|
-
{
|
|
162
|
-
int shape[2];
|
|
163
|
-
shape[0] = ldgcol;
|
|
164
|
-
shape[1] = 2 * nlvl;
|
|
165
|
-
rblapack_givcol = na_make_object(NA_LINT, 2, shape, cNArray);
|
|
166
|
-
}
|
|
167
|
-
givcol = NA_PTR_TYPE(rblapack_givcol, integer*);
|
|
168
|
-
{
|
|
169
|
-
int shape[2];
|
|
170
|
-
shape[0] = ldgcol;
|
|
171
|
-
shape[1] = nlvl;
|
|
172
|
-
rblapack_perm = na_make_object(NA_LINT, 2, shape, cNArray);
|
|
173
|
-
}
|
|
174
|
-
perm = NA_PTR_TYPE(rblapack_perm, integer*);
|
|
175
|
-
{
|
|
176
|
-
int shape[2];
|
|
177
|
-
shape[0] = ldu;
|
|
178
|
-
shape[1] = 2 * nlvl;
|
|
179
|
-
rblapack_givnum = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
180
|
-
}
|
|
181
|
-
givnum = NA_PTR_TYPE(rblapack_givnum, doublereal*);
|
|
182
|
-
{
|
|
183
|
-
int shape[1];
|
|
184
|
-
shape[0] = icompq == 1 ? n : icompq == 0 ? 1 : 0;
|
|
185
|
-
rblapack_c = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
186
|
-
}
|
|
187
|
-
c = NA_PTR_TYPE(rblapack_c, doublereal*);
|
|
188
|
-
{
|
|
189
|
-
int shape[1];
|
|
190
|
-
shape[0] = icompq==1 ? n : icompq==0 ? 1 : 0;
|
|
191
|
-
rblapack_s = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
192
|
-
}
|
|
193
|
-
s = NA_PTR_TYPE(rblapack_s, doublereal*);
|
|
194
|
-
{
|
|
195
|
-
int shape[1];
|
|
196
|
-
shape[0] = n;
|
|
197
|
-
rblapack_d_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
198
|
-
}
|
|
199
|
-
d_out__ = NA_PTR_TYPE(rblapack_d_out__, doublereal*);
|
|
200
|
-
MEMCPY(d_out__, d, doublereal, NA_TOTAL(rblapack_d));
|
|
201
|
-
rblapack_d = rblapack_d_out__;
|
|
202
|
-
d = d_out__;
|
|
203
|
-
work = ALLOC_N(doublereal, (6 * n + (smlsiz + 1)*(smlsiz + 1)));
|
|
204
|
-
iwork = ALLOC_N(integer, ((7 * n)));
|
|
205
|
-
|
|
206
|
-
dlasda_(&icompq, &smlsiz, &n, &sqre, d, e, u, &ldu, vt, k, difl, difr, z, poles, givptr, givcol, &ldgcol, perm, givnum, c, s, work, iwork, &info);
|
|
207
|
-
|
|
208
|
-
free(work);
|
|
209
|
-
free(iwork);
|
|
210
|
-
rblapack_info = INT2NUM(info);
|
|
211
|
-
return rb_ary_new3(15, rblapack_u, rblapack_vt, rblapack_k, rblapack_difl, rblapack_difr, rblapack_z, rblapack_poles, rblapack_givptr, rblapack_givcol, rblapack_perm, rblapack_givnum, rblapack_c, rblapack_s, rblapack_info, rblapack_d);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
void
|
|
215
|
-
init_lapack_dlasda(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
216
|
-
sHelp = sH;
|
|
217
|
-
sUsage = sU;
|
|
218
|
-
rblapack_ZERO = zero;
|
|
219
|
-
|
|
220
|
-
rb_define_module_function(mLapack, "dlasda", rblapack_dlasda, -1);
|
|
221
|
-
}
|
data/ext/dlasdq.c
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dlasdq_(char* uplo, integer* sqre, integer* n, integer* ncvt, integer* nru, integer* ncc, doublereal* d, doublereal* e, doublereal* vt, integer* ldvt, doublereal* u, integer* ldu, doublereal* c, integer* ldc, doublereal* work, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dlasdq(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_sqre;
|
|
11
|
-
integer sqre;
|
|
12
|
-
VALUE rblapack_nru;
|
|
13
|
-
integer nru;
|
|
14
|
-
VALUE rblapack_d;
|
|
15
|
-
doublereal *d;
|
|
16
|
-
VALUE rblapack_e;
|
|
17
|
-
doublereal *e;
|
|
18
|
-
VALUE rblapack_vt;
|
|
19
|
-
doublereal *vt;
|
|
20
|
-
VALUE rblapack_u;
|
|
21
|
-
doublereal *u;
|
|
22
|
-
VALUE rblapack_c;
|
|
23
|
-
doublereal *c;
|
|
24
|
-
VALUE rblapack_info;
|
|
25
|
-
integer info;
|
|
26
|
-
VALUE rblapack_d_out__;
|
|
27
|
-
doublereal *d_out__;
|
|
28
|
-
VALUE rblapack_e_out__;
|
|
29
|
-
doublereal *e_out__;
|
|
30
|
-
VALUE rblapack_vt_out__;
|
|
31
|
-
doublereal *vt_out__;
|
|
32
|
-
VALUE rblapack_u_out__;
|
|
33
|
-
doublereal *u_out__;
|
|
34
|
-
VALUE rblapack_c_out__;
|
|
35
|
-
doublereal *c_out__;
|
|
36
|
-
doublereal *work;
|
|
37
|
-
|
|
38
|
-
integer n;
|
|
39
|
-
integer ldvt;
|
|
40
|
-
integer ncvt;
|
|
41
|
-
integer ldu;
|
|
42
|
-
integer ldc;
|
|
43
|
-
integer ncc;
|
|
44
|
-
|
|
45
|
-
VALUE rblapack_options;
|
|
46
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
47
|
-
argc--;
|
|
48
|
-
rblapack_options = argv[argc];
|
|
49
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
50
|
-
printf("%s\n", "USAGE:\n info, d, e, vt, u, c = NumRu::Lapack.dlasdq( uplo, sqre, nru, d, e, vt, u, c, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DLASDQ( UPLO, SQRE, N, NCVT, NRU, NCC, D, E, VT, LDVT, U, LDU, C, LDC, WORK, INFO )\n\n* Purpose\n* =======\n*\n* DLASDQ computes the singular value decomposition (SVD) of a real\n* (upper or lower) bidiagonal matrix with diagonal D and offdiagonal\n* E, accumulating the transformations if desired. Letting B denote\n* the input bidiagonal matrix, the algorithm computes orthogonal\n* matrices Q and P such that B = Q * S * P' (P' denotes the transpose\n* of P). The singular values S are overwritten on D.\n*\n* The input matrix U is changed to U * Q if desired.\n* The input matrix VT is changed to P' * VT if desired.\n* The input matrix C is changed to Q' * C if desired.\n*\n* See \"Computing Small Singular Values of Bidiagonal Matrices With\n* Guaranteed High Relative Accuracy,\" by J. Demmel and W. Kahan,\n* LAPACK Working Note #3, for a detailed description of the algorithm.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* On entry, UPLO specifies whether the input bidiagonal matrix\n* is upper or lower bidiagonal, and wether it is square are\n* not.\n* UPLO = 'U' or 'u' B is upper bidiagonal.\n* UPLO = 'L' or 'l' B is lower bidiagonal.\n*\n* SQRE (input) INTEGER\n* = 0: then the input matrix is N-by-N.\n* = 1: then the input matrix is N-by-(N+1) if UPLU = 'U' and\n* (N+1)-by-N if UPLU = 'L'.\n*\n* The bidiagonal matrix has\n* N = NL + NR + 1 rows and\n* M = N + SQRE >= N columns.\n*\n* N (input) INTEGER\n* On entry, N specifies the number of rows and columns\n* in the matrix. N must be at least 0.\n*\n* NCVT (input) INTEGER\n* On entry, NCVT specifies the number of columns of\n* the matrix VT. NCVT must be at least 0.\n*\n* NRU (input) INTEGER\n* On entry, NRU specifies the number of rows of\n* the matrix U. NRU must be at least 0.\n*\n* NCC (input) INTEGER\n* On entry, NCC specifies the number of columns of\n* the matrix C. NCC must be at least 0.\n*\n* D (input/output) DOUBLE PRECISION array, dimension (N)\n* On entry, D contains the diagonal entries of the\n* bidiagonal matrix whose SVD is desired. On normal exit,\n* D contains the singular values in ascending order.\n*\n* E (input/output) DOUBLE PRECISION array.\n* dimension is (N-1) if SQRE = 0 and N if SQRE = 1.\n* On entry, the entries of E contain the offdiagonal entries\n* of the bidiagonal matrix whose SVD is desired. On normal\n* exit, E will contain 0. If the algorithm does not converge,\n* D and E will contain the diagonal and superdiagonal entries\n* of a bidiagonal matrix orthogonally equivalent to the one\n* given as input.\n*\n* VT (input/output) DOUBLE PRECISION array, dimension (LDVT, NCVT)\n* On entry, contains a matrix which on exit has been\n* premultiplied by P', dimension N-by-NCVT if SQRE = 0\n* and (N+1)-by-NCVT if SQRE = 1 (not referenced if NCVT=0).\n*\n* LDVT (input) INTEGER\n* On entry, LDVT specifies the leading dimension of VT as\n* declared in the calling (sub) program. LDVT must be at\n* least 1. If NCVT is nonzero LDVT must also be at least N.\n*\n* U (input/output) DOUBLE PRECISION array, dimension (LDU, N)\n* On entry, contains a matrix which on exit has been\n* postmultiplied by Q, dimension NRU-by-N if SQRE = 0\n* and NRU-by-(N+1) if SQRE = 1 (not referenced if NRU=0).\n*\n* LDU (input) INTEGER\n* On entry, LDU specifies the leading dimension of U as\n* declared in the calling (sub) program. LDU must be at\n* least max( 1, NRU ) .\n*\n* C (input/output) DOUBLE PRECISION array, dimension (LDC, NCC)\n* On entry, contains an N-by-NCC matrix which on exit\n* has been premultiplied by Q' dimension N-by-NCC if SQRE = 0\n* and (N+1)-by-NCC if SQRE = 1 (not referenced if NCC=0).\n*\n* LDC (input) INTEGER\n* On entry, LDC specifies the leading dimension of C as\n* declared in the calling (sub) program. LDC must be at\n* least 1. If NCC is nonzero, LDC must also be at least N.\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension (4*N)\n* Workspace. Only referenced if one of NCVT, NRU, or NCC is\n* nonzero, and if N is at least 2.\n*\n* INFO (output) INTEGER\n* On exit, a value of 0 indicates a successful exit.\n* If INFO < 0, argument number -INFO is illegal.\n* If INFO > 0, the algorithm did not converge, and INFO\n* specifies how many superdiagonals did not converge.\n*\n\n* Further Details\n* ===============\n*\n* Based on contributions by\n* Ming Gu and Huan Ren, Computer Science Division, University of\n* California at Berkeley, USA\n*\n* =====================================================================\n*\n\n");
|
|
51
|
-
return Qnil;
|
|
52
|
-
}
|
|
53
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
54
|
-
printf("%s\n", "USAGE:\n info, d, e, vt, u, c = NumRu::Lapack.dlasdq( uplo, sqre, nru, d, e, vt, u, c, [:usage => usage, :help => help])\n");
|
|
55
|
-
return Qnil;
|
|
56
|
-
}
|
|
57
|
-
} else
|
|
58
|
-
rblapack_options = Qnil;
|
|
59
|
-
if (argc != 8 && argc != 8)
|
|
60
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 8)", argc);
|
|
61
|
-
rblapack_uplo = argv[0];
|
|
62
|
-
rblapack_sqre = argv[1];
|
|
63
|
-
rblapack_nru = argv[2];
|
|
64
|
-
rblapack_d = argv[3];
|
|
65
|
-
rblapack_e = argv[4];
|
|
66
|
-
rblapack_vt = argv[5];
|
|
67
|
-
rblapack_u = argv[6];
|
|
68
|
-
rblapack_c = argv[7];
|
|
69
|
-
if (argc == 8) {
|
|
70
|
-
} else if (rblapack_options != Qnil) {
|
|
71
|
-
} else {
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
75
|
-
nru = NUM2INT(rblapack_nru);
|
|
76
|
-
if (!NA_IsNArray(rblapack_vt))
|
|
77
|
-
rb_raise(rb_eArgError, "vt (6th argument) must be NArray");
|
|
78
|
-
if (NA_RANK(rblapack_vt) != 2)
|
|
79
|
-
rb_raise(rb_eArgError, "rank of vt (6th argument) must be %d", 2);
|
|
80
|
-
ldvt = NA_SHAPE0(rblapack_vt);
|
|
81
|
-
ncvt = NA_SHAPE1(rblapack_vt);
|
|
82
|
-
if (NA_TYPE(rblapack_vt) != NA_DFLOAT)
|
|
83
|
-
rblapack_vt = na_change_type(rblapack_vt, NA_DFLOAT);
|
|
84
|
-
vt = NA_PTR_TYPE(rblapack_vt, doublereal*);
|
|
85
|
-
if (!NA_IsNArray(rblapack_c))
|
|
86
|
-
rb_raise(rb_eArgError, "c (8th argument) must be NArray");
|
|
87
|
-
if (NA_RANK(rblapack_c) != 2)
|
|
88
|
-
rb_raise(rb_eArgError, "rank of c (8th argument) must be %d", 2);
|
|
89
|
-
ldc = NA_SHAPE0(rblapack_c);
|
|
90
|
-
ncc = NA_SHAPE1(rblapack_c);
|
|
91
|
-
if (NA_TYPE(rblapack_c) != NA_DFLOAT)
|
|
92
|
-
rblapack_c = na_change_type(rblapack_c, NA_DFLOAT);
|
|
93
|
-
c = NA_PTR_TYPE(rblapack_c, doublereal*);
|
|
94
|
-
sqre = NUM2INT(rblapack_sqre);
|
|
95
|
-
if (!NA_IsNArray(rblapack_u))
|
|
96
|
-
rb_raise(rb_eArgError, "u (7th argument) must be NArray");
|
|
97
|
-
if (NA_RANK(rblapack_u) != 2)
|
|
98
|
-
rb_raise(rb_eArgError, "rank of u (7th argument) must be %d", 2);
|
|
99
|
-
ldu = NA_SHAPE0(rblapack_u);
|
|
100
|
-
n = NA_SHAPE1(rblapack_u);
|
|
101
|
-
if (NA_TYPE(rblapack_u) != NA_DFLOAT)
|
|
102
|
-
rblapack_u = na_change_type(rblapack_u, NA_DFLOAT);
|
|
103
|
-
u = NA_PTR_TYPE(rblapack_u, doublereal*);
|
|
104
|
-
if (!NA_IsNArray(rblapack_d))
|
|
105
|
-
rb_raise(rb_eArgError, "d (4th argument) must be NArray");
|
|
106
|
-
if (NA_RANK(rblapack_d) != 1)
|
|
107
|
-
rb_raise(rb_eArgError, "rank of d (4th argument) must be %d", 1);
|
|
108
|
-
if (NA_SHAPE0(rblapack_d) != n)
|
|
109
|
-
rb_raise(rb_eRuntimeError, "shape 0 of d must be the same as shape 1 of u");
|
|
110
|
-
if (NA_TYPE(rblapack_d) != NA_DFLOAT)
|
|
111
|
-
rblapack_d = na_change_type(rblapack_d, NA_DFLOAT);
|
|
112
|
-
d = NA_PTR_TYPE(rblapack_d, doublereal*);
|
|
113
|
-
if (!NA_IsNArray(rblapack_e))
|
|
114
|
-
rb_raise(rb_eArgError, "e (5th argument) must be NArray");
|
|
115
|
-
if (NA_RANK(rblapack_e) != 1)
|
|
116
|
-
rb_raise(rb_eArgError, "rank of e (5th argument) must be %d", 1);
|
|
117
|
-
if (NA_SHAPE0(rblapack_e) != (sqre==0 ? n-1 : sqre==1 ? n : 0))
|
|
118
|
-
rb_raise(rb_eRuntimeError, "shape 0 of e must be %d", sqre==0 ? n-1 : sqre==1 ? n : 0);
|
|
119
|
-
if (NA_TYPE(rblapack_e) != NA_DFLOAT)
|
|
120
|
-
rblapack_e = na_change_type(rblapack_e, NA_DFLOAT);
|
|
121
|
-
e = NA_PTR_TYPE(rblapack_e, doublereal*);
|
|
122
|
-
{
|
|
123
|
-
int shape[1];
|
|
124
|
-
shape[0] = n;
|
|
125
|
-
rblapack_d_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
126
|
-
}
|
|
127
|
-
d_out__ = NA_PTR_TYPE(rblapack_d_out__, doublereal*);
|
|
128
|
-
MEMCPY(d_out__, d, doublereal, NA_TOTAL(rblapack_d));
|
|
129
|
-
rblapack_d = rblapack_d_out__;
|
|
130
|
-
d = d_out__;
|
|
131
|
-
{
|
|
132
|
-
int shape[1];
|
|
133
|
-
shape[0] = sqre==0 ? n-1 : sqre==1 ? n : 0;
|
|
134
|
-
rblapack_e_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
135
|
-
}
|
|
136
|
-
e_out__ = NA_PTR_TYPE(rblapack_e_out__, doublereal*);
|
|
137
|
-
MEMCPY(e_out__, e, doublereal, NA_TOTAL(rblapack_e));
|
|
138
|
-
rblapack_e = rblapack_e_out__;
|
|
139
|
-
e = e_out__;
|
|
140
|
-
{
|
|
141
|
-
int shape[2];
|
|
142
|
-
shape[0] = ldvt;
|
|
143
|
-
shape[1] = ncvt;
|
|
144
|
-
rblapack_vt_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
145
|
-
}
|
|
146
|
-
vt_out__ = NA_PTR_TYPE(rblapack_vt_out__, doublereal*);
|
|
147
|
-
MEMCPY(vt_out__, vt, doublereal, NA_TOTAL(rblapack_vt));
|
|
148
|
-
rblapack_vt = rblapack_vt_out__;
|
|
149
|
-
vt = vt_out__;
|
|
150
|
-
{
|
|
151
|
-
int shape[2];
|
|
152
|
-
shape[0] = ldu;
|
|
153
|
-
shape[1] = n;
|
|
154
|
-
rblapack_u_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
155
|
-
}
|
|
156
|
-
u_out__ = NA_PTR_TYPE(rblapack_u_out__, doublereal*);
|
|
157
|
-
MEMCPY(u_out__, u, doublereal, NA_TOTAL(rblapack_u));
|
|
158
|
-
rblapack_u = rblapack_u_out__;
|
|
159
|
-
u = u_out__;
|
|
160
|
-
{
|
|
161
|
-
int shape[2];
|
|
162
|
-
shape[0] = ldc;
|
|
163
|
-
shape[1] = ncc;
|
|
164
|
-
rblapack_c_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
165
|
-
}
|
|
166
|
-
c_out__ = NA_PTR_TYPE(rblapack_c_out__, doublereal*);
|
|
167
|
-
MEMCPY(c_out__, c, doublereal, NA_TOTAL(rblapack_c));
|
|
168
|
-
rblapack_c = rblapack_c_out__;
|
|
169
|
-
c = c_out__;
|
|
170
|
-
work = ALLOC_N(doublereal, (4*n));
|
|
171
|
-
|
|
172
|
-
dlasdq_(&uplo, &sqre, &n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu, c, &ldc, work, &info);
|
|
173
|
-
|
|
174
|
-
free(work);
|
|
175
|
-
rblapack_info = INT2NUM(info);
|
|
176
|
-
return rb_ary_new3(6, rblapack_info, rblapack_d, rblapack_e, rblapack_vt, rblapack_u, rblapack_c);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
void
|
|
180
|
-
init_lapack_dlasdq(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
181
|
-
sHelp = sH;
|
|
182
|
-
sUsage = sU;
|
|
183
|
-
rblapack_ZERO = zero;
|
|
184
|
-
|
|
185
|
-
rb_define_module_function(mLapack, "dlasdq", rblapack_dlasdq, -1);
|
|
186
|
-
}
|