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/dpbtf2.c
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpbtf2_(char* uplo, integer* n, integer* kd, doublereal* ab, integer* ldab, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpbtf2(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_kd;
|
|
11
|
-
integer kd;
|
|
12
|
-
VALUE rblapack_ab;
|
|
13
|
-
doublereal *ab;
|
|
14
|
-
VALUE rblapack_info;
|
|
15
|
-
integer info;
|
|
16
|
-
VALUE rblapack_ab_out__;
|
|
17
|
-
doublereal *ab_out__;
|
|
18
|
-
|
|
19
|
-
integer ldab;
|
|
20
|
-
integer n;
|
|
21
|
-
|
|
22
|
-
VALUE rblapack_options;
|
|
23
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
24
|
-
argc--;
|
|
25
|
-
rblapack_options = argv[argc];
|
|
26
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
27
|
-
printf("%s\n", "USAGE:\n info, ab = NumRu::Lapack.dpbtf2( uplo, kd, ab, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPBTF2( UPLO, N, KD, AB, LDAB, INFO )\n\n* Purpose\n* =======\n*\n* DPBTF2 computes the Cholesky factorization of a real symmetric\n* positive definite band matrix A.\n*\n* The factorization has the form\n* A = U' * U , if UPLO = 'U', or\n* A = L * L', if UPLO = 'L',\n* where U is an upper triangular matrix, U' is the transpose of U, and\n* L is lower triangular.\n*\n* This is the unblocked version of the algorithm, calling Level 2 BLAS.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* Specifies whether the upper or lower triangular part of the\n* symmetric matrix A is stored:\n* = 'U': Upper triangular\n* = 'L': Lower triangular\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* KD (input) INTEGER\n* The number of super-diagonals of the matrix A if UPLO = 'U',\n* or the number of sub-diagonals if UPLO = 'L'. KD >= 0.\n*\n* AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)\n* On entry, the upper or lower triangle of the symmetric band\n* matrix A, stored in the first KD+1 rows of the array. The\n* j-th column of A is stored in the j-th column of the array AB\n* as follows:\n* if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;\n* if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).\n*\n* On exit, if INFO = 0, the triangular factor U or L from the\n* Cholesky factorization A = U'*U or A = L*L' of the band\n* matrix A, in the same storage format as A.\n*\n* LDAB (input) INTEGER\n* The leading dimension of the array AB. LDAB >= KD+1.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -k, the k-th argument had an illegal value\n* > 0: if INFO = k, the leading minor of order k is not\n* positive definite, and the factorization could not be\n* completed.\n*\n\n* Further Details\n* ===============\n*\n* The band storage scheme is illustrated by the following example, when\n* N = 6, KD = 2, and UPLO = 'U':\n*\n* On entry: On exit:\n*\n* * * a13 a24 a35 a46 * * u13 u24 u35 u46\n* * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56\n* a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66\n*\n* Similarly, if UPLO = 'L' the format of A is as follows:\n*\n* On entry: On exit:\n*\n* a11 a22 a33 a44 a55 a66 l11 l22 l33 l44 l55 l66\n* a21 a32 a43 a54 a65 * l21 l32 l43 l54 l65 *\n* a31 a42 a53 a64 * * l31 l42 l53 l64 * *\n*\n* Array elements marked * are not used by the routine.\n*\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n info, ab = NumRu::Lapack.dpbtf2( uplo, kd, ab, [:usage => usage, :help => help])\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
} else
|
|
35
|
-
rblapack_options = Qnil;
|
|
36
|
-
if (argc != 3 && argc != 3)
|
|
37
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 3)", argc);
|
|
38
|
-
rblapack_uplo = argv[0];
|
|
39
|
-
rblapack_kd = argv[1];
|
|
40
|
-
rblapack_ab = argv[2];
|
|
41
|
-
if (argc == 3) {
|
|
42
|
-
} else if (rblapack_options != Qnil) {
|
|
43
|
-
} else {
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
47
|
-
if (!NA_IsNArray(rblapack_ab))
|
|
48
|
-
rb_raise(rb_eArgError, "ab (3th argument) must be NArray");
|
|
49
|
-
if (NA_RANK(rblapack_ab) != 2)
|
|
50
|
-
rb_raise(rb_eArgError, "rank of ab (3th argument) must be %d", 2);
|
|
51
|
-
ldab = NA_SHAPE0(rblapack_ab);
|
|
52
|
-
n = NA_SHAPE1(rblapack_ab);
|
|
53
|
-
if (NA_TYPE(rblapack_ab) != NA_DFLOAT)
|
|
54
|
-
rblapack_ab = na_change_type(rblapack_ab, NA_DFLOAT);
|
|
55
|
-
ab = NA_PTR_TYPE(rblapack_ab, doublereal*);
|
|
56
|
-
kd = NUM2INT(rblapack_kd);
|
|
57
|
-
{
|
|
58
|
-
int shape[2];
|
|
59
|
-
shape[0] = ldab;
|
|
60
|
-
shape[1] = n;
|
|
61
|
-
rblapack_ab_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
62
|
-
}
|
|
63
|
-
ab_out__ = NA_PTR_TYPE(rblapack_ab_out__, doublereal*);
|
|
64
|
-
MEMCPY(ab_out__, ab, doublereal, NA_TOTAL(rblapack_ab));
|
|
65
|
-
rblapack_ab = rblapack_ab_out__;
|
|
66
|
-
ab = ab_out__;
|
|
67
|
-
|
|
68
|
-
dpbtf2_(&uplo, &n, &kd, ab, &ldab, &info);
|
|
69
|
-
|
|
70
|
-
rblapack_info = INT2NUM(info);
|
|
71
|
-
return rb_ary_new3(2, rblapack_info, rblapack_ab);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
void
|
|
75
|
-
init_lapack_dpbtf2(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
76
|
-
sHelp = sH;
|
|
77
|
-
sUsage = sU;
|
|
78
|
-
rblapack_ZERO = zero;
|
|
79
|
-
|
|
80
|
-
rb_define_module_function(mLapack, "dpbtf2", rblapack_dpbtf2, -1);
|
|
81
|
-
}
|
data/ext/dpbtrf.c
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpbtrf_(char* uplo, integer* n, integer* kd, doublereal* ab, integer* ldab, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpbtrf(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_kd;
|
|
11
|
-
integer kd;
|
|
12
|
-
VALUE rblapack_ab;
|
|
13
|
-
doublereal *ab;
|
|
14
|
-
VALUE rblapack_info;
|
|
15
|
-
integer info;
|
|
16
|
-
VALUE rblapack_ab_out__;
|
|
17
|
-
doublereal *ab_out__;
|
|
18
|
-
|
|
19
|
-
integer ldab;
|
|
20
|
-
integer n;
|
|
21
|
-
|
|
22
|
-
VALUE rblapack_options;
|
|
23
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
24
|
-
argc--;
|
|
25
|
-
rblapack_options = argv[argc];
|
|
26
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
27
|
-
printf("%s\n", "USAGE:\n info, ab = NumRu::Lapack.dpbtrf( uplo, kd, ab, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPBTRF( UPLO, N, KD, AB, LDAB, INFO )\n\n* Purpose\n* =======\n*\n* DPBTRF computes the Cholesky factorization of a real symmetric\n* positive definite band matrix A.\n*\n* The factorization has the form\n* A = U**T * U, if UPLO = 'U', or\n* A = L * L**T, if UPLO = 'L',\n* where U is an upper triangular matrix and L is lower triangular.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* = 'U': Upper triangle of A is stored;\n* = 'L': Lower triangle of A is stored.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* KD (input) INTEGER\n* The number of superdiagonals of the matrix A if UPLO = 'U',\n* or the number of subdiagonals if UPLO = 'L'. KD >= 0.\n*\n* AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)\n* On entry, the upper or lower triangle of the symmetric band\n* matrix A, stored in the first KD+1 rows of the array. The\n* j-th column of A is stored in the j-th column of the array AB\n* as follows:\n* if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;\n* if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).\n*\n* On exit, if INFO = 0, the triangular factor U or L from the\n* Cholesky factorization A = U**T*U or A = L*L**T of the band\n* matrix A, in the same storage format as A.\n*\n* LDAB (input) INTEGER\n* The leading dimension of the array AB. LDAB >= KD+1.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* > 0: if INFO = i, the leading minor of order i is not\n* positive definite, and the factorization could not be\n* completed.\n*\n\n* Further Details\n* ===============\n*\n* The band storage scheme is illustrated by the following example, when\n* N = 6, KD = 2, and UPLO = 'U':\n*\n* On entry: On exit:\n*\n* * * a13 a24 a35 a46 * * u13 u24 u35 u46\n* * a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56\n* a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66\n*\n* Similarly, if UPLO = 'L' the format of A is as follows:\n*\n* On entry: On exit:\n*\n* a11 a22 a33 a44 a55 a66 l11 l22 l33 l44 l55 l66\n* a21 a32 a43 a54 a65 * l21 l32 l43 l54 l65 *\n* a31 a42 a53 a64 * * l31 l42 l53 l64 * *\n*\n* Array elements marked * are not used by the routine.\n*\n* Contributed by\n* Peter Mayes and Giuseppe Radicati, IBM ECSEC, Rome, March 23, 1989\n*\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n info, ab = NumRu::Lapack.dpbtrf( uplo, kd, ab, [:usage => usage, :help => help])\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
} else
|
|
35
|
-
rblapack_options = Qnil;
|
|
36
|
-
if (argc != 3 && argc != 3)
|
|
37
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 3)", argc);
|
|
38
|
-
rblapack_uplo = argv[0];
|
|
39
|
-
rblapack_kd = argv[1];
|
|
40
|
-
rblapack_ab = argv[2];
|
|
41
|
-
if (argc == 3) {
|
|
42
|
-
} else if (rblapack_options != Qnil) {
|
|
43
|
-
} else {
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
47
|
-
if (!NA_IsNArray(rblapack_ab))
|
|
48
|
-
rb_raise(rb_eArgError, "ab (3th argument) must be NArray");
|
|
49
|
-
if (NA_RANK(rblapack_ab) != 2)
|
|
50
|
-
rb_raise(rb_eArgError, "rank of ab (3th argument) must be %d", 2);
|
|
51
|
-
ldab = NA_SHAPE0(rblapack_ab);
|
|
52
|
-
n = NA_SHAPE1(rblapack_ab);
|
|
53
|
-
if (NA_TYPE(rblapack_ab) != NA_DFLOAT)
|
|
54
|
-
rblapack_ab = na_change_type(rblapack_ab, NA_DFLOAT);
|
|
55
|
-
ab = NA_PTR_TYPE(rblapack_ab, doublereal*);
|
|
56
|
-
kd = NUM2INT(rblapack_kd);
|
|
57
|
-
{
|
|
58
|
-
int shape[2];
|
|
59
|
-
shape[0] = ldab;
|
|
60
|
-
shape[1] = n;
|
|
61
|
-
rblapack_ab_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
62
|
-
}
|
|
63
|
-
ab_out__ = NA_PTR_TYPE(rblapack_ab_out__, doublereal*);
|
|
64
|
-
MEMCPY(ab_out__, ab, doublereal, NA_TOTAL(rblapack_ab));
|
|
65
|
-
rblapack_ab = rblapack_ab_out__;
|
|
66
|
-
ab = ab_out__;
|
|
67
|
-
|
|
68
|
-
dpbtrf_(&uplo, &n, &kd, ab, &ldab, &info);
|
|
69
|
-
|
|
70
|
-
rblapack_info = INT2NUM(info);
|
|
71
|
-
return rb_ary_new3(2, rblapack_info, rblapack_ab);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
void
|
|
75
|
-
init_lapack_dpbtrf(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
76
|
-
sHelp = sH;
|
|
77
|
-
sUsage = sU;
|
|
78
|
-
rblapack_ZERO = zero;
|
|
79
|
-
|
|
80
|
-
rb_define_module_function(mLapack, "dpbtrf", rblapack_dpbtrf, -1);
|
|
81
|
-
}
|
data/ext/dpbtrs.c
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpbtrs_(char* uplo, integer* n, integer* kd, integer* nrhs, doublereal* ab, integer* ldab, doublereal* b, integer* ldb, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpbtrs(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_kd;
|
|
11
|
-
integer kd;
|
|
12
|
-
VALUE rblapack_ab;
|
|
13
|
-
doublereal *ab;
|
|
14
|
-
VALUE rblapack_b;
|
|
15
|
-
doublereal *b;
|
|
16
|
-
VALUE rblapack_info;
|
|
17
|
-
integer info;
|
|
18
|
-
VALUE rblapack_b_out__;
|
|
19
|
-
doublereal *b_out__;
|
|
20
|
-
|
|
21
|
-
integer ldab;
|
|
22
|
-
integer n;
|
|
23
|
-
integer ldb;
|
|
24
|
-
integer nrhs;
|
|
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 info, b = NumRu::Lapack.dpbtrs( uplo, kd, ab, b, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )\n\n* Purpose\n* =======\n*\n* DPBTRS solves a system of linear equations A*X = B with a symmetric\n* positive definite band matrix A using the Cholesky factorization\n* A = U**T*U or A = L*L**T computed by DPBTRF.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* = 'U': Upper triangular factor stored in AB;\n* = 'L': Lower triangular factor stored in AB.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* KD (input) INTEGER\n* The number of superdiagonals of the matrix A if UPLO = 'U',\n* or the number of subdiagonals if UPLO = 'L'. KD >= 0.\n*\n* NRHS (input) INTEGER\n* The number of right hand sides, i.e., the number of columns\n* of the matrix B. NRHS >= 0.\n*\n* AB (input) DOUBLE PRECISION array, dimension (LDAB,N)\n* The triangular factor U or L from the Cholesky factorization\n* A = U**T*U or A = L*L**T of the band matrix A, stored in the\n* first KD+1 rows of the array. The j-th column of U or L is\n* stored in the j-th column of the array AB as follows:\n* if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;\n* if UPLO ='L', AB(1+i-j,j) = L(i,j) for j<=i<=min(n,j+kd).\n*\n* LDAB (input) INTEGER\n* The leading dimension of the array AB. LDAB >= KD+1.\n*\n* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)\n* On entry, the right hand side matrix B.\n* On exit, the solution matrix X.\n*\n* LDB (input) INTEGER\n* The leading dimension of the array B. LDB >= max(1,N).\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* =====================================================================\n*\n* .. Local Scalars ..\n LOGICAL UPPER\n INTEGER J\n* ..\n* .. External Functions ..\n LOGICAL LSAME\n EXTERNAL LSAME\n* ..\n* .. External Subroutines ..\n EXTERNAL DTBSV, XERBLA\n* ..\n* .. Intrinsic Functions ..\n INTRINSIC MAX\n* ..\n\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
35
|
-
printf("%s\n", "USAGE:\n info, b = NumRu::Lapack.dpbtrs( uplo, kd, ab, b, [:usage => usage, :help => help])\n");
|
|
36
|
-
return Qnil;
|
|
37
|
-
}
|
|
38
|
-
} else
|
|
39
|
-
rblapack_options = Qnil;
|
|
40
|
-
if (argc != 4 && argc != 4)
|
|
41
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 4)", argc);
|
|
42
|
-
rblapack_uplo = argv[0];
|
|
43
|
-
rblapack_kd = argv[1];
|
|
44
|
-
rblapack_ab = argv[2];
|
|
45
|
-
rblapack_b = argv[3];
|
|
46
|
-
if (argc == 4) {
|
|
47
|
-
} else if (rblapack_options != Qnil) {
|
|
48
|
-
} else {
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
52
|
-
if (!NA_IsNArray(rblapack_ab))
|
|
53
|
-
rb_raise(rb_eArgError, "ab (3th argument) must be NArray");
|
|
54
|
-
if (NA_RANK(rblapack_ab) != 2)
|
|
55
|
-
rb_raise(rb_eArgError, "rank of ab (3th argument) must be %d", 2);
|
|
56
|
-
ldab = NA_SHAPE0(rblapack_ab);
|
|
57
|
-
n = NA_SHAPE1(rblapack_ab);
|
|
58
|
-
if (NA_TYPE(rblapack_ab) != NA_DFLOAT)
|
|
59
|
-
rblapack_ab = na_change_type(rblapack_ab, NA_DFLOAT);
|
|
60
|
-
ab = NA_PTR_TYPE(rblapack_ab, doublereal*);
|
|
61
|
-
kd = NUM2INT(rblapack_kd);
|
|
62
|
-
if (!NA_IsNArray(rblapack_b))
|
|
63
|
-
rb_raise(rb_eArgError, "b (4th argument) must be NArray");
|
|
64
|
-
if (NA_RANK(rblapack_b) != 2)
|
|
65
|
-
rb_raise(rb_eArgError, "rank of b (4th argument) must be %d", 2);
|
|
66
|
-
ldb = NA_SHAPE0(rblapack_b);
|
|
67
|
-
nrhs = NA_SHAPE1(rblapack_b);
|
|
68
|
-
if (NA_TYPE(rblapack_b) != NA_DFLOAT)
|
|
69
|
-
rblapack_b = na_change_type(rblapack_b, NA_DFLOAT);
|
|
70
|
-
b = NA_PTR_TYPE(rblapack_b, doublereal*);
|
|
71
|
-
{
|
|
72
|
-
int shape[2];
|
|
73
|
-
shape[0] = ldb;
|
|
74
|
-
shape[1] = nrhs;
|
|
75
|
-
rblapack_b_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
76
|
-
}
|
|
77
|
-
b_out__ = NA_PTR_TYPE(rblapack_b_out__, doublereal*);
|
|
78
|
-
MEMCPY(b_out__, b, doublereal, NA_TOTAL(rblapack_b));
|
|
79
|
-
rblapack_b = rblapack_b_out__;
|
|
80
|
-
b = b_out__;
|
|
81
|
-
|
|
82
|
-
dpbtrs_(&uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info);
|
|
83
|
-
|
|
84
|
-
rblapack_info = INT2NUM(info);
|
|
85
|
-
return rb_ary_new3(2, rblapack_info, rblapack_b);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
void
|
|
89
|
-
init_lapack_dpbtrs(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
90
|
-
sHelp = sH;
|
|
91
|
-
sUsage = sU;
|
|
92
|
-
rblapack_ZERO = zero;
|
|
93
|
-
|
|
94
|
-
rb_define_module_function(mLapack, "dpbtrs", rblapack_dpbtrs, -1);
|
|
95
|
-
}
|
data/ext/dpftrf.c
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpftrf_(char* transr, char* uplo, integer* n, doublereal* a, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpftrf(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_transr;
|
|
9
|
-
char transr;
|
|
10
|
-
VALUE rblapack_uplo;
|
|
11
|
-
char uplo;
|
|
12
|
-
VALUE rblapack_n;
|
|
13
|
-
integer n;
|
|
14
|
-
VALUE rblapack_a;
|
|
15
|
-
doublereal *a;
|
|
16
|
-
VALUE rblapack_info;
|
|
17
|
-
integer info;
|
|
18
|
-
VALUE rblapack_a_out__;
|
|
19
|
-
doublereal *a_out__;
|
|
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 info, a = NumRu::Lapack.dpftrf( transr, uplo, n, a, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPFTRF( TRANSR, UPLO, N, A, INFO )\n\n* Purpose\n* =======\n*\n* DPFTRF computes the Cholesky factorization of a real symmetric\n* positive definite matrix A.\n*\n* The factorization has the form\n* A = U**T * U, if UPLO = 'U', or\n* A = L * L**T, if UPLO = 'L',\n* where U is an upper triangular matrix and L is lower triangular.\n*\n* This is the block version of the algorithm, calling Level 3 BLAS.\n*\n\n* Arguments\n* =========\n*\n* TRANSR (input) CHARACTER*1\n* = 'N': The Normal TRANSR of RFP A is stored;\n* = 'T': The Transpose TRANSR of RFP A is stored.\n*\n* UPLO (input) CHARACTER*1\n* = 'U': Upper triangle of RFP A is stored;\n* = 'L': Lower triangle of RFP A is stored.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* A (input/output) DOUBLE PRECISION array, dimension ( N*(N+1)/2 );\n* On entry, the symmetric matrix A in RFP format. RFP format is\n* described by TRANSR, UPLO, and N as follows: If TRANSR = 'N'\n* then RFP A is (0:N,0:k-1) when N is even; k=N/2. RFP A is\n* (0:N-1,0:k) when N is odd; k=N/2. IF TRANSR = 'T' then RFP is\n* the transpose of RFP A as defined when\n* TRANSR = 'N'. The contents of RFP A are defined by UPLO as\n* follows: If UPLO = 'U' the RFP A contains the NT elements of\n* upper packed A. If UPLO = 'L' the RFP A contains the elements\n* of lower packed A. The LDA of RFP A is (N+1)/2 when TRANSR =\n* 'T'. When TRANSR is 'N' the LDA is N+1 when N is even and N\n* is odd. See the Note below for more details.\n*\n* On exit, if INFO = 0, the factor U or L from the Cholesky\n* factorization RFP A = U**T*U or RFP A = L*L**T.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* > 0: if INFO = i, the leading minor of order i is not\n* positive definite, and the factorization could not be\n* completed.\n*\n\n* Further Details\n* ===============\n*\n* We first consider Rectangular Full Packed (RFP) Format when N is\n* even. We give an example where N = 6.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 05 00\n* 11 12 13 14 15 10 11\n* 22 23 24 25 20 21 22\n* 33 34 35 30 31 32 33\n* 44 45 40 41 42 43 44\n* 55 50 51 52 53 54 55\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(4:6,0:2) consists of\n* the transpose of the first three columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:2,0:2) consists of\n* the transpose of the last three columns of AP lower.\n* This covers the case N even and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 03 04 05 33 43 53\n* 13 14 15 00 44 54\n* 23 24 25 10 11 55\n* 33 34 35 20 21 22\n* 00 44 45 30 31 32\n* 01 11 55 40 41 42\n* 02 12 22 50 51 52\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n*\n* RFP A RFP A\n*\n* 03 13 23 33 00 01 02 33 00 10 20 30 40 50\n* 04 14 24 34 44 11 12 43 44 11 21 31 41 51\n* 05 15 25 35 45 55 22 53 54 55 22 32 42 52\n*\n*\n* We then consider Rectangular Full Packed (RFP) Format when N is\n* odd. We give an example where N = 5.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 00\n* 11 12 13 14 10 11\n* 22 23 24 20 21 22\n* 33 34 30 31 32 33\n* 44 40 41 42 43 44\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(3:4,0:1) consists of\n* the transpose of the first two columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:1,1:2) consists of\n* the transpose of the last two columns of AP lower.\n* This covers the case N odd and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 02 03 04 00 33 43\n* 12 13 14 10 11 44\n* 22 23 24 20 21 22\n* 00 33 34 30 31 32\n* 01 11 44 40 41 42\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n* RFP A RFP A\n*\n* 02 12 22 00 01 00 10 20 30 40 50\n* 03 13 23 33 11 33 11 21 31 41 51\n* 04 14 24 34 44 43 44 22 32 42 52\n*\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n info, a = NumRu::Lapack.dpftrf( transr, uplo, n, a, [: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_transr = argv[0];
|
|
39
|
-
rblapack_uplo = argv[1];
|
|
40
|
-
rblapack_n = argv[2];
|
|
41
|
-
rblapack_a = argv[3];
|
|
42
|
-
if (argc == 4) {
|
|
43
|
-
} else if (rblapack_options != Qnil) {
|
|
44
|
-
} else {
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
transr = StringValueCStr(rblapack_transr)[0];
|
|
48
|
-
n = NUM2INT(rblapack_n);
|
|
49
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
50
|
-
if (!NA_IsNArray(rblapack_a))
|
|
51
|
-
rb_raise(rb_eArgError, "a (4th argument) must be NArray");
|
|
52
|
-
if (NA_RANK(rblapack_a) != 1)
|
|
53
|
-
rb_raise(rb_eArgError, "rank of a (4th argument) must be %d", 1);
|
|
54
|
-
if (NA_SHAPE0(rblapack_a) != (n*(n+1)/2))
|
|
55
|
-
rb_raise(rb_eRuntimeError, "shape 0 of a must be %d", n*(n+1)/2);
|
|
56
|
-
if (NA_TYPE(rblapack_a) != NA_DFLOAT)
|
|
57
|
-
rblapack_a = na_change_type(rblapack_a, NA_DFLOAT);
|
|
58
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
59
|
-
{
|
|
60
|
-
int shape[1];
|
|
61
|
-
shape[0] = n*(n+1)/2;
|
|
62
|
-
rblapack_a_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
63
|
-
}
|
|
64
|
-
a_out__ = NA_PTR_TYPE(rblapack_a_out__, doublereal*);
|
|
65
|
-
MEMCPY(a_out__, a, doublereal, NA_TOTAL(rblapack_a));
|
|
66
|
-
rblapack_a = rblapack_a_out__;
|
|
67
|
-
a = a_out__;
|
|
68
|
-
|
|
69
|
-
dpftrf_(&transr, &uplo, &n, a, &info);
|
|
70
|
-
|
|
71
|
-
rblapack_info = INT2NUM(info);
|
|
72
|
-
return rb_ary_new3(2, rblapack_info, rblapack_a);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
void
|
|
76
|
-
init_lapack_dpftrf(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
77
|
-
sHelp = sH;
|
|
78
|
-
sUsage = sU;
|
|
79
|
-
rblapack_ZERO = zero;
|
|
80
|
-
|
|
81
|
-
rb_define_module_function(mLapack, "dpftrf", rblapack_dpftrf, -1);
|
|
82
|
-
}
|
data/ext/dpftri.c
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpftri_(char* transr, char* uplo, integer* n, doublereal* a, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpftri(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_transr;
|
|
9
|
-
char transr;
|
|
10
|
-
VALUE rblapack_uplo;
|
|
11
|
-
char uplo;
|
|
12
|
-
VALUE rblapack_n;
|
|
13
|
-
integer n;
|
|
14
|
-
VALUE rblapack_a;
|
|
15
|
-
doublereal *a;
|
|
16
|
-
VALUE rblapack_info;
|
|
17
|
-
integer info;
|
|
18
|
-
VALUE rblapack_a_out__;
|
|
19
|
-
doublereal *a_out__;
|
|
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 info, a = NumRu::Lapack.dpftri( transr, uplo, n, a, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPFTRI( TRANSR, UPLO, N, A, INFO )\n\n* Purpose\n* =======\n*\n* DPFTRI computes the inverse of a (real) symmetric positive definite\n* matrix A using the Cholesky factorization A = U**T*U or A = L*L**T\n* computed by DPFTRF.\n*\n\n* Arguments\n* =========\n*\n* TRANSR (input) CHARACTER*1\n* = 'N': The Normal TRANSR of RFP A is stored;\n* = 'T': The Transpose TRANSR of RFP A is stored.\n*\n* UPLO (input) CHARACTER*1\n* = 'U': Upper triangle of A is stored;\n* = 'L': Lower triangle of A is stored.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* A (input/output) DOUBLE PRECISION array, dimension ( N*(N+1)/2 )\n* On entry, the symmetric matrix A in RFP format. RFP format is\n* described by TRANSR, UPLO, and N as follows: If TRANSR = 'N'\n* then RFP A is (0:N,0:k-1) when N is even; k=N/2. RFP A is\n* (0:N-1,0:k) when N is odd; k=N/2. IF TRANSR = 'T' then RFP is\n* the transpose of RFP A as defined when\n* TRANSR = 'N'. The contents of RFP A are defined by UPLO as\n* follows: If UPLO = 'U' the RFP A contains the nt elements of\n* upper packed A. If UPLO = 'L' the RFP A contains the elements\n* of lower packed A. The LDA of RFP A is (N+1)/2 when TRANSR =\n* 'T'. When TRANSR is 'N' the LDA is N+1 when N is even and N\n* is odd. See the Note below for more details.\n*\n* On exit, the symmetric inverse of the original matrix, in the\n* same storage format.\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* > 0: if INFO = i, the (i,i) element of the factor U or L is\n* zero, and the inverse could not be computed.\n*\n\n* Further Details\n* ===============\n*\n* We first consider Rectangular Full Packed (RFP) Format when N is\n* even. We give an example where N = 6.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 05 00\n* 11 12 13 14 15 10 11\n* 22 23 24 25 20 21 22\n* 33 34 35 30 31 32 33\n* 44 45 40 41 42 43 44\n* 55 50 51 52 53 54 55\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(4:6,0:2) consists of\n* the transpose of the first three columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:2,0:2) consists of\n* the transpose of the last three columns of AP lower.\n* This covers the case N even and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 03 04 05 33 43 53\n* 13 14 15 00 44 54\n* 23 24 25 10 11 55\n* 33 34 35 20 21 22\n* 00 44 45 30 31 32\n* 01 11 55 40 41 42\n* 02 12 22 50 51 52\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n*\n* RFP A RFP A\n*\n* 03 13 23 33 00 01 02 33 00 10 20 30 40 50\n* 04 14 24 34 44 11 12 43 44 11 21 31 41 51\n* 05 15 25 35 45 55 22 53 54 55 22 32 42 52\n*\n*\n* We then consider Rectangular Full Packed (RFP) Format when N is\n* odd. We give an example where N = 5.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 00\n* 11 12 13 14 10 11\n* 22 23 24 20 21 22\n* 33 34 30 31 32 33\n* 44 40 41 42 43 44\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(3:4,0:1) consists of\n* the transpose of the first two columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:1,1:2) consists of\n* the transpose of the last two columns of AP lower.\n* This covers the case N odd and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 02 03 04 00 33 43\n* 12 13 14 10 11 44\n* 22 23 24 20 21 22\n* 00 33 34 30 31 32\n* 01 11 44 40 41 42\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n* RFP A RFP A\n*\n* 02 12 22 00 01 00 10 20 30 40 50\n* 03 13 23 33 11 33 11 21 31 41 51\n* 04 14 24 34 44 43 44 22 32 42 52\n*\n* =====================================================================\n*\n\n");
|
|
28
|
-
return Qnil;
|
|
29
|
-
}
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n info, a = NumRu::Lapack.dpftri( transr, uplo, n, a, [: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_transr = argv[0];
|
|
39
|
-
rblapack_uplo = argv[1];
|
|
40
|
-
rblapack_n = argv[2];
|
|
41
|
-
rblapack_a = argv[3];
|
|
42
|
-
if (argc == 4) {
|
|
43
|
-
} else if (rblapack_options != Qnil) {
|
|
44
|
-
} else {
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
transr = StringValueCStr(rblapack_transr)[0];
|
|
48
|
-
n = NUM2INT(rblapack_n);
|
|
49
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
50
|
-
if (!NA_IsNArray(rblapack_a))
|
|
51
|
-
rb_raise(rb_eArgError, "a (4th argument) must be NArray");
|
|
52
|
-
if (NA_RANK(rblapack_a) != 1)
|
|
53
|
-
rb_raise(rb_eArgError, "rank of a (4th argument) must be %d", 1);
|
|
54
|
-
if (NA_SHAPE0(rblapack_a) != (n*(n+1)/2))
|
|
55
|
-
rb_raise(rb_eRuntimeError, "shape 0 of a must be %d", n*(n+1)/2);
|
|
56
|
-
if (NA_TYPE(rblapack_a) != NA_DFLOAT)
|
|
57
|
-
rblapack_a = na_change_type(rblapack_a, NA_DFLOAT);
|
|
58
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
59
|
-
{
|
|
60
|
-
int shape[1];
|
|
61
|
-
shape[0] = n*(n+1)/2;
|
|
62
|
-
rblapack_a_out__ = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
63
|
-
}
|
|
64
|
-
a_out__ = NA_PTR_TYPE(rblapack_a_out__, doublereal*);
|
|
65
|
-
MEMCPY(a_out__, a, doublereal, NA_TOTAL(rblapack_a));
|
|
66
|
-
rblapack_a = rblapack_a_out__;
|
|
67
|
-
a = a_out__;
|
|
68
|
-
|
|
69
|
-
dpftri_(&transr, &uplo, &n, a, &info);
|
|
70
|
-
|
|
71
|
-
rblapack_info = INT2NUM(info);
|
|
72
|
-
return rb_ary_new3(2, rblapack_info, rblapack_a);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
void
|
|
76
|
-
init_lapack_dpftri(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
77
|
-
sHelp = sH;
|
|
78
|
-
sUsage = sU;
|
|
79
|
-
rblapack_ZERO = zero;
|
|
80
|
-
|
|
81
|
-
rb_define_module_function(mLapack, "dpftri", rblapack_dpftri, -1);
|
|
82
|
-
}
|
data/ext/dpftrs.c
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dpftrs_(char* transr, char* uplo, integer* n, integer* nrhs, doublereal* a, doublereal* b, integer* ldb, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dpftrs(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_transr;
|
|
9
|
-
char transr;
|
|
10
|
-
VALUE rblapack_uplo;
|
|
11
|
-
char uplo;
|
|
12
|
-
VALUE rblapack_n;
|
|
13
|
-
integer n;
|
|
14
|
-
VALUE rblapack_a;
|
|
15
|
-
doublereal *a;
|
|
16
|
-
VALUE rblapack_b;
|
|
17
|
-
doublereal *b;
|
|
18
|
-
VALUE rblapack_info;
|
|
19
|
-
integer info;
|
|
20
|
-
VALUE rblapack_b_out__;
|
|
21
|
-
doublereal *b_out__;
|
|
22
|
-
|
|
23
|
-
integer ldb;
|
|
24
|
-
integer nrhs;
|
|
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 info, b = NumRu::Lapack.dpftrs( transr, uplo, n, a, b, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DPFTRS( TRANSR, UPLO, N, NRHS, A, B, LDB, INFO )\n\n* Purpose\n* =======\n*\n* DPFTRS solves a system of linear equations A*X = B with a symmetric\n* positive definite matrix A using the Cholesky factorization\n* A = U**T*U or A = L*L**T computed by DPFTRF.\n*\n\n* Arguments\n* =========\n*\n* TRANSR (input) CHARACTER*1\n* = 'N': The Normal TRANSR of RFP A is stored;\n* = 'T': The Transpose TRANSR of RFP A is stored.\n*\n* UPLO (input) CHARACTER*1\n* = 'U': Upper triangle of RFP A is stored;\n* = 'L': Lower triangle of RFP A is stored.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* NRHS (input) INTEGER\n* The number of right hand sides, i.e., the number of columns\n* of the matrix B. NRHS >= 0.\n*\n* A (input) DOUBLE PRECISION array, dimension ( N*(N+1)/2 ).\n* The triangular factor U or L from the Cholesky factorization\n* of RFP A = U**T*U or RFP A = L*L**T, as computed by DPFTRF.\n* See note below for more details about RFP A.\n*\n* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)\n* On entry, the right hand side matrix B.\n* On exit, the solution matrix X.\n*\n* LDB (input) INTEGER\n* The leading dimension of the array B. LDB >= max(1,N).\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* Further Details\n* ===============\n*\n* We first consider Rectangular Full Packed (RFP) Format when N is\n* even. We give an example where N = 6.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 05 00\n* 11 12 13 14 15 10 11\n* 22 23 24 25 20 21 22\n* 33 34 35 30 31 32 33\n* 44 45 40 41 42 43 44\n* 55 50 51 52 53 54 55\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(4:6,0:2) consists of\n* the transpose of the first three columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:2,0:2) consists of\n* the transpose of the last three columns of AP lower.\n* This covers the case N even and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 03 04 05 33 43 53\n* 13 14 15 00 44 54\n* 23 24 25 10 11 55\n* 33 34 35 20 21 22\n* 00 44 45 30 31 32\n* 01 11 55 40 41 42\n* 02 12 22 50 51 52\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n*\n* RFP A RFP A\n*\n* 03 13 23 33 00 01 02 33 00 10 20 30 40 50\n* 04 14 24 34 44 11 12 43 44 11 21 31 41 51\n* 05 15 25 35 45 55 22 53 54 55 22 32 42 52\n*\n*\n* We then consider Rectangular Full Packed (RFP) Format when N is\n* odd. We give an example where N = 5.\n*\n* AP is Upper AP is Lower\n*\n* 00 01 02 03 04 00\n* 11 12 13 14 10 11\n* 22 23 24 20 21 22\n* 33 34 30 31 32 33\n* 44 40 41 42 43 44\n*\n*\n* Let TRANSR = 'N'. RFP holds AP as follows:\n* For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last\n* three columns of AP upper. The lower triangle A(3:4,0:1) consists of\n* the transpose of the first two columns of AP upper.\n* For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first\n* three columns of AP lower. The upper triangle A(0:1,1:2) consists of\n* the transpose of the last two columns of AP lower.\n* This covers the case N odd and TRANSR = 'N'.\n*\n* RFP A RFP A\n*\n* 02 03 04 00 33 43\n* 12 13 14 10 11 44\n* 22 23 24 20 21 22\n* 00 33 34 30 31 32\n* 01 11 44 40 41 42\n*\n* Now let TRANSR = 'T'. RFP A in both UPLO cases is just the\n* transpose of RFP A above. One therefore gets:\n*\n* RFP A RFP A\n*\n* 02 12 22 00 01 00 10 20 30 40 50\n* 03 13 23 33 11 33 11 21 31 41 51\n* 04 14 24 34 44 43 44 22 32 42 52\n*\n* =====================================================================\n*\n\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
35
|
-
printf("%s\n", "USAGE:\n info, b = NumRu::Lapack.dpftrs( transr, uplo, n, a, b, [:usage => usage, :help => help])\n");
|
|
36
|
-
return Qnil;
|
|
37
|
-
}
|
|
38
|
-
} else
|
|
39
|
-
rblapack_options = Qnil;
|
|
40
|
-
if (argc != 5 && argc != 5)
|
|
41
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 5)", argc);
|
|
42
|
-
rblapack_transr = argv[0];
|
|
43
|
-
rblapack_uplo = argv[1];
|
|
44
|
-
rblapack_n = argv[2];
|
|
45
|
-
rblapack_a = argv[3];
|
|
46
|
-
rblapack_b = argv[4];
|
|
47
|
-
if (argc == 5) {
|
|
48
|
-
} else if (rblapack_options != Qnil) {
|
|
49
|
-
} else {
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
transr = StringValueCStr(rblapack_transr)[0];
|
|
53
|
-
n = NUM2INT(rblapack_n);
|
|
54
|
-
if (!NA_IsNArray(rblapack_b))
|
|
55
|
-
rb_raise(rb_eArgError, "b (5th argument) must be NArray");
|
|
56
|
-
if (NA_RANK(rblapack_b) != 2)
|
|
57
|
-
rb_raise(rb_eArgError, "rank of b (5th argument) must be %d", 2);
|
|
58
|
-
ldb = NA_SHAPE0(rblapack_b);
|
|
59
|
-
nrhs = NA_SHAPE1(rblapack_b);
|
|
60
|
-
if (NA_TYPE(rblapack_b) != NA_DFLOAT)
|
|
61
|
-
rblapack_b = na_change_type(rblapack_b, NA_DFLOAT);
|
|
62
|
-
b = NA_PTR_TYPE(rblapack_b, doublereal*);
|
|
63
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
64
|
-
if (!NA_IsNArray(rblapack_a))
|
|
65
|
-
rb_raise(rb_eArgError, "a (4th argument) must be NArray");
|
|
66
|
-
if (NA_RANK(rblapack_a) != 1)
|
|
67
|
-
rb_raise(rb_eArgError, "rank of a (4th argument) must be %d", 1);
|
|
68
|
-
if (NA_SHAPE0(rblapack_a) != (n*(n+1)/2))
|
|
69
|
-
rb_raise(rb_eRuntimeError, "shape 0 of a must be %d", n*(n+1)/2);
|
|
70
|
-
if (NA_TYPE(rblapack_a) != NA_DFLOAT)
|
|
71
|
-
rblapack_a = na_change_type(rblapack_a, NA_DFLOAT);
|
|
72
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
73
|
-
{
|
|
74
|
-
int shape[2];
|
|
75
|
-
shape[0] = ldb;
|
|
76
|
-
shape[1] = nrhs;
|
|
77
|
-
rblapack_b_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
78
|
-
}
|
|
79
|
-
b_out__ = NA_PTR_TYPE(rblapack_b_out__, doublereal*);
|
|
80
|
-
MEMCPY(b_out__, b, doublereal, NA_TOTAL(rblapack_b));
|
|
81
|
-
rblapack_b = rblapack_b_out__;
|
|
82
|
-
b = b_out__;
|
|
83
|
-
|
|
84
|
-
dpftrs_(&transr, &uplo, &n, &nrhs, a, b, &ldb, &info);
|
|
85
|
-
|
|
86
|
-
rblapack_info = INT2NUM(info);
|
|
87
|
-
return rb_ary_new3(2, rblapack_info, rblapack_b);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
void
|
|
91
|
-
init_lapack_dpftrs(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
92
|
-
sHelp = sH;
|
|
93
|
-
sUsage = sU;
|
|
94
|
-
rblapack_ZERO = zero;
|
|
95
|
-
|
|
96
|
-
rb_define_module_function(mLapack, "dpftrs", rblapack_dpftrs, -1);
|
|
97
|
-
}
|