Merge pull request #87088 from dims/switch-to-newer-gonum
Drop random SHA and update gonum.org/v1/gonum to v0.6.2
This commit is contained in:
10
go.mod
10
go.mod
@@ -126,7 +126,7 @@ require (
|
|||||||
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456
|
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
||||||
golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72
|
golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485
|
gonum.org/v1/gonum v0.6.2
|
||||||
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861
|
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861
|
||||||
google.golang.org/grpc v1.23.1
|
google.golang.org/grpc v1.23.1
|
||||||
gopkg.in/gcfg.v1 v1.2.0
|
gopkg.in/gcfg.v1 v1.2.0
|
||||||
@@ -194,6 +194,7 @@ replace (
|
|||||||
github.com/Rican7/retry => github.com/Rican7/retry v0.1.0
|
github.com/Rican7/retry => github.com/Rican7/retry v0.1.0
|
||||||
github.com/StackExchange/wmi => github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6
|
github.com/StackExchange/wmi => github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6
|
||||||
github.com/agnivade/levenshtein => github.com/agnivade/levenshtein v1.0.1
|
github.com/agnivade/levenshtein => github.com/agnivade/levenshtein v1.0.1
|
||||||
|
github.com/ajstarks/svgo => github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af
|
||||||
github.com/alecthomas/template => github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc
|
github.com/alecthomas/template => github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc
|
||||||
github.com/alecthomas/units => github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf
|
github.com/alecthomas/units => github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf
|
||||||
github.com/andreyvit/diff => github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883
|
github.com/andreyvit/diff => github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883
|
||||||
@@ -256,6 +257,7 @@ replace (
|
|||||||
github.com/fatih/camelcase => github.com/fatih/camelcase v1.0.0
|
github.com/fatih/camelcase => github.com/fatih/camelcase v1.0.0
|
||||||
github.com/fatih/color => github.com/fatih/color v1.7.0
|
github.com/fatih/color => github.com/fatih/color v1.7.0
|
||||||
github.com/flynn/go-shlex => github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
|
github.com/flynn/go-shlex => github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
|
||||||
|
github.com/fogleman/gg => github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90
|
||||||
github.com/fsnotify/fsnotify => github.com/fsnotify/fsnotify v1.4.7
|
github.com/fsnotify/fsnotify => github.com/fsnotify/fsnotify v1.4.7
|
||||||
github.com/ghodss/yaml => github.com/ghodss/yaml v1.0.0
|
github.com/ghodss/yaml => github.com/ghodss/yaml v1.0.0
|
||||||
github.com/gliderlabs/ssh => github.com/gliderlabs/ssh v0.1.1
|
github.com/gliderlabs/ssh => github.com/gliderlabs/ssh v0.1.1
|
||||||
@@ -291,6 +293,7 @@ replace (
|
|||||||
github.com/gobwas/glob => github.com/gobwas/glob v0.2.3
|
github.com/gobwas/glob => github.com/gobwas/glob v0.2.3
|
||||||
github.com/godbus/dbus => github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f
|
github.com/godbus/dbus => github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f
|
||||||
github.com/gogo/protobuf => github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d
|
github.com/gogo/protobuf => github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d
|
||||||
|
github.com/golang/freetype => github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
||||||
github.com/golang/glog => github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
|
github.com/golang/glog => github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
|
||||||
github.com/golang/groupcache => github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903
|
github.com/golang/groupcache => github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903
|
||||||
github.com/golang/mock => github.com/golang/mock v1.2.0
|
github.com/golang/mock => github.com/golang/mock v1.2.0
|
||||||
@@ -353,6 +356,7 @@ replace (
|
|||||||
github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024
|
github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024
|
||||||
github.com/jtolds/gls => github.com/jtolds/gls v4.20.0+incompatible
|
github.com/jtolds/gls => github.com/jtolds/gls v4.20.0+incompatible
|
||||||
github.com/julienschmidt/httprouter => github.com/julienschmidt/httprouter v1.2.0
|
github.com/julienschmidt/httprouter => github.com/julienschmidt/httprouter v1.2.0
|
||||||
|
github.com/jung-kurt/gofpdf => github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5
|
||||||
github.com/karrick/godirwalk => github.com/karrick/godirwalk v1.7.5
|
github.com/karrick/godirwalk => github.com/karrick/godirwalk v1.7.5
|
||||||
github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.2.0
|
github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.2.0
|
||||||
github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0
|
github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0
|
||||||
@@ -497,8 +501,9 @@ replace (
|
|||||||
golang.org/x/time => golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
golang.org/x/time => golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
|
||||||
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
|
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
|
||||||
golang.org/x/xerrors => golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
|
golang.org/x/xerrors => golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
|
||||||
gonum.org/v1/gonum => gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485
|
gonum.org/v1/gonum => gonum.org/v1/gonum v0.6.2
|
||||||
gonum.org/v1/netlib => gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e
|
gonum.org/v1/netlib => gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e
|
||||||
|
gonum.org/v1/plot => gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b
|
||||||
google.golang.org/api => google.golang.org/api v0.6.1-0.20190607001116-5213b8090861
|
google.golang.org/api => google.golang.org/api v0.6.1-0.20190607001116-5213b8090861
|
||||||
google.golang.org/appengine => google.golang.org/appengine v1.5.0
|
google.golang.org/appengine => google.golang.org/appengine v1.5.0
|
||||||
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873
|
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873
|
||||||
@@ -562,6 +567,7 @@ replace (
|
|||||||
mvdan.cc/interfacer => mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed
|
mvdan.cc/interfacer => mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed
|
||||||
mvdan.cc/lint => mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b
|
mvdan.cc/lint => mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b
|
||||||
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
|
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
|
||||||
|
rsc.io/pdf => rsc.io/pdf v0.1.1
|
||||||
sigs.k8s.io/kustomize => sigs.k8s.io/kustomize v2.0.3+incompatible
|
sigs.k8s.io/kustomize => sigs.k8s.io/kustomize v2.0.3+incompatible
|
||||||
sigs.k8s.io/structured-merge-diff => sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06
|
sigs.k8s.io/structured-merge-diff => sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06
|
||||||
sigs.k8s.io/yaml => sigs.k8s.io/yaml v1.1.0
|
sigs.k8s.io/yaml => sigs.k8s.io/yaml v1.1.0
|
||||||
|
|||||||
10
go.sum
10
go.sum
@@ -46,6 +46,7 @@ github.com/Rican7/retry v0.1.0 h1:FqK94z34ly8Baa6K+G8Mmza9rYWTKOJk+yckIBB5qVk=
|
|||||||
github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
|
github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
|
||||||
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
|
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
|
||||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||||
@@ -156,6 +157,7 @@ github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwo
|
|||||||
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
|
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
||||||
@@ -208,6 +210,7 @@ github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f h1:zlOR3rOlPAVvtfuxGKo
|
|||||||
github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
|
github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
@@ -303,6 +306,7 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
|
|||||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/karrick/godirwalk v1.7.5 h1:VbzFqwXwNbAZoA6W5odrLr+hKK197CcENcPh6E/gJ0M=
|
github.com/karrick/godirwalk v1.7.5 h1:VbzFqwXwNbAZoA6W5odrLr+hKK197CcENcPh6E/gJ0M=
|
||||||
github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
@@ -538,10 +542,11 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861 h1:ppLucX0K/60T3t6LPZQzTOkt5PytkEbQLIaSteq+TpE=
|
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861 h1:ppLucX0K/60T3t6LPZQzTOkt5PytkEbQLIaSteq+TpE=
|
||||||
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
|
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
|
||||||
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
|
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
|
||||||
@@ -604,6 +609,7 @@ modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
|||||||
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
|
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
|
||||||
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
|
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
|
||||||
mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34/go.mod h1:H6SUd1XjIs+qQCyskXg5OFSrilMRUkD8ePJpHKDPaeY=
|
mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34/go.mod h1:H6SUd1XjIs+qQCyskXg5OFSrilMRUkD8ePJpHKDPaeY=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
||||||
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
|
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
|
||||||
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
||||||
|
|||||||
12
staging/src/k8s.io/apiextensions-apiserver/go.sum
generated
12
staging/src/k8s.io/apiextensions-apiserver/go.sum
generated
@@ -22,6 +22,7 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||||
@@ -74,6 +75,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT
|
|||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -151,6 +153,7 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a
|
|||||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
@@ -214,6 +217,7 @@ github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46O
|
|||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
@@ -357,10 +361,13 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U
|
|||||||
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -411,11 +418,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -475,6 +486,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ require (
|
|||||||
github.com/stretchr/testify v1.4.0 // indirect
|
github.com/stretchr/testify v1.4.0 // indirect
|
||||||
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 // indirect
|
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 // indirect
|
||||||
golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72 // indirect
|
golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72 // indirect
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485
|
gonum.org/v1/gonum v0.6.2
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e // indirect
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e // indirect
|
||||||
gopkg.in/yaml.v2 v2.2.7 // indirect
|
gopkg.in/yaml.v2 v2.2.7 // indirect
|
||||||
k8s.io/gengo v0.0.0-20190822140433-26a664648505
|
k8s.io/gengo v0.0.0-20190822140433-26a664648505
|
||||||
|
|||||||
12
staging/src/k8s.io/code-generator/go.sum
generated
12
staging/src/k8s.io/code-generator/go.sum
generated
@@ -6,6 +6,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
@@ -13,6 +14,7 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
|
|||||||
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
|
github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
|
||||||
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
|
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
|
||||||
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
||||||
@@ -35,6 +37,7 @@ github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tF
|
|||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
@@ -42,6 +45,7 @@ github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsC
|
|||||||
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
@@ -82,9 +86,12 @@ github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJy
|
|||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||||
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
@@ -103,11 +110,15 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
@@ -130,5 +141,6 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
|||||||
12
staging/src/k8s.io/kube-aggregator/go.sum
generated
12
staging/src/k8s.io/kube-aggregator/go.sum
generated
@@ -20,6 +20,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
@@ -67,6 +68,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT
|
|||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -97,6 +99,7 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a
|
|||||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
@@ -160,6 +163,7 @@ github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46O
|
|||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
@@ -290,10 +294,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -342,11 +349,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -405,6 +416,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
||||||
|
|||||||
11
staging/src/k8s.io/kubectl/go.sum
generated
11
staging/src/k8s.io/kubectl/go.sum
generated
@@ -21,6 +21,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
@@ -58,6 +59,7 @@ github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwC
|
|||||||
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
|
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
|
||||||
github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
|
github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
|
||||||
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
|
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -88,6 +90,7 @@ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/me
|
|||||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
@@ -144,6 +147,7 @@ github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46O
|
|||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
|
||||||
@@ -248,9 +252,12 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -292,9 +299,12 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZe
|
|||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -339,6 +349,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
||||||
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
|
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
|
|||||||
12
staging/src/k8s.io/metrics/go.sum
generated
12
staging/src/k8s.io/metrics/go.sum
generated
@@ -17,6 +17,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
@@ -30,6 +31,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao
|
|||||||
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -54,6 +56,7 @@ github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tF
|
|||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||||
@@ -87,6 +90,7 @@ github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBv
|
|||||||
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
@@ -140,10 +144,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -183,11 +190,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -232,6 +243,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
|||||||
12
staging/src/k8s.io/node-api/go.sum
generated
12
staging/src/k8s.io/node-api/go.sum
generated
@@ -17,6 +17,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
@@ -30,6 +31,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao
|
|||||||
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -54,6 +56,7 @@ github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tF
|
|||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
@@ -91,6 +94,7 @@ github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBv
|
|||||||
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
@@ -144,10 +148,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -187,11 +194,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -236,6 +247,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
|||||||
12
staging/src/k8s.io/sample-apiserver/go.sum
generated
12
staging/src/k8s.io/sample-apiserver/go.sum
generated
@@ -20,6 +20,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
@@ -65,6 +66,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT
|
|||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -95,6 +97,7 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a
|
|||||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
@@ -158,6 +161,7 @@ github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46O
|
|||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
@@ -287,10 +291,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -339,11 +346,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -402,6 +413,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06 h1:zD2IemQ4LmOcAumeiyDWXKUI2SO0NYDe3H6QGvPOVgU=
|
||||||
|
|||||||
12
staging/src/k8s.io/sample-controller/go.sum
generated
12
staging/src/k8s.io/sample-controller/go.sum
generated
@@ -17,6 +17,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
|
|||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
@@ -30,6 +31,7 @@ github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao
|
|||||||
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
|
||||||
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
@@ -54,6 +56,7 @@ github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tF
|
|||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
|
||||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
@@ -92,6 +95,7 @@ github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBv
|
|||||||
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
|
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
@@ -145,10 +149,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
|
|||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
|
||||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk=
|
||||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
|
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
@@ -188,11 +195,15 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 h1:PVCvyir09Xgta5zksNZDkrL+eSm/Y+gQxRG3IfqNQ3A=
|
||||||
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw=
|
||||||
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
|
||||||
|
gonum.org/v1/gonum v0.6.2 h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=
|
||||||
|
gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
|
||||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts=
|
||||||
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
|
||||||
|
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@@ -237,6 +248,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||||||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/AUTHORS
generated
vendored
8
vendor/gonum.org/v1/gonum/AUTHORS
generated
vendored
@@ -20,10 +20,14 @@ Christophe Meessen <christophe.meessen@gmail.com>
|
|||||||
Clayton Northey <clayton.northey@gmail.com>
|
Clayton Northey <clayton.northey@gmail.com>
|
||||||
Dan Kortschak <dan.kortschak@adelaide.edu.au> <dan@kortschak.io>
|
Dan Kortschak <dan.kortschak@adelaide.edu.au> <dan@kortschak.io>
|
||||||
Daniel Fireman <danielfireman@gmail.com>
|
Daniel Fireman <danielfireman@gmail.com>
|
||||||
|
Dario Heinisch <dario.heinisch@gmail.com>
|
||||||
|
David Kleiven <davidkleiven446@gmail.com>
|
||||||
David Samborski <bloggingarrow@gmail.com>
|
David Samborski <bloggingarrow@gmail.com>
|
||||||
Davor Kapsa <davor.kapsa@gmail.com>
|
Davor Kapsa <davor.kapsa@gmail.com>
|
||||||
DeepMind Technologies
|
DeepMind Technologies
|
||||||
|
Delaney Gillilan <delaneygillilan@gmail.com>
|
||||||
Dezmond Goff <goff.dezmond@gmail.com>
|
Dezmond Goff <goff.dezmond@gmail.com>
|
||||||
|
Dong-hee Na <donghee.na92@gmail.com>
|
||||||
Egon Elbre <egonelbre@gmail.com>
|
Egon Elbre <egonelbre@gmail.com>
|
||||||
Ekaterina Efimova <katerina.efimova@gmail.com>
|
Ekaterina Efimova <katerina.efimova@gmail.com>
|
||||||
Ethan Burns <burns.ethan@gmail.com>
|
Ethan Burns <burns.ethan@gmail.com>
|
||||||
@@ -46,6 +50,7 @@ Jeremy Atkinson <jchatkinson@gmail.com>
|
|||||||
Jonas Kahler <jonas@derkahler.de>
|
Jonas Kahler <jonas@derkahler.de>
|
||||||
Jonas Schulze <jonas.schulze@ovgu.de>
|
Jonas Schulze <jonas.schulze@ovgu.de>
|
||||||
Jonathan J Lawlor <jonathan.lawlor@gmail.com>
|
Jonathan J Lawlor <jonathan.lawlor@gmail.com>
|
||||||
|
Jonathan Reiter <jonreiter@gmail.com>
|
||||||
Jonathan Schroeder <jd.schroeder@gmail.com>
|
Jonathan Schroeder <jd.schroeder@gmail.com>
|
||||||
Joseph Watson <jtwatson@linux-consulting.us>
|
Joseph Watson <jtwatson@linux-consulting.us>
|
||||||
Josh Wilson <josh.craig.wilson@gmail.com>
|
Josh Wilson <josh.craig.wilson@gmail.com>
|
||||||
@@ -61,7 +66,9 @@ Martin Diz <github@martindiz.com.ar>
|
|||||||
Matthieu Di Mercurio <matthieu.dimercurio@gmail.com>
|
Matthieu Di Mercurio <matthieu.dimercurio@gmail.com>
|
||||||
Max Halford <maxhalford25@gmail.com>
|
Max Halford <maxhalford25@gmail.com>
|
||||||
MinJae Kwon <k239507@gmail.com>
|
MinJae Kwon <k239507@gmail.com>
|
||||||
|
Nathan Edwards <etaoinshrdluwho@gmail.com>
|
||||||
Nick Potts <nick@the-potts.com>
|
Nick Potts <nick@the-potts.com>
|
||||||
|
Nils Wogatzky <odog@netcologne.de>
|
||||||
Olivier Wulveryck <olivier.wulveryck@gmail.com>
|
Olivier Wulveryck <olivier.wulveryck@gmail.com>
|
||||||
Or Rikon <rikonor@gmail.com>
|
Or Rikon <rikonor@gmail.com>
|
||||||
Pontus Melke <pontusmelke@gmail.com>
|
Pontus Melke <pontusmelke@gmail.com>
|
||||||
@@ -87,3 +94,4 @@ Tobin Harding <me@tobin.cc>
|
|||||||
Vincent Thiery <vjmthiery@gmail.com>
|
Vincent Thiery <vjmthiery@gmail.com>
|
||||||
Vladimír Chalupecký <vladimir.chalupecky@gmail.com>
|
Vladimír Chalupecký <vladimir.chalupecky@gmail.com>
|
||||||
Yevgeniy Vahlis <evahlis@gmail.com>
|
Yevgeniy Vahlis <evahlis@gmail.com>
|
||||||
|
Yucheng Zhu <zyctc000@gmail.com>
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/CONTRIBUTORS
generated
vendored
8
vendor/gonum.org/v1/gonum/CONTRIBUTORS
generated
vendored
@@ -28,9 +28,13 @@ Christophe Meessen <christophe.meessen@gmail.com>
|
|||||||
Clayton Northey <clayton.northey@gmail.com>
|
Clayton Northey <clayton.northey@gmail.com>
|
||||||
Dan Kortschak <dan.kortschak@adelaide.edu.au> <dan@kortschak.io>
|
Dan Kortschak <dan.kortschak@adelaide.edu.au> <dan@kortschak.io>
|
||||||
Daniel Fireman <danielfireman@gmail.com>
|
Daniel Fireman <danielfireman@gmail.com>
|
||||||
|
Dario Heinisch <dario.heinisch@gmail.com>
|
||||||
|
David Kleiven <davidkleiven446@gmail.com>
|
||||||
David Samborski <bloggingarrow@gmail.com>
|
David Samborski <bloggingarrow@gmail.com>
|
||||||
Davor Kapsa <davor.kapsa@gmail.com>
|
Davor Kapsa <davor.kapsa@gmail.com>
|
||||||
|
Delaney Gillilan <delaneygillilan@gmail.com>
|
||||||
Dezmond Goff <goff.dezmond@gmail.com>
|
Dezmond Goff <goff.dezmond@gmail.com>
|
||||||
|
Dong-hee Na <donghee.na92@gmail.com>
|
||||||
Egon Elbre <egonelbre@gmail.com>
|
Egon Elbre <egonelbre@gmail.com>
|
||||||
Ekaterina Efimova <katerina.efimova@gmail.com>
|
Ekaterina Efimova <katerina.efimova@gmail.com>
|
||||||
Ethan Burns <burns.ethan@gmail.com>
|
Ethan Burns <burns.ethan@gmail.com>
|
||||||
@@ -52,6 +56,7 @@ Jeremy Atkinson <jchatkinson@gmail.com>
|
|||||||
Jonas Kahler <jonas@derkahler.de>
|
Jonas Kahler <jonas@derkahler.de>
|
||||||
Jonas Schulze <jonas.schulze@ovgu.de>
|
Jonas Schulze <jonas.schulze@ovgu.de>
|
||||||
Jonathan J Lawlor <jonathan.lawlor@gmail.com>
|
Jonathan J Lawlor <jonathan.lawlor@gmail.com>
|
||||||
|
Jonathan Reiter <jonreiter@gmail.com>
|
||||||
Jonathan Schroeder <jd.schroeder@gmail.com>
|
Jonathan Schroeder <jd.schroeder@gmail.com>
|
||||||
Joseph Watson <jtwatson@linux-consulting.us>
|
Joseph Watson <jtwatson@linux-consulting.us>
|
||||||
Josh Wilson <josh.craig.wilson@gmail.com>
|
Josh Wilson <josh.craig.wilson@gmail.com>
|
||||||
@@ -67,7 +72,9 @@ Martin Diz <github@martindiz.com.ar>
|
|||||||
Matthieu Di Mercurio <matthieu.dimercurio@gmail.com>
|
Matthieu Di Mercurio <matthieu.dimercurio@gmail.com>
|
||||||
Max Halford <maxhalford25@gmail.com>
|
Max Halford <maxhalford25@gmail.com>
|
||||||
MinJae Kwon <k239507@gmail.com>
|
MinJae Kwon <k239507@gmail.com>
|
||||||
|
Nathan Edwards <etaoinshrdluwho@gmail.com>
|
||||||
Nick Potts <nick@the-potts.com>
|
Nick Potts <nick@the-potts.com>
|
||||||
|
Nils Wogatzky <odog@netcologne.de>
|
||||||
Olivier Wulveryck <olivier.wulveryck@gmail.com>
|
Olivier Wulveryck <olivier.wulveryck@gmail.com>
|
||||||
Or Rikon <rikonor@gmail.com>
|
Or Rikon <rikonor@gmail.com>
|
||||||
Pontus Melke <pontusmelke@gmail.com>
|
Pontus Melke <pontusmelke@gmail.com>
|
||||||
@@ -89,3 +96,4 @@ Tobin Harding <me@tobin.cc>
|
|||||||
Vincent Thiery <vjmthiery@gmail.com>
|
Vincent Thiery <vjmthiery@gmail.com>
|
||||||
Vladimír Chalupecký <vladimir.chalupecky@gmail.com>
|
Vladimír Chalupecký <vladimir.chalupecky@gmail.com>
|
||||||
Yevgeniy Vahlis <evahlis@gmail.com>
|
Yevgeniy Vahlis <evahlis@gmail.com>
|
||||||
|
Yucheng Zhu <zyctc000@gmail.com>
|
||||||
|
|||||||
75
vendor/gonum.org/v1/gonum/blas/blas64/blas64.go
generated
vendored
75
vendor/gonum.org/v1/gonum/blas/blas64/blas64.go
generated
vendored
@@ -106,6 +106,7 @@ const (
|
|||||||
|
|
||||||
// Dot computes the dot product of the two vectors:
|
// Dot computes the dot product of the two vectors:
|
||||||
// \sum_i x[i]*y[i].
|
// \sum_i x[i]*y[i].
|
||||||
|
// Dot will panic if the lengths of x and y do not match.
|
||||||
func Dot(x, y Vector) float64 {
|
func Dot(x, y Vector) float64 {
|
||||||
if x.N != y.N {
|
if x.N != y.N {
|
||||||
panic(badLength)
|
panic(badLength)
|
||||||
@@ -149,6 +150,7 @@ func Iamax(x Vector) int {
|
|||||||
|
|
||||||
// Swap exchanges the elements of the two vectors:
|
// Swap exchanges the elements of the two vectors:
|
||||||
// x[i], y[i] = y[i], x[i] for all i.
|
// x[i], y[i] = y[i], x[i] for all i.
|
||||||
|
// Swap will panic if the lengths of x and y do not match.
|
||||||
func Swap(x, y Vector) {
|
func Swap(x, y Vector) {
|
||||||
if x.N != y.N {
|
if x.N != y.N {
|
||||||
panic(badLength)
|
panic(badLength)
|
||||||
@@ -158,7 +160,7 @@ func Swap(x, y Vector) {
|
|||||||
|
|
||||||
// Copy copies the elements of x into the elements of y:
|
// Copy copies the elements of x into the elements of y:
|
||||||
// y[i] = x[i] for all i.
|
// y[i] = x[i] for all i.
|
||||||
// Copy requires that the lengths of x and y match and will panic otherwise.
|
// Copy will panic if the lengths of x and y do not match.
|
||||||
func Copy(x, y Vector) {
|
func Copy(x, y Vector) {
|
||||||
if x.N != y.N {
|
if x.N != y.N {
|
||||||
panic(badLength)
|
panic(badLength)
|
||||||
@@ -168,6 +170,7 @@ func Copy(x, y Vector) {
|
|||||||
|
|
||||||
// Axpy adds x scaled by alpha to y:
|
// Axpy adds x scaled by alpha to y:
|
||||||
// y[i] += alpha*x[i] for all i.
|
// y[i] += alpha*x[i] for all i.
|
||||||
|
// Axpy will panic if the lengths of x and y do not match.
|
||||||
func Axpy(alpha float64, x, y Vector) {
|
func Axpy(alpha float64, x, y Vector) {
|
||||||
if x.N != y.N {
|
if x.N != y.N {
|
||||||
panic(badLength)
|
panic(badLength)
|
||||||
@@ -232,48 +235,48 @@ func Scal(alpha float64, x Vector) {
|
|||||||
// Level 2
|
// Level 2
|
||||||
|
|
||||||
// Gemv computes
|
// Gemv computes
|
||||||
// y = alpha * A * x + beta * y, if t == blas.NoTrans,
|
// y = alpha * A * x + beta * y if t == blas.NoTrans,
|
||||||
// y = alpha * A^T * x + beta * y, if t == blas.Trans or blas.ConjTrans,
|
// y = alpha * Aᵀ * x + beta * y if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
func Gemv(t blas.Transpose, alpha float64, a General, x Vector, beta float64, y Vector) {
|
func Gemv(t blas.Transpose, alpha float64, a General, x Vector, beta float64, y Vector) {
|
||||||
blas64.Dgemv(t, a.Rows, a.Cols, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)
|
blas64.Dgemv(t, a.Rows, a.Cols, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gbmv computes
|
// Gbmv computes
|
||||||
// y = alpha * A * x + beta * y, if t == blas.NoTrans,
|
// y = alpha * A * x + beta * y if t == blas.NoTrans,
|
||||||
// y = alpha * A^T * x + beta * y, if t == blas.Trans or blas.ConjTrans,
|
// y = alpha * Aᵀ * x + beta * y if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an m×n band matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n band matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
func Gbmv(t blas.Transpose, alpha float64, a Band, x Vector, beta float64, y Vector) {
|
func Gbmv(t blas.Transpose, alpha float64, a Band, x Vector, beta float64, y Vector) {
|
||||||
blas64.Dgbmv(t, a.Rows, a.Cols, a.KL, a.KU, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)
|
blas64.Dgbmv(t, a.Rows, a.Cols, a.KL, a.KU, alpha, a.Data, a.Stride, x.Data, x.Inc, beta, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trmv computes
|
// Trmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans or blas.ConjTrans,
|
// x = Aᵀ * x if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix, and x is a vector.
|
// where A is an n×n triangular matrix, and x is a vector.
|
||||||
func Trmv(t blas.Transpose, a Triangular, x Vector) {
|
func Trmv(t blas.Transpose, a Triangular, x Vector) {
|
||||||
blas64.Dtrmv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)
|
blas64.Dtrmv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tbmv computes
|
// Tbmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans or blas.ConjTrans,
|
// x = Aᵀ * x if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular band matrix, and x is a vector.
|
// where A is an n×n triangular band matrix, and x is a vector.
|
||||||
func Tbmv(t blas.Transpose, a TriangularBand, x Vector) {
|
func Tbmv(t blas.Transpose, a TriangularBand, x Vector) {
|
||||||
blas64.Dtbmv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)
|
blas64.Dtbmv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tpmv computes
|
// Tpmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans or blas.ConjTrans,
|
// x = Aᵀ * x if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
||||||
func Tpmv(t blas.Transpose, a TriangularPacked, x Vector) {
|
func Tpmv(t blas.Transpose, a TriangularPacked, x Vector) {
|
||||||
blas64.Dtpmv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)
|
blas64.Dtpmv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trsv solves
|
// Trsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans or blas.ConjTrans,
|
// Aᵀ * x = b if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix, and x and b are vectors.
|
// where A is an n×n triangular matrix, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -286,8 +289,8 @@ func Trsv(t blas.Transpose, a Triangular, x Vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tbsv solves
|
// Tbsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans or blas.ConjTrans,
|
// Aᵀ * x = b if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular band matrix, and x and b are vectors.
|
// where A is an n×n triangular band matrix, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -300,8 +303,8 @@ func Tbsv(t blas.Transpose, a TriangularBand, x Vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tpsv solves
|
// Tpsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans or blas.ConjTrans,
|
// Aᵀ * x = b if t == blas.Trans or blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix in packed format, and x and b are
|
// where A is an n×n triangular matrix in packed format, and x and b are
|
||||||
// vectors.
|
// vectors.
|
||||||
//
|
//
|
||||||
@@ -339,21 +342,21 @@ func Spmv(alpha float64, a SymmetricPacked, x Vector, beta float64, y Vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ger performs a rank-1 update
|
// Ger performs a rank-1 update
|
||||||
// A += alpha * x * y^T,
|
// A += alpha * x * yᵀ,
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Ger(alpha float64, x, y Vector, a General) {
|
func Ger(alpha float64, x, y Vector, a General) {
|
||||||
blas64.Dger(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
blas64.Dger(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Syr performs a rank-1 update
|
// Syr performs a rank-1 update
|
||||||
// A += alpha * x * x^T,
|
// A += alpha * x * xᵀ,
|
||||||
// where A is an n×n symmetric matrix, x is a vector, and alpha is a scalar.
|
// where A is an n×n symmetric matrix, x is a vector, and alpha is a scalar.
|
||||||
func Syr(alpha float64, x Vector, a Symmetric) {
|
func Syr(alpha float64, x Vector, a Symmetric) {
|
||||||
blas64.Dsyr(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data, a.Stride)
|
blas64.Dsyr(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spr performs the rank-1 update
|
// Spr performs the rank-1 update
|
||||||
// A += alpha * x * x^T,
|
// A += alpha * x * xᵀ,
|
||||||
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
func Spr(alpha float64, x Vector, a SymmetricPacked) {
|
func Spr(alpha float64, x Vector, a SymmetricPacked) {
|
||||||
@@ -361,14 +364,14 @@ func Spr(alpha float64, x Vector, a SymmetricPacked) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Syr2 performs a rank-2 update
|
// Syr2 performs a rank-2 update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T,
|
// A += alpha * x * yᵀ + alpha * y * xᵀ,
|
||||||
// where A is a symmetric n×n matrix, x and y are vectors, and alpha is a scalar.
|
// where A is a symmetric n×n matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Syr2(alpha float64, x, y Vector, a Symmetric) {
|
func Syr2(alpha float64, x, y Vector, a Symmetric) {
|
||||||
blas64.Dsyr2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
blas64.Dsyr2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spr2 performs a rank-2 update
|
// Spr2 performs a rank-2 update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T,
|
// A += alpha * x * yᵀ + alpha * y * xᵀ,
|
||||||
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
||||||
// and alpha is a scalar.
|
// and alpha is a scalar.
|
||||||
func Spr2(alpha float64, x, y Vector, a SymmetricPacked) {
|
func Spr2(alpha float64, x, y Vector, a SymmetricPacked) {
|
||||||
@@ -397,8 +400,8 @@ func Gemm(tA, tB blas.Transpose, alpha float64, a, b General, beta float64, c Ge
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Symm performs
|
// Symm performs
|
||||||
// C = alpha * A * B + beta * C, if s == blas.Left,
|
// C = alpha * A * B + beta * C if s == blas.Left,
|
||||||
// C = alpha * B * A + beta * C, if s == blas.Right,
|
// C = alpha * B * A + beta * C if s == blas.Right,
|
||||||
// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and
|
// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
func Symm(s blas.Side, alpha float64, a Symmetric, b General, beta float64, c General) {
|
func Symm(s blas.Side, alpha float64, a Symmetric, b General, beta float64, c General) {
|
||||||
@@ -412,8 +415,8 @@ func Symm(s blas.Side, alpha float64, a Symmetric, b General, beta float64, c Ge
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Syrk performs a symmetric rank-k update
|
// Syrk performs a symmetric rank-k update
|
||||||
// C = alpha * A * A^T + beta * C, if t == blas.NoTrans,
|
// C = alpha * A * Aᵀ + beta * C if t == blas.NoTrans,
|
||||||
// C = alpha * A^T * A + beta * C, if t == blas.Trans or blas.ConjTrans,
|
// C = alpha * Aᵀ * A + beta * C if t == blas.Trans or blas.ConjTrans,
|
||||||
// where C is an n×n symmetric matrix, A is an n×k matrix if t == blas.NoTrans and
|
// where C is an n×n symmetric matrix, A is an n×k matrix if t == blas.NoTrans and
|
||||||
// a k×n matrix otherwise, and alpha and beta are scalars.
|
// a k×n matrix otherwise, and alpha and beta are scalars.
|
||||||
func Syrk(t blas.Transpose, alpha float64, a General, beta float64, c Symmetric) {
|
func Syrk(t blas.Transpose, alpha float64, a General, beta float64, c Symmetric) {
|
||||||
@@ -427,8 +430,8 @@ func Syrk(t blas.Transpose, alpha float64, a General, beta float64, c Symmetric)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Syr2k performs a symmetric rank-2k update
|
// Syr2k performs a symmetric rank-2k update
|
||||||
// C = alpha * A * B^T + alpha * B * A^T + beta * C, if t == blas.NoTrans,
|
// C = alpha * A * Bᵀ + alpha * B * Aᵀ + beta * C if t == blas.NoTrans,
|
||||||
// C = alpha * A^T * B + alpha * B^T * A + beta * C, if t == blas.Trans or blas.ConjTrans,
|
// C = alpha * Aᵀ * B + alpha * Bᵀ * A + beta * C if t == blas.Trans or blas.ConjTrans,
|
||||||
// where C is an n×n symmetric matrix, A and B are n×k matrices if t == NoTrans
|
// where C is an n×n symmetric matrix, A and B are n×k matrices if t == NoTrans
|
||||||
// and k×n matrices otherwise, and alpha and beta are scalars.
|
// and k×n matrices otherwise, and alpha and beta are scalars.
|
||||||
func Syr2k(t blas.Transpose, alpha float64, a, b General, beta float64, c Symmetric) {
|
func Syr2k(t blas.Transpose, alpha float64, a, b General, beta float64, c Symmetric) {
|
||||||
@@ -442,10 +445,10 @@ func Syr2k(t blas.Transpose, alpha float64, a, b General, beta float64, c Symmet
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trmm performs
|
// Trmm performs
|
||||||
// B = alpha * A * B, if tA == blas.NoTrans and s == blas.Left,
|
// B = alpha * A * B if tA == blas.NoTrans and s == blas.Left,
|
||||||
// B = alpha * A^T * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,
|
// B = alpha * Aᵀ * B if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,
|
||||||
// B = alpha * B * A, if tA == blas.NoTrans and s == blas.Right,
|
// B = alpha * B * A if tA == blas.NoTrans and s == blas.Right,
|
||||||
// B = alpha * B * A^T, if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,
|
// B = alpha * B * Aᵀ if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,
|
||||||
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is
|
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is
|
||||||
// a scalar.
|
// a scalar.
|
||||||
func Trmm(s blas.Side, tA blas.Transpose, alpha float64, a Triangular, b General) {
|
func Trmm(s blas.Side, tA blas.Transpose, alpha float64, a Triangular, b General) {
|
||||||
@@ -453,10 +456,10 @@ func Trmm(s blas.Side, tA blas.Transpose, alpha float64, a Triangular, b General
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trsm solves
|
// Trsm solves
|
||||||
// A * X = alpha * B, if tA == blas.NoTrans and s == blas.Left,
|
// A * X = alpha * B if tA == blas.NoTrans and s == blas.Left,
|
||||||
// A^T * X = alpha * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,
|
// Aᵀ * X = alpha * B if tA == blas.Trans or blas.ConjTrans, and s == blas.Left,
|
||||||
// X * A = alpha * B, if tA == blas.NoTrans and s == blas.Right,
|
// X * A = alpha * B if tA == blas.NoTrans and s == blas.Right,
|
||||||
// X * A^T = alpha * B, if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,
|
// X * Aᵀ = alpha * B if tA == blas.Trans or blas.ConjTrans, and s == blas.Right,
|
||||||
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and
|
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/blas/blas64/conv.go
generated
vendored
2
vendor/gonum.org/v1/gonum/blas/blas64/conv.go
generated
vendored
@@ -169,7 +169,7 @@ func (t Band) From(a BandCols) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TriangularBandCols represents a symmetric matrix using the band column-major storage scheme.
|
// TriangularBandCols represents a triangular matrix using the band column-major storage scheme.
|
||||||
type TriangularBandCols TriangularBand
|
type TriangularBandCols TriangularBand
|
||||||
|
|
||||||
// From fills the receiver with elements from a. The receiver
|
// From fills the receiver with elements from a. The receiver
|
||||||
|
|||||||
178
vendor/gonum.org/v1/gonum/blas/cblas128/cblas128.go
generated
vendored
178
vendor/gonum.org/v1/gonum/blas/cblas128/cblas128.go
generated
vendored
@@ -28,6 +28,7 @@ func Implementation() blas.Complex128 {
|
|||||||
|
|
||||||
// Vector represents a vector with an associated element increment.
|
// Vector represents a vector with an associated element increment.
|
||||||
type Vector struct {
|
type Vector struct {
|
||||||
|
N int
|
||||||
Inc int
|
Inc int
|
||||||
Data []complex128
|
Data []complex128
|
||||||
}
|
}
|
||||||
@@ -107,31 +108,42 @@ type HermitianPacked SymmetricPacked
|
|||||||
|
|
||||||
// Level 1
|
// Level 1
|
||||||
|
|
||||||
const negInc = "cblas128: negative vector increment"
|
const (
|
||||||
|
negInc = "cblas128: negative vector increment"
|
||||||
|
badLength = "cblas128: vector length mismatch"
|
||||||
|
)
|
||||||
|
|
||||||
// Dotu computes the dot product of the two vectors without
|
// Dotu computes the dot product of the two vectors without
|
||||||
// complex conjugation:
|
// complex conjugation:
|
||||||
// x^T * y.
|
// xᵀ * y.
|
||||||
func Dotu(n int, x, y Vector) complex128 {
|
// Dotu will panic if the lengths of x and y do not match.
|
||||||
return cblas128.Zdotu(n, x.Data, x.Inc, y.Data, y.Inc)
|
func Dotu(x, y Vector) complex128 {
|
||||||
|
if x.N != y.N {
|
||||||
|
panic(badLength)
|
||||||
|
}
|
||||||
|
return cblas128.Zdotu(x.N, x.Data, x.Inc, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dotc computes the dot product of the two vectors with
|
// Dotc computes the dot product of the two vectors with
|
||||||
// complex conjugation:
|
// complex conjugation:
|
||||||
// x^H * y.
|
// xᴴ * y.
|
||||||
func Dotc(n int, x, y Vector) complex128 {
|
// Dotc will panic if the lengths of x and y do not match.
|
||||||
return cblas128.Zdotc(n, x.Data, x.Inc, y.Data, y.Inc)
|
func Dotc(x, y Vector) complex128 {
|
||||||
|
if x.N != y.N {
|
||||||
|
panic(badLength)
|
||||||
|
}
|
||||||
|
return cblas128.Zdotc(x.N, x.Data, x.Inc, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nrm2 computes the Euclidean norm of the vector x:
|
// Nrm2 computes the Euclidean norm of the vector x:
|
||||||
// sqrt(\sum_i x[i] * x[i]).
|
// sqrt(\sum_i x[i] * x[i]).
|
||||||
//
|
//
|
||||||
// Nrm2 will panic if the vector increment is negative.
|
// Nrm2 will panic if the vector increment is negative.
|
||||||
func Nrm2(n int, x Vector) float64 {
|
func Nrm2(x Vector) float64 {
|
||||||
if x.Inc < 0 {
|
if x.Inc < 0 {
|
||||||
panic(negInc)
|
panic(negInc)
|
||||||
}
|
}
|
||||||
return cblas128.Dznrm2(n, x.Data, x.Inc)
|
return cblas128.Dznrm2(x.N, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Asum computes the sum of magnitudes of the real and imaginary parts of
|
// Asum computes the sum of magnitudes of the real and imaginary parts of
|
||||||
@@ -139,11 +151,11 @@ func Nrm2(n int, x Vector) float64 {
|
|||||||
// \sum_i (|Re x[i]| + |Im x[i]|).
|
// \sum_i (|Re x[i]| + |Im x[i]|).
|
||||||
//
|
//
|
||||||
// Asum will panic if the vector increment is negative.
|
// Asum will panic if the vector increment is negative.
|
||||||
func Asum(n int, x Vector) float64 {
|
func Asum(x Vector) float64 {
|
||||||
if x.Inc < 0 {
|
if x.Inc < 0 {
|
||||||
panic(negInc)
|
panic(negInc)
|
||||||
}
|
}
|
||||||
return cblas128.Dzasum(n, x.Data, x.Inc)
|
return cblas128.Dzasum(x.N, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iamax returns the index of an element of x with the largest sum of
|
// Iamax returns the index of an element of x with the largest sum of
|
||||||
@@ -153,30 +165,42 @@ func Asum(n int, x Vector) float64 {
|
|||||||
// Iamax returns -1 if n == 0.
|
// Iamax returns -1 if n == 0.
|
||||||
//
|
//
|
||||||
// Iamax will panic if the vector increment is negative.
|
// Iamax will panic if the vector increment is negative.
|
||||||
func Iamax(n int, x Vector) int {
|
func Iamax(x Vector) int {
|
||||||
if x.Inc < 0 {
|
if x.Inc < 0 {
|
||||||
panic(negInc)
|
panic(negInc)
|
||||||
}
|
}
|
||||||
return cblas128.Izamax(n, x.Data, x.Inc)
|
return cblas128.Izamax(x.N, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Swap exchanges the elements of two vectors:
|
// Swap exchanges the elements of two vectors:
|
||||||
// x[i], y[i] = y[i], x[i] for all i.
|
// x[i], y[i] = y[i], x[i] for all i.
|
||||||
func Swap(n int, x, y Vector) {
|
// Swap will panic if the lengths of x and y do not match.
|
||||||
cblas128.Zswap(n, x.Data, x.Inc, y.Data, y.Inc)
|
func Swap(x, y Vector) {
|
||||||
|
if x.N != y.N {
|
||||||
|
panic(badLength)
|
||||||
|
}
|
||||||
|
cblas128.Zswap(x.N, x.Data, x.Inc, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy copies the elements of x into the elements of y:
|
// Copy copies the elements of x into the elements of y:
|
||||||
// y[i] = x[i] for all i.
|
// y[i] = x[i] for all i.
|
||||||
func Copy(n int, x, y Vector) {
|
// Copy will panic if the lengths of x and y do not match.
|
||||||
cblas128.Zcopy(n, x.Data, x.Inc, y.Data, y.Inc)
|
func Copy(x, y Vector) {
|
||||||
|
if x.N != y.N {
|
||||||
|
panic(badLength)
|
||||||
|
}
|
||||||
|
cblas128.Zcopy(x.N, x.Data, x.Inc, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Axpy computes
|
// Axpy computes
|
||||||
// y = alpha * x + y,
|
// y = alpha * x + y,
|
||||||
// where x and y are vectors, and alpha is a scalar.
|
// where x and y are vectors, and alpha is a scalar.
|
||||||
func Axpy(n int, alpha complex128, x, y Vector) {
|
// Axpy will panic if the lengths of x and y do not match.
|
||||||
cblas128.Zaxpy(n, alpha, x.Data, x.Inc, y.Data, y.Inc)
|
func Axpy(alpha complex128, x, y Vector) {
|
||||||
|
if x.N != y.N {
|
||||||
|
panic(badLength)
|
||||||
|
}
|
||||||
|
cblas128.Zaxpy(x.N, alpha, x.Data, x.Inc, y.Data, y.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scal computes
|
// Scal computes
|
||||||
@@ -184,11 +208,11 @@ func Axpy(n int, alpha complex128, x, y Vector) {
|
|||||||
// where x is a vector, and alpha is a scalar.
|
// where x is a vector, and alpha is a scalar.
|
||||||
//
|
//
|
||||||
// Scal will panic if the vector increment is negative.
|
// Scal will panic if the vector increment is negative.
|
||||||
func Scal(n int, alpha complex128, x Vector) {
|
func Scal(alpha complex128, x Vector) {
|
||||||
if x.Inc < 0 {
|
if x.Inc < 0 {
|
||||||
panic(negInc)
|
panic(negInc)
|
||||||
}
|
}
|
||||||
cblas128.Zscal(n, alpha, x.Data, x.Inc)
|
cblas128.Zscal(x.N, alpha, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dscal computes
|
// Dscal computes
|
||||||
@@ -196,19 +220,19 @@ func Scal(n int, alpha complex128, x Vector) {
|
|||||||
// where x is a vector, and alpha is a real scalar.
|
// where x is a vector, and alpha is a real scalar.
|
||||||
//
|
//
|
||||||
// Dscal will panic if the vector increment is negative.
|
// Dscal will panic if the vector increment is negative.
|
||||||
func Dscal(n int, alpha float64, x Vector) {
|
func Dscal(alpha float64, x Vector) {
|
||||||
if x.Inc < 0 {
|
if x.Inc < 0 {
|
||||||
panic(negInc)
|
panic(negInc)
|
||||||
}
|
}
|
||||||
cblas128.Zdscal(n, alpha, x.Data, x.Inc)
|
cblas128.Zdscal(x.N, alpha, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Level 2
|
// Level 2
|
||||||
|
|
||||||
// Gemv computes
|
// Gemv computes
|
||||||
// y = alpha * A * x + beta * y, if t == blas.NoTrans,
|
// y = alpha * A * x + beta * y if t == blas.NoTrans,
|
||||||
// y = alpha * A^T * x + beta * y, if t == blas.Trans,
|
// y = alpha * Aᵀ * x + beta * y if t == blas.Trans,
|
||||||
// y = alpha * A^H * x + beta * y, if t == blas.ConjTrans,
|
// y = alpha * Aᴴ * x + beta * y if t == blas.ConjTrans,
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are
|
||||||
// scalars.
|
// scalars.
|
||||||
func Gemv(t blas.Transpose, alpha complex128, a General, x Vector, beta complex128, y Vector) {
|
func Gemv(t blas.Transpose, alpha complex128, a General, x Vector, beta complex128, y Vector) {
|
||||||
@@ -216,9 +240,9 @@ func Gemv(t blas.Transpose, alpha complex128, a General, x Vector, beta complex1
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Gbmv computes
|
// Gbmv computes
|
||||||
// y = alpha * A * x + beta * y, if t == blas.NoTrans,
|
// y = alpha * A * x + beta * y if t == blas.NoTrans,
|
||||||
// y = alpha * A^T * x + beta * y, if t == blas.Trans,
|
// y = alpha * Aᵀ * x + beta * y if t == blas.Trans,
|
||||||
// y = alpha * A^H * x + beta * y, if t == blas.ConjTrans,
|
// y = alpha * Aᴴ * x + beta * y if t == blas.ConjTrans,
|
||||||
// where A is an m×n band matrix, x and y are vectors, and alpha and beta are
|
// where A is an m×n band matrix, x and y are vectors, and alpha and beta are
|
||||||
// scalars.
|
// scalars.
|
||||||
func Gbmv(t blas.Transpose, alpha complex128, a Band, x Vector, beta complex128, y Vector) {
|
func Gbmv(t blas.Transpose, alpha complex128, a Band, x Vector, beta complex128, y Vector) {
|
||||||
@@ -226,36 +250,36 @@ func Gbmv(t blas.Transpose, alpha complex128, a Band, x Vector, beta complex128,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trmv computes
|
// Trmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans,
|
// x = Aᵀ * x if t == blas.Trans,
|
||||||
// x = A^H * x, if t == blas.ConjTrans,
|
// x = Aᴴ * x if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix, and x is a vector.
|
// where A is an n×n triangular matrix, and x is a vector.
|
||||||
func Trmv(t blas.Transpose, a Triangular, x Vector) {
|
func Trmv(t blas.Transpose, a Triangular, x Vector) {
|
||||||
cblas128.Ztrmv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)
|
cblas128.Ztrmv(a.Uplo, t, a.Diag, a.N, a.Data, a.Stride, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tbmv computes
|
// Tbmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans,
|
// x = Aᵀ * x if t == blas.Trans,
|
||||||
// x = A^H * x, if t == blas.ConjTrans,
|
// x = Aᴴ * x if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular band matrix, and x is a vector.
|
// where A is an n×n triangular band matrix, and x is a vector.
|
||||||
func Tbmv(t blas.Transpose, a TriangularBand, x Vector) {
|
func Tbmv(t blas.Transpose, a TriangularBand, x Vector) {
|
||||||
cblas128.Ztbmv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)
|
cblas128.Ztbmv(a.Uplo, t, a.Diag, a.N, a.K, a.Data, a.Stride, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tpmv computes
|
// Tpmv computes
|
||||||
// x = A * x, if t == blas.NoTrans,
|
// x = A * x if t == blas.NoTrans,
|
||||||
// x = A^T * x, if t == blas.Trans,
|
// x = Aᵀ * x if t == blas.Trans,
|
||||||
// x = A^H * x, if t == blas.ConjTrans,
|
// x = Aᴴ * x if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
||||||
func Tpmv(t blas.Transpose, a TriangularPacked, x Vector) {
|
func Tpmv(t blas.Transpose, a TriangularPacked, x Vector) {
|
||||||
cblas128.Ztpmv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)
|
cblas128.Ztpmv(a.Uplo, t, a.Diag, a.N, a.Data, x.Data, x.Inc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trsv solves
|
// Trsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans,
|
// Aᵀ * x = b if t == blas.Trans,
|
||||||
// A^H * x = b, if t == blas.ConjTrans,
|
// Aᴴ * x = b if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix and x is a vector.
|
// where A is an n×n triangular matrix and x is a vector.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -268,9 +292,9 @@ func Trsv(t blas.Transpose, a Triangular, x Vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tbsv solves
|
// Tbsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans,
|
// Aᵀ * x = b if t == blas.Trans,
|
||||||
// A^H * x = b, if t == blas.ConjTrans,
|
// Aᴴ * x = b if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular band matrix, and x is a vector.
|
// where A is an n×n triangular band matrix, and x is a vector.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -283,9 +307,9 @@ func Tbsv(t blas.Transpose, a TriangularBand, x Vector) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tpsv solves
|
// Tpsv solves
|
||||||
// A * x = b, if t == blas.NoTrans,
|
// A * x = b if t == blas.NoTrans,
|
||||||
// A^T * x = b, if t == blas.Trans,
|
// Aᵀ * x = b if t == blas.Trans,
|
||||||
// A^H * x = b, if t == blas.ConjTrans,
|
// Aᴴ * x = b if t == blas.ConjTrans,
|
||||||
// where A is an n×n triangular matrix in packed format and x is a vector.
|
// where A is an n×n triangular matrix in packed format and x is a vector.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -322,28 +346,28 @@ func Hpmv(alpha complex128, a HermitianPacked, x Vector, beta complex128, y Vect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Geru performs a rank-1 update
|
// Geru performs a rank-1 update
|
||||||
// A += alpha * x * y^T,
|
// A += alpha * x * yᵀ,
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Geru(alpha complex128, x, y Vector, a General) {
|
func Geru(alpha complex128, x, y Vector, a General) {
|
||||||
cblas128.Zgeru(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
cblas128.Zgeru(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gerc performs a rank-1 update
|
// Gerc performs a rank-1 update
|
||||||
// A += alpha * x * y^H,
|
// A += alpha * x * yᴴ,
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Gerc(alpha complex128, x, y Vector, a General) {
|
func Gerc(alpha complex128, x, y Vector, a General) {
|
||||||
cblas128.Zgerc(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
cblas128.Zgerc(a.Rows, a.Cols, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Her performs a rank-1 update
|
// Her performs a rank-1 update
|
||||||
// A += alpha * x * y^T,
|
// A += alpha * x * yᵀ,
|
||||||
// where A is an m×n Hermitian matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n Hermitian matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Her(alpha float64, x Vector, a Hermitian) {
|
func Her(alpha float64, x Vector, a Hermitian) {
|
||||||
cblas128.Zher(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data, a.Stride)
|
cblas128.Zher(a.Uplo, a.N, alpha, x.Data, x.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hpr performs a rank-1 update
|
// Hpr performs a rank-1 update
|
||||||
// A += alpha * x * x^H,
|
// A += alpha * x * xᴴ,
|
||||||
// where A is an n×n Hermitian matrix in packed format, x is a vector, and
|
// where A is an n×n Hermitian matrix in packed format, x is a vector, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
func Hpr(alpha float64, x Vector, a HermitianPacked) {
|
func Hpr(alpha float64, x Vector, a HermitianPacked) {
|
||||||
@@ -351,14 +375,14 @@ func Hpr(alpha float64, x Vector, a HermitianPacked) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Her2 performs a rank-2 update
|
// Her2 performs a rank-2 update
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H,
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ,
|
||||||
// where A is an n×n Hermitian matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an n×n Hermitian matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Her2(alpha complex128, x, y Vector, a Hermitian) {
|
func Her2(alpha complex128, x, y Vector, a Hermitian) {
|
||||||
cblas128.Zher2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
cblas128.Zher2(a.Uplo, a.N, alpha, x.Data, x.Inc, y.Data, y.Inc, a.Data, a.Stride)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hpr2 performs a rank-2 update
|
// Hpr2 performs a rank-2 update
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H,
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ,
|
||||||
// where A is an n×n Hermitian matrix in packed format, x and y are vectors,
|
// where A is an n×n Hermitian matrix in packed format, x and y are vectors,
|
||||||
// and alpha is a scalar.
|
// and alpha is a scalar.
|
||||||
func Hpr2(alpha complex128, x, y Vector, a HermitianPacked) {
|
func Hpr2(alpha complex128, x, y Vector, a HermitianPacked) {
|
||||||
@@ -387,8 +411,8 @@ func Gemm(tA, tB blas.Transpose, alpha complex128, a, b General, beta complex128
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Symm performs
|
// Symm performs
|
||||||
// C = alpha * A * B + beta * C, if s == blas.Left,
|
// C = alpha * A * B + beta * C if s == blas.Left,
|
||||||
// C = alpha * B * A + beta * C, if s == blas.Right,
|
// C = alpha * B * A + beta * C if s == blas.Right,
|
||||||
// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and
|
// where A is an n×n or m×m symmetric matrix, B and C are m×n matrices, and
|
||||||
// alpha and beta are scalars.
|
// alpha and beta are scalars.
|
||||||
func Symm(s blas.Side, alpha complex128, a Symmetric, b General, beta complex128, c General) {
|
func Symm(s blas.Side, alpha complex128, a Symmetric, b General, beta complex128, c General) {
|
||||||
@@ -402,8 +426,8 @@ func Symm(s blas.Side, alpha complex128, a Symmetric, b General, beta complex128
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Syrk performs a symmetric rank-k update
|
// Syrk performs a symmetric rank-k update
|
||||||
// C = alpha * A * A^T + beta * C, if t == blas.NoTrans,
|
// C = alpha * A * Aᵀ + beta * C if t == blas.NoTrans,
|
||||||
// C = alpha * A^T * A + beta * C, if t == blas.Trans,
|
// C = alpha * Aᵀ * A + beta * C if t == blas.Trans,
|
||||||
// where C is an n×n symmetric matrix, A is an n×k matrix if t == blas.NoTrans
|
// where C is an n×n symmetric matrix, A is an n×k matrix if t == blas.NoTrans
|
||||||
// and a k×n matrix otherwise, and alpha and beta are scalars.
|
// and a k×n matrix otherwise, and alpha and beta are scalars.
|
||||||
func Syrk(t blas.Transpose, alpha complex128, a General, beta complex128, c Symmetric) {
|
func Syrk(t blas.Transpose, alpha complex128, a General, beta complex128, c Symmetric) {
|
||||||
@@ -417,8 +441,8 @@ func Syrk(t blas.Transpose, alpha complex128, a General, beta complex128, c Symm
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Syr2k performs a symmetric rank-2k update
|
// Syr2k performs a symmetric rank-2k update
|
||||||
// C = alpha * A * B^T + alpha * B * A^T + beta * C, if t == blas.NoTrans,
|
// C = alpha * A * Bᵀ + alpha * B * Aᵀ + beta * C if t == blas.NoTrans,
|
||||||
// C = alpha * A^T * B + alpha * B^T * A + beta * C, if t == blas.Trans,
|
// C = alpha * Aᵀ * B + alpha * Bᵀ * A + beta * C if t == blas.Trans,
|
||||||
// where C is an n×n symmetric matrix, A and B are n×k matrices if
|
// where C is an n×n symmetric matrix, A and B are n×k matrices if
|
||||||
// t == blas.NoTrans and k×n otherwise, and alpha and beta are scalars.
|
// t == blas.NoTrans and k×n otherwise, and alpha and beta are scalars.
|
||||||
func Syr2k(t blas.Transpose, alpha complex128, a, b General, beta complex128, c Symmetric) {
|
func Syr2k(t blas.Transpose, alpha complex128, a, b General, beta complex128, c Symmetric) {
|
||||||
@@ -432,12 +456,12 @@ func Syr2k(t blas.Transpose, alpha complex128, a, b General, beta complex128, c
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trmm performs
|
// Trmm performs
|
||||||
// B = alpha * A * B, if tA == blas.NoTrans and s == blas.Left,
|
// B = alpha * A * B if tA == blas.NoTrans and s == blas.Left,
|
||||||
// B = alpha * A^T * B, if tA == blas.Trans and s == blas.Left,
|
// B = alpha * Aᵀ * B if tA == blas.Trans and s == blas.Left,
|
||||||
// B = alpha * A^H * B, if tA == blas.ConjTrans and s == blas.Left,
|
// B = alpha * Aᴴ * B if tA == blas.ConjTrans and s == blas.Left,
|
||||||
// B = alpha * B * A, if tA == blas.NoTrans and s == blas.Right,
|
// B = alpha * B * A if tA == blas.NoTrans and s == blas.Right,
|
||||||
// B = alpha * B * A^T, if tA == blas.Trans and s == blas.Right,
|
// B = alpha * B * Aᵀ if tA == blas.Trans and s == blas.Right,
|
||||||
// B = alpha * B * A^H, if tA == blas.ConjTrans and s == blas.Right,
|
// B = alpha * B * Aᴴ if tA == blas.ConjTrans and s == blas.Right,
|
||||||
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is
|
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is
|
||||||
// a scalar.
|
// a scalar.
|
||||||
func Trmm(s blas.Side, tA blas.Transpose, alpha complex128, a Triangular, b General) {
|
func Trmm(s blas.Side, tA blas.Transpose, alpha complex128, a Triangular, b General) {
|
||||||
@@ -445,12 +469,12 @@ func Trmm(s blas.Side, tA blas.Transpose, alpha complex128, a Triangular, b Gene
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trsm solves
|
// Trsm solves
|
||||||
// A * X = alpha * B, if tA == blas.NoTrans and s == blas.Left,
|
// A * X = alpha * B if tA == blas.NoTrans and s == blas.Left,
|
||||||
// A^T * X = alpha * B, if tA == blas.Trans and s == blas.Left,
|
// Aᵀ * X = alpha * B if tA == blas.Trans and s == blas.Left,
|
||||||
// A^H * X = alpha * B, if tA == blas.ConjTrans and s == blas.Left,
|
// Aᴴ * X = alpha * B if tA == blas.ConjTrans and s == blas.Left,
|
||||||
// X * A = alpha * B, if tA == blas.NoTrans and s == blas.Right,
|
// X * A = alpha * B if tA == blas.NoTrans and s == blas.Right,
|
||||||
// X * A^T = alpha * B, if tA == blas.Trans and s == blas.Right,
|
// X * Aᵀ = alpha * B if tA == blas.Trans and s == blas.Right,
|
||||||
// X * A^H = alpha * B, if tA == blas.ConjTrans and s == blas.Right,
|
// X * Aᴴ = alpha * B if tA == blas.ConjTrans and s == blas.Right,
|
||||||
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and
|
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
//
|
//
|
||||||
@@ -463,8 +487,8 @@ func Trsm(s blas.Side, tA blas.Transpose, alpha complex128, a Triangular, b Gene
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Hemm performs
|
// Hemm performs
|
||||||
// C = alpha * A * B + beta * C, if s == blas.Left,
|
// C = alpha * A * B + beta * C if s == blas.Left,
|
||||||
// C = alpha * B * A + beta * C, if s == blas.Right,
|
// C = alpha * B * A + beta * C if s == blas.Right,
|
||||||
// where A is an n×n or m×m Hermitian matrix, B and C are m×n matrices, and
|
// where A is an n×n or m×m Hermitian matrix, B and C are m×n matrices, and
|
||||||
// alpha and beta are scalars.
|
// alpha and beta are scalars.
|
||||||
func Hemm(s blas.Side, alpha complex128, a Hermitian, b General, beta complex128, c General) {
|
func Hemm(s blas.Side, alpha complex128, a Hermitian, b General, beta complex128, c General) {
|
||||||
@@ -478,8 +502,8 @@ func Hemm(s blas.Side, alpha complex128, a Hermitian, b General, beta complex128
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Herk performs the Hermitian rank-k update
|
// Herk performs the Hermitian rank-k update
|
||||||
// C = alpha * A * A^H + beta*C, if t == blas.NoTrans,
|
// C = alpha * A * Aᴴ + beta*C if t == blas.NoTrans,
|
||||||
// C = alpha * A^H * A + beta*C, if t == blas.ConjTrans,
|
// C = alpha * Aᴴ * A + beta*C if t == blas.ConjTrans,
|
||||||
// where C is an n×n Hermitian matrix, A is an n×k matrix if t == blas.NoTrans
|
// where C is an n×n Hermitian matrix, A is an n×k matrix if t == blas.NoTrans
|
||||||
// and a k×n matrix otherwise, and alpha and beta are scalars.
|
// and a k×n matrix otherwise, and alpha and beta are scalars.
|
||||||
func Herk(t blas.Transpose, alpha float64, a General, beta float64, c Hermitian) {
|
func Herk(t blas.Transpose, alpha float64, a General, beta float64, c Hermitian) {
|
||||||
@@ -493,8 +517,8 @@ func Herk(t blas.Transpose, alpha float64, a General, beta float64, c Hermitian)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Her2k performs the Hermitian rank-2k update
|
// Her2k performs the Hermitian rank-2k update
|
||||||
// C = alpha * A * B^H + conj(alpha) * B * A^H + beta * C, if t == blas.NoTrans,
|
// C = alpha * A * Bᴴ + conj(alpha) * B * Aᴴ + beta * C if t == blas.NoTrans,
|
||||||
// C = alpha * A^H * B + conj(alpha) * B^H * A + beta * C, if t == blas.ConjTrans,
|
// C = alpha * Aᴴ * B + conj(alpha) * Bᴴ * A + beta * C if t == blas.ConjTrans,
|
||||||
// where C is an n×n Hermitian matrix, A and B are n×k matrices if t == NoTrans
|
// where C is an n×n Hermitian matrix, A and B are n×k matrices if t == NoTrans
|
||||||
// and k×n matrices otherwise, and alpha and beta are scalars.
|
// and k×n matrices otherwise, and alpha and beta are scalars.
|
||||||
func Her2k(t blas.Transpose, alpha complex128, a, b General, beta float64, c Hermitian) {
|
func Her2k(t blas.Transpose, alpha complex128, a, b General, beta float64, c Hermitian) {
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/blas/cblas128/conv.go
generated
vendored
2
vendor/gonum.org/v1/gonum/blas/cblas128/conv.go
generated
vendored
@@ -171,7 +171,7 @@ func (t Band) From(a BandCols) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TriangularBandCols represents a symmetric matrix using the band column-major storage scheme.
|
// TriangularBandCols represents a triangular matrix using the band column-major storage scheme.
|
||||||
type TriangularBandCols TriangularBand
|
type TriangularBandCols TriangularBand
|
||||||
|
|
||||||
// From fills the receiver with elements from a. The receiver
|
// From fills the receiver with elements from a. The receiver
|
||||||
|
|||||||
12
vendor/gonum.org/v1/gonum/blas/gonum/dgemm.go
generated
vendored
12
vendor/gonum.org/v1/gonum/blas/gonum/dgemm.go
generated
vendored
@@ -14,9 +14,9 @@ import (
|
|||||||
|
|
||||||
// Dgemm performs one of the matrix-matrix operations
|
// Dgemm performs one of the matrix-matrix operations
|
||||||
// C = alpha * A * B + beta * C
|
// C = alpha * A * B + beta * C
|
||||||
// C = alpha * A^T * B + beta * C
|
// C = alpha * Aᵀ * B + beta * C
|
||||||
// C = alpha * A * B^T + beta * C
|
// C = alpha * A * Bᵀ + beta * C
|
||||||
// C = alpha * A^T * B^T + beta * C
|
// C = alpha * Aᵀ * Bᵀ + beta * C
|
||||||
// where A is an m×k or k×m dense matrix, B is an n×k or k×n dense matrix, C is
|
// where A is an m×k or k×m dense matrix, B is an n×k or k×n dense matrix, C is
|
||||||
// an m×n matrix, and alpha and beta are scalars. tA and tB specify whether A or
|
// an m×n matrix, and alpha and beta are scalars. tA and tB specify whether A or
|
||||||
// B are transposed.
|
// B are transposed.
|
||||||
@@ -134,9 +134,9 @@ func dgemmParallel(aTrans, bTrans bool, m, n, k int, a []float64, lda int, b []f
|
|||||||
// In all cases, there is one dimension for each matrix along which
|
// In all cases, there is one dimension for each matrix along which
|
||||||
// C must be updated sequentially.
|
// C must be updated sequentially.
|
||||||
// Cij = \sum_k Aik Bki, (A * B)
|
// Cij = \sum_k Aik Bki, (A * B)
|
||||||
// Cij = \sum_k Aki Bkj, (A^T * B)
|
// Cij = \sum_k Aki Bkj, (Aᵀ * B)
|
||||||
// Cij = \sum_k Aik Bjk, (A * B^T)
|
// Cij = \sum_k Aik Bjk, (A * Bᵀ)
|
||||||
// Cij = \sum_k Aki Bjk, (A^T * B^T)
|
// Cij = \sum_k Aki Bjk, (Aᵀ * Bᵀ)
|
||||||
//
|
//
|
||||||
// This code computes one {i, j} block sequentially along the k dimension,
|
// This code computes one {i, j} block sequentially along the k dimension,
|
||||||
// and computes all of the {i, j} blocks concurrently. This
|
// and computes all of the {i, j} blocks concurrently. This
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/blas/gonum/gemv.go
generated
vendored
4
vendor/gonum.org/v1/gonum/blas/gonum/gemv.go
generated
vendored
@@ -14,7 +14,7 @@ import (
|
|||||||
|
|
||||||
// Dgemv computes
|
// Dgemv computes
|
||||||
// y = alpha * A * x + beta * y if tA = blas.NoTrans
|
// y = alpha * A * x + beta * y if tA = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if tA = blas.Trans or blas.ConjTrans
|
// y = alpha * Aᵀ * x + beta * y if tA = blas.Trans or blas.ConjTrans
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
func (Implementation) Dgemv(tA blas.Transpose, m, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {
|
func (Implementation) Dgemv(tA blas.Transpose, m, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {
|
||||||
if tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {
|
if tA != blas.NoTrans && tA != blas.Trans && tA != blas.ConjTrans {
|
||||||
@@ -84,7 +84,7 @@ func (Implementation) Dgemv(tA blas.Transpose, m, n int, alpha float64, a []floa
|
|||||||
|
|
||||||
// Sgemv computes
|
// Sgemv computes
|
||||||
// y = alpha * A * x + beta * y if tA = blas.NoTrans
|
// y = alpha * A * x + beta * y if tA = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if tA = blas.Trans or blas.ConjTrans
|
// y = alpha * Aᵀ * x + beta * y if tA = blas.Trans or blas.ConjTrans
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/blas/gonum/level1cmplx128.go
generated
vendored
4
vendor/gonum.org/v1/gonum/blas/gonum/level1cmplx128.go
generated
vendored
@@ -240,7 +240,7 @@ func (Implementation) Zcopy(n int, x []complex128, incX int, y []complex128, inc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zdotc computes the dot product
|
// Zdotc computes the dot product
|
||||||
// x^H · y
|
// xᴴ · y
|
||||||
// of two complex vectors x and y.
|
// of two complex vectors x and y.
|
||||||
func (Implementation) Zdotc(n int, x []complex128, incX int, y []complex128, incY int) complex128 {
|
func (Implementation) Zdotc(n int, x []complex128, incX int, y []complex128, incY int) complex128 {
|
||||||
if incX == 0 {
|
if incX == 0 {
|
||||||
@@ -281,7 +281,7 @@ func (Implementation) Zdotc(n int, x []complex128, incX int, y []complex128, inc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zdotu computes the dot product
|
// Zdotu computes the dot product
|
||||||
// x^T · y
|
// xᵀ · y
|
||||||
// of two complex vectors x and y.
|
// of two complex vectors x and y.
|
||||||
func (Implementation) Zdotu(n int, x []complex128, incX int, y []complex128, incY int) complex128 {
|
func (Implementation) Zdotu(n int, x []complex128, incX int, y []complex128, incY int) complex128 {
|
||||||
if incX == 0 {
|
if incX == 0 {
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/blas/gonum/level1cmplx64.go
generated
vendored
4
vendor/gonum.org/v1/gonum/blas/gonum/level1cmplx64.go
generated
vendored
@@ -252,7 +252,7 @@ func (Implementation) Ccopy(n int, x []complex64, incX int, y []complex64, incY
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cdotc computes the dot product
|
// Cdotc computes the dot product
|
||||||
// x^H · y
|
// xᴴ · y
|
||||||
// of two complex vectors x and y.
|
// of two complex vectors x and y.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
@@ -295,7 +295,7 @@ func (Implementation) Cdotc(n int, x []complex64, incX int, y []complex64, incY
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cdotu computes the dot product
|
// Cdotu computes the dot product
|
||||||
// x^T · y
|
// xᵀ · y
|
||||||
// of two complex vectors x and y.
|
// of two complex vectors x and y.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
|
|||||||
64
vendor/gonum.org/v1/gonum/blas/gonum/level2cmplx128.go
generated
vendored
64
vendor/gonum.org/v1/gonum/blas/gonum/level2cmplx128.go
generated
vendored
@@ -15,8 +15,8 @@ var _ blas.Complex128Level2 = Implementation{}
|
|||||||
|
|
||||||
// Zgbmv performs one of the matrix-vector operations
|
// Zgbmv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if trans = blas.Trans
|
// y = alpha * Aᵀ * x + beta * y if trans = blas.Trans
|
||||||
// y = alpha * A^H * x + beta * y if trans = blas.ConjTrans
|
// y = alpha * Aᴴ * x + beta * y if trans = blas.ConjTrans
|
||||||
// where alpha and beta are scalars, x and y are vectors, and A is an m×n band matrix
|
// where alpha and beta are scalars, x and y are vectors, and A is an m×n band matrix
|
||||||
// with kL sub-diagonals and kU super-diagonals.
|
// with kL sub-diagonals and kU super-diagonals.
|
||||||
func (Implementation) Zgbmv(trans blas.Transpose, m, n, kL, kU int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {
|
func (Implementation) Zgbmv(trans blas.Transpose, m, n, kL, kU int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {
|
||||||
@@ -210,8 +210,8 @@ func (Implementation) Zgbmv(trans blas.Transpose, m, n, kL, kU int, alpha comple
|
|||||||
|
|
||||||
// Zgemv performs one of the matrix-vector operations
|
// Zgemv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if trans = blas.Trans
|
// y = alpha * Aᵀ * x + beta * y if trans = blas.Trans
|
||||||
// y = alpha * A^H * x + beta * y if trans = blas.ConjTrans
|
// y = alpha * Aᴴ * x + beta * y if trans = blas.ConjTrans
|
||||||
// where alpha and beta are scalars, x and y are vectors, and A is an m×n dense matrix.
|
// where alpha and beta are scalars, x and y are vectors, and A is an m×n dense matrix.
|
||||||
func (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {
|
func (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) {
|
||||||
switch trans {
|
switch trans {
|
||||||
@@ -322,7 +322,7 @@ func (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a
|
|||||||
return
|
return
|
||||||
|
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form y = alpha*A^T*x + y.
|
// Form y = alpha*Aᵀ*x + y.
|
||||||
ix := kx
|
ix := kx
|
||||||
if incY == 1 {
|
if incY == 1 {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
@@ -338,7 +338,7 @@ func (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a
|
|||||||
return
|
return
|
||||||
|
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form y = alpha*A^H*x + y.
|
// Form y = alpha*Aᴴ*x + y.
|
||||||
ix := kx
|
ix := kx
|
||||||
if incY == 1 {
|
if incY == 1 {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
@@ -364,7 +364,7 @@ func (Implementation) Zgemv(trans blas.Transpose, m, n int, alpha complex128, a
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zgerc performs the rank-one operation
|
// Zgerc performs the rank-one operation
|
||||||
// A += alpha * x * y^H
|
// A += alpha * x * yᴴ
|
||||||
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
||||||
// and y is an n element vector.
|
// and y is an n element vector.
|
||||||
func (Implementation) Zgerc(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {
|
func (Implementation) Zgerc(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {
|
||||||
@@ -422,7 +422,7 @@ func (Implementation) Zgerc(m, n int, alpha complex128, x []complex128, incX int
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zgeru performs the rank-one operation
|
// Zgeru performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
||||||
// and y is an n element vector.
|
// and y is an n element vector.
|
||||||
func (Implementation) Zgeru(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {
|
func (Implementation) Zgeru(m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int) {
|
||||||
@@ -822,7 +822,7 @@ func (Implementation) Zhemv(uplo blas.Uplo, n int, alpha complex128, a []complex
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zher performs the Hermitian rank-one operation
|
// Zher performs the Hermitian rank-one operation
|
||||||
// A += alpha * x * x^H
|
// A += alpha * x * xᴴ
|
||||||
// where A is an n×n Hermitian matrix, alpha is a real scalar, and x is an n
|
// where A is an n×n Hermitian matrix, alpha is a real scalar, and x is an n
|
||||||
// element vector. On entry, the imaginary parts of the diagonal elements of A
|
// element vector. On entry, the imaginary parts of the diagonal elements of A
|
||||||
// are ignored and assumed to be zero, on return they will be set to zero.
|
// are ignored and assumed to be zero, on return they will be set to zero.
|
||||||
@@ -944,7 +944,7 @@ func (Implementation) Zher(uplo blas.Uplo, n int, alpha float64, x []complex128,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zher2 performs the Hermitian rank-two operation
|
// Zher2 performs the Hermitian rank-two operation
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ
|
||||||
// where alpha is a scalar, x and y are n element vectors and A is an n×n
|
// where alpha is a scalar, x and y are n element vectors and A is an n×n
|
||||||
// Hermitian matrix. On entry, the imaginary parts of the diagonal elements are
|
// Hermitian matrix. On entry, the imaginary parts of the diagonal elements are
|
||||||
// ignored and assumed to be zero. On return they will be set to zero.
|
// ignored and assumed to be zero. On return they will be set to zero.
|
||||||
@@ -1248,7 +1248,7 @@ func (Implementation) Zhpmv(uplo blas.Uplo, n int, alpha complex128, ap []comple
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zhpr performs the Hermitian rank-1 operation
|
// Zhpr performs the Hermitian rank-1 operation
|
||||||
// A += alpha * x * x^H
|
// A += alpha * x * xᴴ
|
||||||
// where alpha is a real scalar, x is a vector, and A is an n×n hermitian matrix
|
// where alpha is a real scalar, x is a vector, and A is an n×n hermitian matrix
|
||||||
// in packed form. On entry, the imaginary parts of the diagonal elements are
|
// in packed form. On entry, the imaginary parts of the diagonal elements are
|
||||||
// assumed to be zero, and on return they are set to zero.
|
// assumed to be zero, and on return they are set to zero.
|
||||||
@@ -1382,7 +1382,7 @@ func (Implementation) Zhpr(uplo blas.Uplo, n int, alpha float64, x []complex128,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zhpr2 performs the Hermitian rank-2 operation
|
// Zhpr2 performs the Hermitian rank-2 operation
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ
|
||||||
// where alpha is a complex scalar, x and y are n element vectors, and A is an
|
// where alpha is a complex scalar, x and y are n element vectors, and A is an
|
||||||
// n×n Hermitian matrix, supplied in packed form. On entry, the imaginary parts
|
// n×n Hermitian matrix, supplied in packed form. On entry, the imaginary parts
|
||||||
// of the diagonal elements are assumed to be zero, and on return they are set to zero.
|
// of the diagonal elements are assumed to be zero, and on return they are set to zero.
|
||||||
@@ -1530,8 +1530,8 @@ func (Implementation) Zhpr2(uplo blas.Uplo, n int, alpha complex128, x []complex
|
|||||||
|
|
||||||
// Ztbmv performs one of the matrix-vector operations
|
// Ztbmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is an n element vector and A is an n×n triangular band matrix, with
|
// where x is an n element vector and A is an n×n triangular band matrix, with
|
||||||
// (k+1) diagonals.
|
// (k+1) diagonals.
|
||||||
func (Implementation) Ztbmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n, k int, a []complex128, lda int, x []complex128, incX int) {
|
func (Implementation) Ztbmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n, k int, a []complex128, lda int, x []complex128, incX int) {
|
||||||
@@ -1766,8 +1766,8 @@ func (Implementation) Ztbmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ztbsv solves one of the systems of equations
|
// Ztbsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular band matrix
|
// where b and x are n element vectors and A is an n×n triangular band matrix
|
||||||
// with (k+1) diagonals.
|
// with (k+1) diagonals.
|
||||||
//
|
//
|
||||||
@@ -2008,8 +2008,8 @@ func (Implementation) Ztbsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ztpmv performs one of the matrix-vector operations
|
// Ztpmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is an n element vector and A is an n×n triangular matrix, supplied in
|
// where x is an n element vector and A is an n×n triangular matrix, supplied in
|
||||||
// packed form.
|
// packed form.
|
||||||
func (Implementation) Ztpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, ap []complex128, x []complex128, incX int) {
|
func (Implementation) Ztpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, ap []complex128, x []complex128, incX int) {
|
||||||
@@ -2116,7 +2116,7 @@ func (Implementation) Ztpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = A^T*x.
|
// Form x = Aᵀ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// kk points to the current diagonal element in ap.
|
// kk points to the current diagonal element in ap.
|
||||||
kk := n*(n+1)/2 - 1
|
kk := n*(n+1)/2 - 1
|
||||||
@@ -2176,7 +2176,7 @@ func (Implementation) Ztpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = A^H*x.
|
// Form x = Aᴴ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// kk points to the current diagonal element in ap.
|
// kk points to the current diagonal element in ap.
|
||||||
kk := n*(n+1)/2 - 1
|
kk := n*(n+1)/2 - 1
|
||||||
@@ -2246,8 +2246,8 @@ func (Implementation) Ztpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ztpsv solves one of the systems of equations
|
// Ztpsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular matrix in
|
// where b and x are n element vectors and A is an n×n triangular matrix in
|
||||||
// packed form.
|
// packed form.
|
||||||
//
|
//
|
||||||
@@ -2359,7 +2359,7 @@ func (Implementation) Ztpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = inv(A^T)*x.
|
// Form x = inv(Aᵀ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
kk := 0
|
kk := 0
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
@@ -2414,7 +2414,7 @@ func (Implementation) Ztpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = inv(A^H)*x.
|
// Form x = inv(Aᴴ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
kk := 0
|
kk := 0
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
@@ -2482,8 +2482,8 @@ func (Implementation) Ztpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ztrmv performs one of the matrix-vector operations
|
// Ztrmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is a vector, and A is an n×n triangular matrix.
|
// where x is a vector, and A is an n×n triangular matrix.
|
||||||
func (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, a []complex128, lda int, x []complex128, incX int) {
|
func (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, n int, a []complex128, lda int, x []complex128, incX int) {
|
||||||
switch trans {
|
switch trans {
|
||||||
@@ -2583,7 +2583,7 @@ func (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = A^T*x.
|
// Form x = Aᵀ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for i := n - 1; i >= 0; i-- {
|
for i := n - 1; i >= 0; i-- {
|
||||||
@@ -2634,7 +2634,7 @@ func (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = A^H*x.
|
// Form x = Aᴴ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for i := n - 1; i >= 0; i-- {
|
for i := n - 1; i >= 0; i-- {
|
||||||
@@ -2690,8 +2690,8 @@ func (Implementation) Ztrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ztrsv solves one of the systems of equations
|
// Ztrsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular matrix.
|
// where b and x are n element vectors and A is an n×n triangular matrix.
|
||||||
//
|
//
|
||||||
// On entry, x contains the values of b, and the solution is
|
// On entry, x contains the values of b, and the solution is
|
||||||
@@ -2799,7 +2799,7 @@ func (Implementation) Ztrsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = inv(A^T)*x.
|
// Form x = inv(Aᵀ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
@@ -2849,7 +2849,7 @@ func (Implementation) Ztrsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = inv(A^H)*x.
|
// Form x = inv(Aᴴ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
|
|||||||
64
vendor/gonum.org/v1/gonum/blas/gonum/level2cmplx64.go
generated
vendored
64
vendor/gonum.org/v1/gonum/blas/gonum/level2cmplx64.go
generated
vendored
@@ -17,8 +17,8 @@ var _ blas.Complex64Level2 = Implementation{}
|
|||||||
|
|
||||||
// Cgbmv performs one of the matrix-vector operations
|
// Cgbmv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if trans = blas.Trans
|
// y = alpha * Aᵀ * x + beta * y if trans = blas.Trans
|
||||||
// y = alpha * A^H * x + beta * y if trans = blas.ConjTrans
|
// y = alpha * Aᴴ * x + beta * y if trans = blas.ConjTrans
|
||||||
// where alpha and beta are scalars, x and y are vectors, and A is an m×n band matrix
|
// where alpha and beta are scalars, x and y are vectors, and A is an m×n band matrix
|
||||||
// with kL sub-diagonals and kU super-diagonals.
|
// with kL sub-diagonals and kU super-diagonals.
|
||||||
//
|
//
|
||||||
@@ -214,8 +214,8 @@ func (Implementation) Cgbmv(trans blas.Transpose, m, n, kL, kU int, alpha comple
|
|||||||
|
|
||||||
// Cgemv performs one of the matrix-vector operations
|
// Cgemv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
// y = alpha * A * x + beta * y if trans = blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if trans = blas.Trans
|
// y = alpha * Aᵀ * x + beta * y if trans = blas.Trans
|
||||||
// y = alpha * A^H * x + beta * y if trans = blas.ConjTrans
|
// y = alpha * Aᴴ * x + beta * y if trans = blas.ConjTrans
|
||||||
// where alpha and beta are scalars, x and y are vectors, and A is an m×n dense matrix.
|
// where alpha and beta are scalars, x and y are vectors, and A is an m×n dense matrix.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
@@ -328,7 +328,7 @@ func (Implementation) Cgemv(trans blas.Transpose, m, n int, alpha complex64, a [
|
|||||||
return
|
return
|
||||||
|
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form y = alpha*A^T*x + y.
|
// Form y = alpha*Aᵀ*x + y.
|
||||||
ix := kx
|
ix := kx
|
||||||
if incY == 1 {
|
if incY == 1 {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
@@ -344,7 +344,7 @@ func (Implementation) Cgemv(trans blas.Transpose, m, n int, alpha complex64, a [
|
|||||||
return
|
return
|
||||||
|
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form y = alpha*A^H*x + y.
|
// Form y = alpha*Aᴴ*x + y.
|
||||||
ix := kx
|
ix := kx
|
||||||
if incY == 1 {
|
if incY == 1 {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
@@ -370,7 +370,7 @@ func (Implementation) Cgemv(trans blas.Transpose, m, n int, alpha complex64, a [
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cgerc performs the rank-one operation
|
// Cgerc performs the rank-one operation
|
||||||
// A += alpha * x * y^H
|
// A += alpha * x * yᴴ
|
||||||
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
||||||
// and y is an n element vector.
|
// and y is an n element vector.
|
||||||
//
|
//
|
||||||
@@ -430,7 +430,7 @@ func (Implementation) Cgerc(m, n int, alpha complex64, x []complex64, incX int,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cgeru performs the rank-one operation
|
// Cgeru performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
// where A is an m×n dense matrix, alpha is a scalar, x is an m element vector,
|
||||||
// and y is an n element vector.
|
// and y is an n element vector.
|
||||||
//
|
//
|
||||||
@@ -836,7 +836,7 @@ func (Implementation) Chemv(uplo blas.Uplo, n int, alpha complex64, a []complex6
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cher performs the Hermitian rank-one operation
|
// Cher performs the Hermitian rank-one operation
|
||||||
// A += alpha * x * x^H
|
// A += alpha * x * xᴴ
|
||||||
// where A is an n×n Hermitian matrix, alpha is a real scalar, and x is an n
|
// where A is an n×n Hermitian matrix, alpha is a real scalar, and x is an n
|
||||||
// element vector. On entry, the imaginary parts of the diagonal elements of A
|
// element vector. On entry, the imaginary parts of the diagonal elements of A
|
||||||
// are ignored and assumed to be zero, on return they will be set to zero.
|
// are ignored and assumed to be zero, on return they will be set to zero.
|
||||||
@@ -960,7 +960,7 @@ func (Implementation) Cher(uplo blas.Uplo, n int, alpha float32, x []complex64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cher2 performs the Hermitian rank-two operation
|
// Cher2 performs the Hermitian rank-two operation
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ
|
||||||
// where alpha is a scalar, x and y are n element vectors and A is an n×n
|
// where alpha is a scalar, x and y are n element vectors and A is an n×n
|
||||||
// Hermitian matrix. On entry, the imaginary parts of the diagonal elements are
|
// Hermitian matrix. On entry, the imaginary parts of the diagonal elements are
|
||||||
// ignored and assumed to be zero. On return they will be set to zero.
|
// ignored and assumed to be zero. On return they will be set to zero.
|
||||||
@@ -1268,7 +1268,7 @@ func (Implementation) Chpmv(uplo blas.Uplo, n int, alpha complex64, ap []complex
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chpr performs the Hermitian rank-1 operation
|
// Chpr performs the Hermitian rank-1 operation
|
||||||
// A += alpha * x * x^H
|
// A += alpha * x * xᴴ
|
||||||
// where alpha is a real scalar, x is a vector, and A is an n×n hermitian matrix
|
// where alpha is a real scalar, x is a vector, and A is an n×n hermitian matrix
|
||||||
// in packed form. On entry, the imaginary parts of the diagonal elements are
|
// in packed form. On entry, the imaginary parts of the diagonal elements are
|
||||||
// assumed to be zero, and on return they are set to zero.
|
// assumed to be zero, and on return they are set to zero.
|
||||||
@@ -1404,7 +1404,7 @@ func (Implementation) Chpr(uplo blas.Uplo, n int, alpha float32, x []complex64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chpr2 performs the Hermitian rank-2 operation
|
// Chpr2 performs the Hermitian rank-2 operation
|
||||||
// A += alpha * x * y^H + conj(alpha) * y * x^H
|
// A += alpha * x * yᴴ + conj(alpha) * y * xᴴ
|
||||||
// where alpha is a complex scalar, x and y are n element vectors, and A is an
|
// where alpha is a complex scalar, x and y are n element vectors, and A is an
|
||||||
// n×n Hermitian matrix, supplied in packed form. On entry, the imaginary parts
|
// n×n Hermitian matrix, supplied in packed form. On entry, the imaginary parts
|
||||||
// of the diagonal elements are assumed to be zero, and on return they are set to zero.
|
// of the diagonal elements are assumed to be zero, and on return they are set to zero.
|
||||||
@@ -1554,8 +1554,8 @@ func (Implementation) Chpr2(uplo blas.Uplo, n int, alpha complex64, x []complex6
|
|||||||
|
|
||||||
// Ctbmv performs one of the matrix-vector operations
|
// Ctbmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is an n element vector and A is an n×n triangular band matrix, with
|
// where x is an n element vector and A is an n×n triangular band matrix, with
|
||||||
// (k+1) diagonals.
|
// (k+1) diagonals.
|
||||||
//
|
//
|
||||||
@@ -1792,8 +1792,8 @@ func (Implementation) Ctbmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ctbsv solves one of the systems of equations
|
// Ctbsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular band matrix
|
// where b and x are n element vectors and A is an n×n triangular band matrix
|
||||||
// with (k+1) diagonals.
|
// with (k+1) diagonals.
|
||||||
//
|
//
|
||||||
@@ -2036,8 +2036,8 @@ func (Implementation) Ctbsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ctpmv performs one of the matrix-vector operations
|
// Ctpmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is an n element vector and A is an n×n triangular matrix, supplied in
|
// where x is an n element vector and A is an n×n triangular matrix, supplied in
|
||||||
// packed form.
|
// packed form.
|
||||||
//
|
//
|
||||||
@@ -2146,7 +2146,7 @@ func (Implementation) Ctpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = A^T*x.
|
// Form x = Aᵀ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// kk points to the current diagonal element in ap.
|
// kk points to the current diagonal element in ap.
|
||||||
kk := n*(n+1)/2 - 1
|
kk := n*(n+1)/2 - 1
|
||||||
@@ -2206,7 +2206,7 @@ func (Implementation) Ctpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = A^H*x.
|
// Form x = Aᴴ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// kk points to the current diagonal element in ap.
|
// kk points to the current diagonal element in ap.
|
||||||
kk := n*(n+1)/2 - 1
|
kk := n*(n+1)/2 - 1
|
||||||
@@ -2276,8 +2276,8 @@ func (Implementation) Ctpmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ctpsv solves one of the systems of equations
|
// Ctpsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular matrix in
|
// where b and x are n element vectors and A is an n×n triangular matrix in
|
||||||
// packed form.
|
// packed form.
|
||||||
//
|
//
|
||||||
@@ -2391,7 +2391,7 @@ func (Implementation) Ctpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = inv(A^T)*x.
|
// Form x = inv(Aᵀ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
kk := 0
|
kk := 0
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
@@ -2446,7 +2446,7 @@ func (Implementation) Ctpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = inv(A^H)*x.
|
// Form x = inv(Aᴴ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
kk := 0
|
kk := 0
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
@@ -2514,8 +2514,8 @@ func (Implementation) Ctpsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ctrmv performs one of the matrix-vector operations
|
// Ctrmv performs one of the matrix-vector operations
|
||||||
// x = A * x if trans = blas.NoTrans
|
// x = A * x if trans = blas.NoTrans
|
||||||
// x = A^T * x if trans = blas.Trans
|
// x = Aᵀ * x if trans = blas.Trans
|
||||||
// x = A^H * x if trans = blas.ConjTrans
|
// x = Aᴴ * x if trans = blas.ConjTrans
|
||||||
// where x is a vector, and A is an n×n triangular matrix.
|
// where x is a vector, and A is an n×n triangular matrix.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
@@ -2617,7 +2617,7 @@ func (Implementation) Ctrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = A^T*x.
|
// Form x = Aᵀ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for i := n - 1; i >= 0; i-- {
|
for i := n - 1; i >= 0; i-- {
|
||||||
@@ -2668,7 +2668,7 @@ func (Implementation) Ctrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = A^H*x.
|
// Form x = Aᴴ*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for i := n - 1; i >= 0; i-- {
|
for i := n - 1; i >= 0; i-- {
|
||||||
@@ -2724,8 +2724,8 @@ func (Implementation) Ctrmv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
|
|
||||||
// Ctrsv solves one of the systems of equations
|
// Ctrsv solves one of the systems of equations
|
||||||
// A * x = b if trans == blas.NoTrans
|
// A * x = b if trans == blas.NoTrans
|
||||||
// A^T * x = b if trans == blas.Trans
|
// Aᵀ * x = b if trans == blas.Trans
|
||||||
// A^H * x = b if trans == blas.ConjTrans
|
// Aᴴ * x = b if trans == blas.ConjTrans
|
||||||
// where b and x are n element vectors and A is an n×n triangular matrix.
|
// where b and x are n element vectors and A is an n×n triangular matrix.
|
||||||
//
|
//
|
||||||
// On entry, x contains the values of b, and the solution is
|
// On entry, x contains the values of b, and the solution is
|
||||||
@@ -2835,7 +2835,7 @@ func (Implementation) Ctrsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.Trans {
|
if trans == blas.Trans {
|
||||||
// Form x = inv(A^T)*x.
|
// Form x = inv(Aᵀ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
@@ -2885,7 +2885,7 @@ func (Implementation) Ctrsv(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form x = inv(A^H)*x.
|
// Form x = inv(Aᴴ)*x.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
if incX == 1 {
|
if incX == 1 {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
|
|||||||
24
vendor/gonum.org/v1/gonum/blas/gonum/level2float32.go
generated
vendored
24
vendor/gonum.org/v1/gonum/blas/gonum/level2float32.go
generated
vendored
@@ -14,7 +14,7 @@ import (
|
|||||||
var _ blas.Float32Level2 = Implementation{}
|
var _ blas.Float32Level2 = Implementation{}
|
||||||
|
|
||||||
// Sger performs the rank-one operation
|
// Sger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -64,7 +64,7 @@ func (Implementation) Sger(m, n int, alpha float32, x []float32, incX int, y []f
|
|||||||
|
|
||||||
// Sgbmv performs one of the matrix-vector operations
|
// Sgbmv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if tA == blas.NoTrans
|
// y = alpha * A * x + beta * y if tA == blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if tA == blas.Trans or blas.ConjTrans
|
// y = alpha * Aᵀ * x + beta * y if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an m×n band matrix with kL sub-diagonals and kU super-diagonals,
|
// where A is an m×n band matrix with kL sub-diagonals and kU super-diagonals,
|
||||||
// x and y are vectors, and alpha and beta are scalars.
|
// x and y are vectors, and alpha and beta are scalars.
|
||||||
//
|
//
|
||||||
@@ -231,7 +231,7 @@ func (Implementation) Sgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float32,
|
|||||||
|
|
||||||
// Strmv performs one of the matrix-vector operations
|
// Strmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix, and x is a vector.
|
// where A is an n×n triangular matrix, and x is a vector.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -385,7 +385,7 @@ func (Implementation) Strmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int,
|
|||||||
|
|
||||||
// Strsv solves one of the systems of equations
|
// Strsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix, and x and b are vectors.
|
// where A is an n×n triangular matrix, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -738,7 +738,7 @@ func (Implementation) Ssymv(ul blas.Uplo, n int, alpha float32, a []float32, lda
|
|||||||
|
|
||||||
// Stbmv performs one of the matrix-vector operations
|
// Stbmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular band matrix with k+1 diagonals, and x is a vector.
|
// where A is an n×n triangular band matrix with k+1 diagonals, and x is a vector.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -949,7 +949,7 @@ func (Implementation) Stbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k i
|
|||||||
|
|
||||||
// Stpmv performs one of the matrix-vector operations
|
// Stpmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -1130,7 +1130,7 @@ func (Implementation) Stpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int,
|
|||||||
|
|
||||||
// Stbsv solves one of the systems of equations
|
// Stbsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or tA == blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A is an n×n triangular band matrix with k+1 diagonals,
|
// where A is an n×n triangular band matrix with k+1 diagonals,
|
||||||
// and x and b are vectors.
|
// and x and b are vectors.
|
||||||
//
|
//
|
||||||
@@ -1525,7 +1525,7 @@ func (Implementation) Ssbmv(ul blas.Uplo, n, k int, alpha float32, a []float32,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ssyr performs the symmetric rank-one update
|
// Ssyr performs the symmetric rank-one update
|
||||||
// A += alpha * x * x^T
|
// A += alpha * x * xᵀ
|
||||||
// where A is an n×n symmetric matrix, and x is a vector.
|
// where A is an n×n symmetric matrix, and x is a vector.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -1625,7 +1625,7 @@ func (Implementation) Ssyr(ul blas.Uplo, n int, alpha float32, x []float32, incX
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ssyr2 performs the symmetric rank-two update
|
// Ssyr2 performs the symmetric rank-two update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T
|
// A += alpha * x * yᵀ + alpha * y * xᵀ
|
||||||
// where A is an n×n symmetric matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an n×n symmetric matrix, x and y are vectors, and alpha is a scalar.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
@@ -1735,7 +1735,7 @@ func (Implementation) Ssyr2(ul blas.Uplo, n int, alpha float32, x []float32, inc
|
|||||||
|
|
||||||
// Stpsv solves one of the systems of equations
|
// Stpsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix in packed format, and x and b are vectors.
|
// where A is an n×n triangular matrix in packed format, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -2089,7 +2089,7 @@ func (Implementation) Sspmv(ul blas.Uplo, n int, alpha float32, ap []float32, x
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Sspr performs the symmetric rank-one operation
|
// Sspr performs the symmetric rank-one operation
|
||||||
// A += alpha * x * x^T
|
// A += alpha * x * xᵀ
|
||||||
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
//
|
//
|
||||||
@@ -2183,7 +2183,7 @@ func (Implementation) Sspr(ul blas.Uplo, n int, alpha float32, x []float32, incX
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Sspr2 performs the symmetric rank-2 update
|
// Sspr2 performs the symmetric rank-2 update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T
|
// A += alpha * x * yᵀ + alpha * y * xᵀ
|
||||||
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
||||||
// and alpha is a scalar.
|
// and alpha is a scalar.
|
||||||
//
|
//
|
||||||
|
|||||||
24
vendor/gonum.org/v1/gonum/blas/gonum/level2float64.go
generated
vendored
24
vendor/gonum.org/v1/gonum/blas/gonum/level2float64.go
generated
vendored
@@ -12,7 +12,7 @@ import (
|
|||||||
var _ blas.Float64Level2 = Implementation{}
|
var _ blas.Float64Level2 = Implementation{}
|
||||||
|
|
||||||
// Dger performs the rank-one operation
|
// Dger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func (Implementation) Dger(m, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {
|
func (Implementation) Dger(m, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {
|
||||||
if m < 0 {
|
if m < 0 {
|
||||||
@@ -60,7 +60,7 @@ func (Implementation) Dger(m, n int, alpha float64, x []float64, incX int, y []f
|
|||||||
|
|
||||||
// Dgbmv performs one of the matrix-vector operations
|
// Dgbmv performs one of the matrix-vector operations
|
||||||
// y = alpha * A * x + beta * y if tA == blas.NoTrans
|
// y = alpha * A * x + beta * y if tA == blas.NoTrans
|
||||||
// y = alpha * A^T * x + beta * y if tA == blas.Trans or blas.ConjTrans
|
// y = alpha * Aᵀ * x + beta * y if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an m×n band matrix with kL sub-diagonals and kU super-diagonals,
|
// where A is an m×n band matrix with kL sub-diagonals and kU super-diagonals,
|
||||||
// x and y are vectors, and alpha and beta are scalars.
|
// x and y are vectors, and alpha and beta are scalars.
|
||||||
func (Implementation) Dgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {
|
func (Implementation) Dgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int) {
|
||||||
@@ -225,7 +225,7 @@ func (Implementation) Dgbmv(tA blas.Transpose, m, n, kL, kU int, alpha float64,
|
|||||||
|
|
||||||
// Dtrmv performs one of the matrix-vector operations
|
// Dtrmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix, and x is a vector.
|
// where A is an n×n triangular matrix, and x is a vector.
|
||||||
func (Implementation) Dtrmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float64, lda int, x []float64, incX int) {
|
func (Implementation) Dtrmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, a []float64, lda int, x []float64, incX int) {
|
||||||
if ul != blas.Lower && ul != blas.Upper {
|
if ul != blas.Lower && ul != blas.Upper {
|
||||||
@@ -377,7 +377,7 @@ func (Implementation) Dtrmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int,
|
|||||||
|
|
||||||
// Dtrsv solves one of the systems of equations
|
// Dtrsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix, and x and b are vectors.
|
// where A is an n×n triangular matrix, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -726,7 +726,7 @@ func (Implementation) Dsymv(ul blas.Uplo, n int, alpha float64, a []float64, lda
|
|||||||
|
|
||||||
// Dtbmv performs one of the matrix-vector operations
|
// Dtbmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular band matrix with k+1 diagonals, and x is a vector.
|
// where A is an n×n triangular band matrix with k+1 diagonals, and x is a vector.
|
||||||
func (Implementation) Dtbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float64, lda int, x []float64, incX int) {
|
func (Implementation) Dtbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k int, a []float64, lda int, x []float64, incX int) {
|
||||||
if ul != blas.Lower && ul != blas.Upper {
|
if ul != blas.Lower && ul != blas.Upper {
|
||||||
@@ -935,7 +935,7 @@ func (Implementation) Dtbmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n, k i
|
|||||||
|
|
||||||
// Dtpmv performs one of the matrix-vector operations
|
// Dtpmv performs one of the matrix-vector operations
|
||||||
// x = A * x if tA == blas.NoTrans
|
// x = A * x if tA == blas.NoTrans
|
||||||
// x = A^T * x if tA == blas.Trans or blas.ConjTrans
|
// x = Aᵀ * x if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
// where A is an n×n triangular matrix in packed format, and x is a vector.
|
||||||
func (Implementation) Dtpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float64, x []float64, incX int) {
|
func (Implementation) Dtpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int, ap []float64, x []float64, incX int) {
|
||||||
if ul != blas.Lower && ul != blas.Upper {
|
if ul != blas.Lower && ul != blas.Upper {
|
||||||
@@ -1114,7 +1114,7 @@ func (Implementation) Dtpmv(ul blas.Uplo, tA blas.Transpose, d blas.Diag, n int,
|
|||||||
|
|
||||||
// Dtbsv solves one of the systems of equations
|
// Dtbsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or tA == blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A is an n×n triangular band matrix with k+1 diagonals,
|
// where A is an n×n triangular band matrix with k+1 diagonals,
|
||||||
// and x and b are vectors.
|
// and x and b are vectors.
|
||||||
//
|
//
|
||||||
@@ -1505,7 +1505,7 @@ func (Implementation) Dsbmv(ul blas.Uplo, n, k int, alpha float64, a []float64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dsyr performs the symmetric rank-one update
|
// Dsyr performs the symmetric rank-one update
|
||||||
// A += alpha * x * x^T
|
// A += alpha * x * xᵀ
|
||||||
// where A is an n×n symmetric matrix, and x is a vector.
|
// where A is an n×n symmetric matrix, and x is a vector.
|
||||||
func (Implementation) Dsyr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, a []float64, lda int) {
|
func (Implementation) Dsyr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, a []float64, lda int) {
|
||||||
if ul != blas.Lower && ul != blas.Upper {
|
if ul != blas.Lower && ul != blas.Upper {
|
||||||
@@ -1603,7 +1603,7 @@ func (Implementation) Dsyr(ul blas.Uplo, n int, alpha float64, x []float64, incX
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dsyr2 performs the symmetric rank-two update
|
// Dsyr2 performs the symmetric rank-two update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T
|
// A += alpha * x * yᵀ + alpha * y * xᵀ
|
||||||
// where A is an n×n symmetric matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an n×n symmetric matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func (Implementation) Dsyr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {
|
func (Implementation) Dsyr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int) {
|
||||||
if ul != blas.Lower && ul != blas.Upper {
|
if ul != blas.Lower && ul != blas.Upper {
|
||||||
@@ -1711,7 +1711,7 @@ func (Implementation) Dsyr2(ul blas.Uplo, n int, alpha float64, x []float64, inc
|
|||||||
|
|
||||||
// Dtpsv solves one of the systems of equations
|
// Dtpsv solves one of the systems of equations
|
||||||
// A * x = b if tA == blas.NoTrans
|
// A * x = b if tA == blas.NoTrans
|
||||||
// A^T * x = b if tA == blas.Trans or blas.ConjTrans
|
// Aᵀ * x = b if tA == blas.Trans or blas.ConjTrans
|
||||||
// where A is an n×n triangular matrix in packed format, and x and b are vectors.
|
// where A is an n×n triangular matrix in packed format, and x and b are vectors.
|
||||||
//
|
//
|
||||||
// At entry to the function, x contains the values of b, and the result is
|
// At entry to the function, x contains the values of b, and the result is
|
||||||
@@ -2061,7 +2061,7 @@ func (Implementation) Dspmv(ul blas.Uplo, n int, alpha float64, ap []float64, x
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dspr performs the symmetric rank-one operation
|
// Dspr performs the symmetric rank-one operation
|
||||||
// A += alpha * x * x^T
|
// A += alpha * x * xᵀ
|
||||||
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
// where A is an n×n symmetric matrix in packed format, x is a vector, and
|
||||||
// alpha is a scalar.
|
// alpha is a scalar.
|
||||||
func (Implementation) Dspr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, ap []float64) {
|
func (Implementation) Dspr(ul blas.Uplo, n int, alpha float64, x []float64, incX int, ap []float64) {
|
||||||
@@ -2153,7 +2153,7 @@ func (Implementation) Dspr(ul blas.Uplo, n int, alpha float64, x []float64, incX
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dspr2 performs the symmetric rank-2 update
|
// Dspr2 performs the symmetric rank-2 update
|
||||||
// A += alpha * x * y^T + alpha * y * x^T
|
// A += alpha * x * yᵀ + alpha * y * xᵀ
|
||||||
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
// where A is an n×n symmetric matrix in packed format, x and y are vectors,
|
||||||
// and alpha is a scalar.
|
// and alpha is a scalar.
|
||||||
func (Implementation) Dspr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, ap []float64) {
|
func (Implementation) Dspr2(ul blas.Uplo, n int, alpha float64, x []float64, incX int, y []float64, incY int, ap []float64) {
|
||||||
|
|||||||
66
vendor/gonum.org/v1/gonum/blas/gonum/level3cmplx128.go
generated
vendored
66
vendor/gonum.org/v1/gonum/blas/gonum/level3cmplx128.go
generated
vendored
@@ -16,7 +16,7 @@ var _ blas.Complex128Level3 = Implementation{}
|
|||||||
// Zgemm performs one of the matrix-matrix operations
|
// Zgemm performs one of the matrix-matrix operations
|
||||||
// C = alpha * op(A) * op(B) + beta * C
|
// C = alpha * op(A) * op(B) + beta * C
|
||||||
// where op(X) is one of
|
// where op(X) is one of
|
||||||
// op(X) = X or op(X) = X^T or op(X) = X^H,
|
// op(X) = X or op(X) = Xᵀ or op(X) = Xᴴ,
|
||||||
// alpha and beta are scalars, and A, B and C are matrices, with op(A) an m×k matrix,
|
// alpha and beta are scalars, and A, B and C are matrices, with op(A) an m×k matrix,
|
||||||
// op(B) a k×n matrix and C an m×n matrix.
|
// op(B) a k×n matrix and C an m×n matrix.
|
||||||
func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {
|
func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {
|
||||||
@@ -118,7 +118,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A * B^T + beta * C.
|
// Form C = alpha * A * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
switch {
|
switch {
|
||||||
case beta == 0:
|
case beta == 0:
|
||||||
@@ -138,7 +138,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A * B^H + beta * C.
|
// Form C = alpha * A * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
switch {
|
switch {
|
||||||
case beta == 0:
|
case beta == 0:
|
||||||
@@ -161,7 +161,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
switch tB {
|
switch tB {
|
||||||
case blas.NoTrans:
|
case blas.NoTrans:
|
||||||
// Form C = alpha * A^T * B + beta * C.
|
// Form C = alpha * Aᵀ * B + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -176,7 +176,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A^T * B^T + beta * C.
|
// Form C = alpha * Aᵀ * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -191,7 +191,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A^T * B^H + beta * C.
|
// Form C = alpha * Aᵀ * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -209,7 +209,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
switch tB {
|
switch tB {
|
||||||
case blas.NoTrans:
|
case blas.NoTrans:
|
||||||
// Form C = alpha * A^H * B + beta * C.
|
// Form C = alpha * Aᴴ * B + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -224,7 +224,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A^H * B^T + beta * C.
|
// Form C = alpha * Aᴴ * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -239,7 +239,7 @@ func (Implementation) Zgemm(tA, tB blas.Transpose, m, n, k int, alpha complex128
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A^H * B^H + beta * C.
|
// Form C = alpha * Aᴴ * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex128
|
var tmp complex128
|
||||||
@@ -405,8 +405,8 @@ func (Implementation) Zhemm(side blas.Side, uplo blas.Uplo, m, n int, alpha comp
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zherk performs one of the hermitian rank-k operations
|
// Zherk performs one of the hermitian rank-k operations
|
||||||
// C = alpha*A*A^H + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Aᴴ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^H*A + beta*C if trans == blas.ConjTrans
|
// C = alpha*Aᴴ*A + beta*C if trans == blas.ConjTrans
|
||||||
// where alpha and beta are real scalars, C is an n×n hermitian matrix and A is
|
// where alpha and beta are real scalars, C is an n×n hermitian matrix and A is
|
||||||
// an n×k matrix in the first case and a k×n matrix in the second case.
|
// an n×k matrix in the first case and a k×n matrix in the second case.
|
||||||
//
|
//
|
||||||
@@ -494,7 +494,7 @@ func (Implementation) Zherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
|
|
||||||
calpha := complex(alpha, 0)
|
calpha := complex(alpha, 0)
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*A^H + beta*C.
|
// Form C = alpha*A*Aᴴ + beta*C.
|
||||||
cbeta := complex(beta, 0)
|
cbeta := complex(beta, 0)
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
@@ -553,7 +553,7 @@ func (Implementation) Zherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^H*A + beta*C.
|
// Form C = alpha*Aᴴ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -603,8 +603,8 @@ func (Implementation) Zherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zher2k performs one of the hermitian rank-2k operations
|
// Zher2k performs one of the hermitian rank-2k operations
|
||||||
// C = alpha*A*B^H + conj(alpha)*B*A^H + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Bᴴ + conj(alpha)*B*Aᴴ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^H*B + conj(alpha)*B^H*A + beta*C if trans == blas.ConjTrans
|
// C = alpha*Aᴴ*B + conj(alpha)*Bᴴ*A + beta*C if trans == blas.ConjTrans
|
||||||
// where alpha and beta are scalars with beta real, C is an n×n hermitian matrix
|
// where alpha and beta are scalars with beta real, C is an n×n hermitian matrix
|
||||||
// and A and B are n×k matrices in the first case and k×n matrices in the second case.
|
// and A and B are n×k matrices in the first case and k×n matrices in the second case.
|
||||||
//
|
//
|
||||||
@@ -698,7 +698,7 @@ func (Implementation) Zher2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
conjalpha := cmplx.Conj(alpha)
|
conjalpha := cmplx.Conj(alpha)
|
||||||
cbeta := complex(beta, 0)
|
cbeta := complex(beta, 0)
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*B^H + conj(alpha)*B*A^H + beta*C.
|
// Form C = alpha*A*Bᴴ + conj(alpha)*B*Aᴴ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i+1 : i*ldc+n]
|
ci := c[i*ldc+i+1 : i*ldc+n]
|
||||||
@@ -741,7 +741,7 @@ func (Implementation) Zher2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^H*B + conj(alpha)*B^H*A + beta*C.
|
// Form C = alpha*Aᴴ*B + conj(alpha)*Bᴴ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -943,8 +943,8 @@ func (Implementation) Zsymm(side blas.Side, uplo blas.Uplo, m, n int, alpha comp
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zsyrk performs one of the symmetric rank-k operations
|
// Zsyrk performs one of the symmetric rank-k operations
|
||||||
// C = alpha*A*A^T + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Aᵀ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^T*A + beta*C if trans == blas.Trans
|
// C = alpha*Aᵀ*A + beta*C if trans == blas.Trans
|
||||||
// where alpha and beta are scalars, C is an n×n symmetric matrix and A is
|
// where alpha and beta are scalars, C is an n×n symmetric matrix and A is
|
||||||
// an n×k matrix in the first case and a k×n matrix in the second case.
|
// an n×k matrix in the first case and a k×n matrix in the second case.
|
||||||
func (Implementation) Zsyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int) {
|
func (Implementation) Zsyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int) {
|
||||||
@@ -1022,7 +1022,7 @@ func (Implementation) Zsyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*A^T + beta*C.
|
// Form C = alpha*A*Aᵀ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1042,7 +1042,7 @@ func (Implementation) Zsyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^T*A + beta*C.
|
// Form C = alpha*Aᵀ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1088,8 +1088,8 @@ func (Implementation) Zsyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zsyr2k performs one of the symmetric rank-2k operations
|
// Zsyr2k performs one of the symmetric rank-2k operations
|
||||||
// C = alpha*A*B^T + alpha*B*A^T + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Bᵀ + alpha*B*Aᵀ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^T*B + alpha*B^T*A + beta*C if trans == blas.Trans
|
// C = alpha*Aᵀ*B + alpha*Bᵀ*A + beta*C if trans == blas.Trans
|
||||||
// where alpha and beta are scalars, C is an n×n symmetric matrix and A and B
|
// where alpha and beta are scalars, C is an n×n symmetric matrix and A and B
|
||||||
// are n×k matrices in the first case and k×n matrices in the second case.
|
// are n×k matrices in the first case and k×n matrices in the second case.
|
||||||
func (Implementation) Zsyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {
|
func (Implementation) Zsyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int) {
|
||||||
@@ -1172,7 +1172,7 @@ func (Implementation) Zsyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*B^T + alpha*B*A^T + beta*C.
|
// Form C = alpha*A*Bᵀ + alpha*B*Aᵀ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1207,7 +1207,7 @@ func (Implementation) Zsyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^T*B + alpha*B^T*A + beta*C.
|
// Form C = alpha*Aᵀ*B + alpha*Bᵀ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1266,8 +1266,8 @@ func (Implementation) Zsyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
// where alpha is a scalar, B is an m×n matrix, A is a unit, or non-unit,
|
// where alpha is a scalar, B is an m×n matrix, A is a unit, or non-unit,
|
||||||
// upper or lower triangular matrix and op(A) is one of
|
// upper or lower triangular matrix and op(A) is one of
|
||||||
// op(A) = A if trans == blas.NoTrans,
|
// op(A) = A if trans == blas.NoTrans,
|
||||||
// op(A) = A^T if trans == blas.Trans,
|
// op(A) = Aᵀ if trans == blas.Trans,
|
||||||
// op(A) = A^H if trans == blas.ConjTrans.
|
// op(A) = Aᴴ if trans == blas.ConjTrans.
|
||||||
func (Implementation) Ztrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {
|
func (Implementation) Ztrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {
|
||||||
na := m
|
na := m
|
||||||
if side == blas.Right {
|
if side == blas.Right {
|
||||||
@@ -1356,7 +1356,7 @@ func (Implementation) Ztrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*A^T*B or B = alpha*A^H*B.
|
// Form B = alpha*Aᵀ*B or B = alpha*Aᴴ*B.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for k := m - 1; k >= 0; k-- {
|
for k := m - 1; k >= 0; k-- {
|
||||||
bk := b[k*ldb : k*ldb+n]
|
bk := b[k*ldb : k*ldb+n]
|
||||||
@@ -1445,7 +1445,7 @@ func (Implementation) Ztrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*B*A^T or B = alpha*B*A^H.
|
// Form B = alpha*B*Aᵀ or B = alpha*B*Aᴴ.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
@@ -1494,8 +1494,8 @@ func (Implementation) Ztrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
// where alpha is a scalar, X and B are m×n matrices, A is a unit or
|
// where alpha is a scalar, X and B are m×n matrices, A is a unit or
|
||||||
// non-unit, upper or lower triangular matrix and op(A) is one of
|
// non-unit, upper or lower triangular matrix and op(A) is one of
|
||||||
// op(A) = A if transA == blas.NoTrans,
|
// op(A) = A if transA == blas.NoTrans,
|
||||||
// op(A) = A^T if transA == blas.Trans,
|
// op(A) = Aᵀ if transA == blas.Trans,
|
||||||
// op(A) = A^H if transA == blas.ConjTrans.
|
// op(A) = Aᴴ if transA == blas.ConjTrans.
|
||||||
// On return the matrix X is overwritten on B.
|
// On return the matrix X is overwritten on B.
|
||||||
func (Implementation) Ztrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpose, diag blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {
|
func (Implementation) Ztrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpose, diag blas.Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int) {
|
||||||
na := m
|
na := m
|
||||||
@@ -1581,7 +1581,7 @@ func (Implementation) Ztrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpos
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*inv(A^T)*B or B = alpha*inv(A^H)*B.
|
// Form B = alpha*inv(Aᵀ)*B or B = alpha*inv(Aᴴ)*B.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
@@ -1670,7 +1670,7 @@ func (Implementation) Ztrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpos
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*B*inv(A^T) or B = alpha*B*inv(A^H).
|
// Form B = alpha*B*inv(Aᵀ) or B = alpha*B*inv(Aᴴ).
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
|
|||||||
66
vendor/gonum.org/v1/gonum/blas/gonum/level3cmplx64.go
generated
vendored
66
vendor/gonum.org/v1/gonum/blas/gonum/level3cmplx64.go
generated
vendored
@@ -18,7 +18,7 @@ var _ blas.Complex64Level3 = Implementation{}
|
|||||||
// Cgemm performs one of the matrix-matrix operations
|
// Cgemm performs one of the matrix-matrix operations
|
||||||
// C = alpha * op(A) * op(B) + beta * C
|
// C = alpha * op(A) * op(B) + beta * C
|
||||||
// where op(X) is one of
|
// where op(X) is one of
|
||||||
// op(X) = X or op(X) = X^T or op(X) = X^H,
|
// op(X) = X or op(X) = Xᵀ or op(X) = Xᴴ,
|
||||||
// alpha and beta are scalars, and A, B and C are matrices, with op(A) an m×k matrix,
|
// alpha and beta are scalars, and A, B and C are matrices, with op(A) an m×k matrix,
|
||||||
// op(B) a k×n matrix and C an m×n matrix.
|
// op(B) a k×n matrix and C an m×n matrix.
|
||||||
//
|
//
|
||||||
@@ -122,7 +122,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A * B^T + beta * C.
|
// Form C = alpha * A * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
switch {
|
switch {
|
||||||
case beta == 0:
|
case beta == 0:
|
||||||
@@ -142,7 +142,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A * B^H + beta * C.
|
// Form C = alpha * A * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
switch {
|
switch {
|
||||||
case beta == 0:
|
case beta == 0:
|
||||||
@@ -165,7 +165,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
switch tB {
|
switch tB {
|
||||||
case blas.NoTrans:
|
case blas.NoTrans:
|
||||||
// Form C = alpha * A^T * B + beta * C.
|
// Form C = alpha * Aᵀ * B + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -180,7 +180,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A^T * B^T + beta * C.
|
// Form C = alpha * Aᵀ * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -195,7 +195,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A^T * B^H + beta * C.
|
// Form C = alpha * Aᵀ * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -213,7 +213,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
switch tB {
|
switch tB {
|
||||||
case blas.NoTrans:
|
case blas.NoTrans:
|
||||||
// Form C = alpha * A^H * B + beta * C.
|
// Form C = alpha * Aᴴ * B + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -228,7 +228,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.Trans:
|
case blas.Trans:
|
||||||
// Form C = alpha * A^H * B^T + beta * C.
|
// Form C = alpha * Aᴴ * Bᵀ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -243,7 +243,7 @@ func (Implementation) Cgemm(tA, tB blas.Transpose, m, n, k int, alpha complex64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case blas.ConjTrans:
|
case blas.ConjTrans:
|
||||||
// Form C = alpha * A^H * B^H + beta * C.
|
// Form C = alpha * Aᴴ * Bᴴ + beta * C.
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
var tmp complex64
|
var tmp complex64
|
||||||
@@ -411,8 +411,8 @@ func (Implementation) Chemm(side blas.Side, uplo blas.Uplo, m, n int, alpha comp
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cherk performs one of the hermitian rank-k operations
|
// Cherk performs one of the hermitian rank-k operations
|
||||||
// C = alpha*A*A^H + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Aᴴ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^H*A + beta*C if trans == blas.ConjTrans
|
// C = alpha*Aᴴ*A + beta*C if trans == blas.ConjTrans
|
||||||
// where alpha and beta are real scalars, C is an n×n hermitian matrix and A is
|
// where alpha and beta are real scalars, C is an n×n hermitian matrix and A is
|
||||||
// an n×k matrix in the first case and a k×n matrix in the second case.
|
// an n×k matrix in the first case and a k×n matrix in the second case.
|
||||||
//
|
//
|
||||||
@@ -502,7 +502,7 @@ func (Implementation) Cherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
|
|
||||||
calpha := complex(alpha, 0)
|
calpha := complex(alpha, 0)
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*A^H + beta*C.
|
// Form C = alpha*A*Aᴴ + beta*C.
|
||||||
cbeta := complex(beta, 0)
|
cbeta := complex(beta, 0)
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
@@ -561,7 +561,7 @@ func (Implementation) Cherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^H*A + beta*C.
|
// Form C = alpha*Aᴴ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -611,8 +611,8 @@ func (Implementation) Cherk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cher2k performs one of the hermitian rank-2k operations
|
// Cher2k performs one of the hermitian rank-2k operations
|
||||||
// C = alpha*A*B^H + conj(alpha)*B*A^H + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Bᴴ + conj(alpha)*B*Aᴴ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^H*B + conj(alpha)*B^H*A + beta*C if trans == blas.ConjTrans
|
// C = alpha*Aᴴ*B + conj(alpha)*Bᴴ*A + beta*C if trans == blas.ConjTrans
|
||||||
// where alpha and beta are scalars with beta real, C is an n×n hermitian matrix
|
// where alpha and beta are scalars with beta real, C is an n×n hermitian matrix
|
||||||
// and A and B are n×k matrices in the first case and k×n matrices in the second case.
|
// and A and B are n×k matrices in the first case and k×n matrices in the second case.
|
||||||
//
|
//
|
||||||
@@ -708,7 +708,7 @@ func (Implementation) Cher2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
conjalpha := cmplx.Conj(alpha)
|
conjalpha := cmplx.Conj(alpha)
|
||||||
cbeta := complex(beta, 0)
|
cbeta := complex(beta, 0)
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*B^H + conj(alpha)*B*A^H + beta*C.
|
// Form C = alpha*A*Bᴴ + conj(alpha)*B*Aᴴ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i+1 : i*ldc+n]
|
ci := c[i*ldc+i+1 : i*ldc+n]
|
||||||
@@ -751,7 +751,7 @@ func (Implementation) Cher2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^H*B + conj(alpha)*B^H*A + beta*C.
|
// Form C = alpha*Aᴴ*B + conj(alpha)*Bᴴ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -955,8 +955,8 @@ func (Implementation) Csymm(side blas.Side, uplo blas.Uplo, m, n int, alpha comp
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Csyrk performs one of the symmetric rank-k operations
|
// Csyrk performs one of the symmetric rank-k operations
|
||||||
// C = alpha*A*A^T + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Aᵀ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^T*A + beta*C if trans == blas.Trans
|
// C = alpha*Aᵀ*A + beta*C if trans == blas.Trans
|
||||||
// where alpha and beta are scalars, C is an n×n symmetric matrix and A is
|
// where alpha and beta are scalars, C is an n×n symmetric matrix and A is
|
||||||
// an n×k matrix in the first case and a k×n matrix in the second case.
|
// an n×k matrix in the first case and a k×n matrix in the second case.
|
||||||
//
|
//
|
||||||
@@ -1036,7 +1036,7 @@ func (Implementation) Csyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*A^T + beta*C.
|
// Form C = alpha*A*Aᵀ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1056,7 +1056,7 @@ func (Implementation) Csyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^T*A + beta*C.
|
// Form C = alpha*Aᵀ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1102,8 +1102,8 @@ func (Implementation) Csyrk(uplo blas.Uplo, trans blas.Transpose, n, k int, alph
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Csyr2k performs one of the symmetric rank-2k operations
|
// Csyr2k performs one of the symmetric rank-2k operations
|
||||||
// C = alpha*A*B^T + alpha*B*A^T + beta*C if trans == blas.NoTrans
|
// C = alpha*A*Bᵀ + alpha*B*Aᵀ + beta*C if trans == blas.NoTrans
|
||||||
// C = alpha*A^T*B + alpha*B^T*A + beta*C if trans == blas.Trans
|
// C = alpha*Aᵀ*B + alpha*Bᵀ*A + beta*C if trans == blas.Trans
|
||||||
// where alpha and beta are scalars, C is an n×n symmetric matrix and A and B
|
// where alpha and beta are scalars, C is an n×n symmetric matrix and A and B
|
||||||
// are n×k matrices in the first case and k×n matrices in the second case.
|
// are n×k matrices in the first case and k×n matrices in the second case.
|
||||||
//
|
//
|
||||||
@@ -1188,7 +1188,7 @@ func (Implementation) Csyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
|
|
||||||
if trans == blas.NoTrans {
|
if trans == blas.NoTrans {
|
||||||
// Form C = alpha*A*B^T + alpha*B*A^T + beta*C.
|
// Form C = alpha*A*Bᵀ + alpha*B*Aᵀ + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1223,7 +1223,7 @@ func (Implementation) Csyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form C = alpha*A^T*B + alpha*B^T*A + beta*C.
|
// Form C = alpha*Aᵀ*B + alpha*Bᵀ*A + beta*C.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
ci := c[i*ldc+i : i*ldc+n]
|
ci := c[i*ldc+i : i*ldc+n]
|
||||||
@@ -1282,8 +1282,8 @@ func (Implementation) Csyr2k(uplo blas.Uplo, trans blas.Transpose, n, k int, alp
|
|||||||
// where alpha is a scalar, B is an m×n matrix, A is a unit, or non-unit,
|
// where alpha is a scalar, B is an m×n matrix, A is a unit, or non-unit,
|
||||||
// upper or lower triangular matrix and op(A) is one of
|
// upper or lower triangular matrix and op(A) is one of
|
||||||
// op(A) = A if trans == blas.NoTrans,
|
// op(A) = A if trans == blas.NoTrans,
|
||||||
// op(A) = A^T if trans == blas.Trans,
|
// op(A) = Aᵀ if trans == blas.Trans,
|
||||||
// op(A) = A^H if trans == blas.ConjTrans.
|
// op(A) = Aᴴ if trans == blas.ConjTrans.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
func (Implementation) Ctrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int) {
|
func (Implementation) Ctrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int) {
|
||||||
@@ -1374,7 +1374,7 @@ func (Implementation) Ctrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*A^T*B or B = alpha*A^H*B.
|
// Form B = alpha*Aᵀ*B or B = alpha*Aᴴ*B.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for k := m - 1; k >= 0; k-- {
|
for k := m - 1; k >= 0; k-- {
|
||||||
bk := b[k*ldb : k*ldb+n]
|
bk := b[k*ldb : k*ldb+n]
|
||||||
@@ -1463,7 +1463,7 @@ func (Implementation) Ctrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*B*A^T or B = alpha*B*A^H.
|
// Form B = alpha*B*Aᵀ or B = alpha*B*Aᴴ.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
@@ -1512,8 +1512,8 @@ func (Implementation) Ctrmm(side blas.Side, uplo blas.Uplo, trans blas.Transpose
|
|||||||
// where alpha is a scalar, X and B are m×n matrices, A is a unit or
|
// where alpha is a scalar, X and B are m×n matrices, A is a unit or
|
||||||
// non-unit, upper or lower triangular matrix and op(A) is one of
|
// non-unit, upper or lower triangular matrix and op(A) is one of
|
||||||
// op(A) = A if transA == blas.NoTrans,
|
// op(A) = A if transA == blas.NoTrans,
|
||||||
// op(A) = A^T if transA == blas.Trans,
|
// op(A) = Aᵀ if transA == blas.Trans,
|
||||||
// op(A) = A^H if transA == blas.ConjTrans.
|
// op(A) = Aᴴ if transA == blas.ConjTrans.
|
||||||
// On return the matrix X is overwritten on B.
|
// On return the matrix X is overwritten on B.
|
||||||
//
|
//
|
||||||
// Complex64 implementations are autogenerated and not directly tested.
|
// Complex64 implementations are autogenerated and not directly tested.
|
||||||
@@ -1601,7 +1601,7 @@ func (Implementation) Ctrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpos
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*inv(A^T)*B or B = alpha*inv(A^H)*B.
|
// Form B = alpha*inv(Aᵀ)*B or B = alpha*inv(Aᴴ)*B.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
@@ -1690,7 +1690,7 @@ func (Implementation) Ctrsm(side blas.Side, uplo blas.Uplo, transA blas.Transpos
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form B = alpha*B*inv(A^T) or B = alpha*B*inv(A^H).
|
// Form B = alpha*B*inv(Aᵀ) or B = alpha*B*inv(Aᴴ).
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
bi := b[i*ldb : i*ldb+n]
|
bi := b[i*ldb : i*ldb+n]
|
||||||
|
|||||||
16
vendor/gonum.org/v1/gonum/blas/gonum/level3float32.go
generated
vendored
16
vendor/gonum.org/v1/gonum/blas/gonum/level3float32.go
generated
vendored
@@ -15,9 +15,9 @@ var _ blas.Float32Level3 = Implementation{}
|
|||||||
|
|
||||||
// Strsm solves one of the matrix equations
|
// Strsm solves one of the matrix equations
|
||||||
// A * X = alpha * B if tA == blas.NoTrans and side == blas.Left
|
// A * X = alpha * B if tA == blas.NoTrans and side == blas.Left
|
||||||
// A^T * X = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
// Aᵀ * X = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
||||||
// X * A = alpha * B if tA == blas.NoTrans and side == blas.Right
|
// X * A = alpha * B if tA == blas.NoTrans and side == blas.Right
|
||||||
// X * A^T = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
// X * Aᵀ = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
||||||
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and alpha is a
|
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and alpha is a
|
||||||
// scalar.
|
// scalar.
|
||||||
//
|
//
|
||||||
@@ -362,8 +362,8 @@ func (Implementation) Ssymm(s blas.Side, ul blas.Uplo, m, n int, alpha float32,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ssyrk performs one of the symmetric rank-k operations
|
// Ssyrk performs one of the symmetric rank-k operations
|
||||||
// C = alpha * A * A^T + beta * C if tA == blas.NoTrans
|
// C = alpha * A * Aᵀ + beta * C if tA == blas.NoTrans
|
||||||
// C = alpha * A^T * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
// C = alpha * Aᵀ * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A is an n×k or k×n matrix, C is an n×n symmetric matrix, and alpha and
|
// where A is an n×k or k×n matrix, C is an n×n symmetric matrix, and alpha and
|
||||||
// beta are scalars.
|
// beta are scalars.
|
||||||
//
|
//
|
||||||
@@ -514,8 +514,8 @@ func (Implementation) Ssyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha flo
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ssyr2k performs one of the symmetric rank 2k operations
|
// Ssyr2k performs one of the symmetric rank 2k operations
|
||||||
// C = alpha * A * B^T + alpha * B * A^T + beta * C if tA == blas.NoTrans
|
// C = alpha * A * Bᵀ + alpha * B * Aᵀ + beta * C if tA == blas.NoTrans
|
||||||
// C = alpha * A^T * B + alpha * B^T * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
// C = alpha * Aᵀ * B + alpha * Bᵀ * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A and B are n×k or k×n matrices, C is an n×n symmetric matrix, and
|
// where A and B are n×k or k×n matrices, C is an n×n symmetric matrix, and
|
||||||
// alpha and beta are scalars.
|
// alpha and beta are scalars.
|
||||||
//
|
//
|
||||||
@@ -679,9 +679,9 @@ func (Implementation) Ssyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha fl
|
|||||||
|
|
||||||
// Strmm performs one of the matrix-matrix operations
|
// Strmm performs one of the matrix-matrix operations
|
||||||
// B = alpha * A * B if tA == blas.NoTrans and side == blas.Left
|
// B = alpha * A * B if tA == blas.NoTrans and side == blas.Left
|
||||||
// B = alpha * A^T * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
// B = alpha * Aᵀ * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
||||||
// B = alpha * B * A if tA == blas.NoTrans and side == blas.Right
|
// B = alpha * B * A if tA == blas.NoTrans and side == blas.Right
|
||||||
// B = alpha * B * A^T if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
// B = alpha * B * Aᵀ if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
||||||
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is a scalar.
|
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is a scalar.
|
||||||
//
|
//
|
||||||
// Float32 implementations are autogenerated and not directly tested.
|
// Float32 implementations are autogenerated and not directly tested.
|
||||||
|
|||||||
16
vendor/gonum.org/v1/gonum/blas/gonum/level3float64.go
generated
vendored
16
vendor/gonum.org/v1/gonum/blas/gonum/level3float64.go
generated
vendored
@@ -13,9 +13,9 @@ var _ blas.Float64Level3 = Implementation{}
|
|||||||
|
|
||||||
// Dtrsm solves one of the matrix equations
|
// Dtrsm solves one of the matrix equations
|
||||||
// A * X = alpha * B if tA == blas.NoTrans and side == blas.Left
|
// A * X = alpha * B if tA == blas.NoTrans and side == blas.Left
|
||||||
// A^T * X = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
// Aᵀ * X = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
||||||
// X * A = alpha * B if tA == blas.NoTrans and side == blas.Right
|
// X * A = alpha * B if tA == blas.NoTrans and side == blas.Right
|
||||||
// X * A^T = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
// X * Aᵀ = alpha * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
||||||
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and alpha is a
|
// where A is an n×n or m×m triangular matrix, X and B are m×n matrices, and alpha is a
|
||||||
// scalar.
|
// scalar.
|
||||||
//
|
//
|
||||||
@@ -356,8 +356,8 @@ func (Implementation) Dsymm(s blas.Side, ul blas.Uplo, m, n int, alpha float64,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dsyrk performs one of the symmetric rank-k operations
|
// Dsyrk performs one of the symmetric rank-k operations
|
||||||
// C = alpha * A * A^T + beta * C if tA == blas.NoTrans
|
// C = alpha * A * Aᵀ + beta * C if tA == blas.NoTrans
|
||||||
// C = alpha * A^T * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
// C = alpha * Aᵀ * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A is an n×k or k×n matrix, C is an n×n symmetric matrix, and alpha and
|
// where A is an n×k or k×n matrix, C is an n×n symmetric matrix, and alpha and
|
||||||
// beta are scalars.
|
// beta are scalars.
|
||||||
func (Implementation) Dsyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int) {
|
func (Implementation) Dsyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int) {
|
||||||
@@ -506,8 +506,8 @@ func (Implementation) Dsyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha flo
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dsyr2k performs one of the symmetric rank 2k operations
|
// Dsyr2k performs one of the symmetric rank 2k operations
|
||||||
// C = alpha * A * B^T + alpha * B * A^T + beta * C if tA == blas.NoTrans
|
// C = alpha * A * Bᵀ + alpha * B * Aᵀ + beta * C if tA == blas.NoTrans
|
||||||
// C = alpha * A^T * B + alpha * B^T * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
// C = alpha * Aᵀ * B + alpha * Bᵀ * A + beta * C if tA == blas.Trans or tA == blas.ConjTrans
|
||||||
// where A and B are n×k or k×n matrices, C is an n×n symmetric matrix, and
|
// where A and B are n×k or k×n matrices, C is an n×n symmetric matrix, and
|
||||||
// alpha and beta are scalars.
|
// alpha and beta are scalars.
|
||||||
func (Implementation) Dsyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {
|
func (Implementation) Dsyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int) {
|
||||||
@@ -669,9 +669,9 @@ func (Implementation) Dsyr2k(ul blas.Uplo, tA blas.Transpose, n, k int, alpha fl
|
|||||||
|
|
||||||
// Dtrmm performs one of the matrix-matrix operations
|
// Dtrmm performs one of the matrix-matrix operations
|
||||||
// B = alpha * A * B if tA == blas.NoTrans and side == blas.Left
|
// B = alpha * A * B if tA == blas.NoTrans and side == blas.Left
|
||||||
// B = alpha * A^T * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
// B = alpha * Aᵀ * B if tA == blas.Trans or blas.ConjTrans, and side == blas.Left
|
||||||
// B = alpha * B * A if tA == blas.NoTrans and side == blas.Right
|
// B = alpha * B * A if tA == blas.NoTrans and side == blas.Right
|
||||||
// B = alpha * B * A^T if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
// B = alpha * B * Aᵀ if tA == blas.Trans or blas.ConjTrans, and side == blas.Right
|
||||||
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is a scalar.
|
// where A is an n×n or m×m triangular matrix, B is an m×n matrix, and alpha is a scalar.
|
||||||
func (Implementation) Dtrmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int) {
|
func (Implementation) Dtrmm(s blas.Side, ul blas.Uplo, tA blas.Transpose, d blas.Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int) {
|
||||||
if s != blas.Left && s != blas.Right {
|
if s != blas.Left && s != blas.Right {
|
||||||
|
|||||||
12
vendor/gonum.org/v1/gonum/blas/gonum/sgemm.go
generated
vendored
12
vendor/gonum.org/v1/gonum/blas/gonum/sgemm.go
generated
vendored
@@ -16,9 +16,9 @@ import (
|
|||||||
|
|
||||||
// Sgemm performs one of the matrix-matrix operations
|
// Sgemm performs one of the matrix-matrix operations
|
||||||
// C = alpha * A * B + beta * C
|
// C = alpha * A * B + beta * C
|
||||||
// C = alpha * A^T * B + beta * C
|
// C = alpha * Aᵀ * B + beta * C
|
||||||
// C = alpha * A * B^T + beta * C
|
// C = alpha * A * Bᵀ + beta * C
|
||||||
// C = alpha * A^T * B^T + beta * C
|
// C = alpha * Aᵀ * Bᵀ + beta * C
|
||||||
// where A is an m×k or k×m dense matrix, B is an n×k or k×n dense matrix, C is
|
// where A is an m×k or k×m dense matrix, B is an n×k or k×n dense matrix, C is
|
||||||
// an m×n matrix, and alpha and beta are scalars. tA and tB specify whether A or
|
// an m×n matrix, and alpha and beta are scalars. tA and tB specify whether A or
|
||||||
// B are transposed.
|
// B are transposed.
|
||||||
@@ -138,9 +138,9 @@ func sgemmParallel(aTrans, bTrans bool, m, n, k int, a []float32, lda int, b []f
|
|||||||
// In all cases, there is one dimension for each matrix along which
|
// In all cases, there is one dimension for each matrix along which
|
||||||
// C must be updated sequentially.
|
// C must be updated sequentially.
|
||||||
// Cij = \sum_k Aik Bki, (A * B)
|
// Cij = \sum_k Aik Bki, (A * B)
|
||||||
// Cij = \sum_k Aki Bkj, (A^T * B)
|
// Cij = \sum_k Aki Bkj, (Aᵀ * B)
|
||||||
// Cij = \sum_k Aik Bjk, (A * B^T)
|
// Cij = \sum_k Aik Bjk, (A * Bᵀ)
|
||||||
// Cij = \sum_k Aki Bjk, (A^T * B^T)
|
// Cij = \sum_k Aki Bjk, (Aᵀ * Bᵀ)
|
||||||
//
|
//
|
||||||
// This code computes one {i, j} block sequentially along the k dimension,
|
// This code computes one {i, j} block sequentially along the k dimension,
|
||||||
// and computes all of the {i, j} blocks concurrently. This
|
// and computes all of the {i, j} blocks concurrently. This
|
||||||
|
|||||||
5
vendor/gonum.org/v1/gonum/graph/encoding/dot/encode.go
generated
vendored
5
vendor/gonum.org/v1/gonum/graph/encoding/dot/encode.go
generated
vendored
@@ -135,8 +135,6 @@ type printer struct {
|
|||||||
prefix string
|
prefix string
|
||||||
indent string
|
indent string
|
||||||
depth int
|
depth int
|
||||||
|
|
||||||
err error
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type edge struct {
|
type edge struct {
|
||||||
@@ -291,7 +289,7 @@ func (p *simpleGraphPrinter) print(g graph.Graph, name string, needsIndent, isSu
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *printer) printFrontMatter(name string, needsIndent, isSubgraph, isDirected, isStrict bool) error {
|
func (p *printer) printFrontMatter(name string, needsIndent, isSubgraph, isDirected, isStrict bool) {
|
||||||
p.buf.WriteString(p.prefix)
|
p.buf.WriteString(p.prefix)
|
||||||
if needsIndent {
|
if needsIndent {
|
||||||
for i := 0; i < p.depth; i++ {
|
for i := 0; i < p.depth; i++ {
|
||||||
@@ -316,7 +314,6 @@ func (p *printer) printFrontMatter(name string, needsIndent, isSubgraph, isDirec
|
|||||||
}
|
}
|
||||||
|
|
||||||
p.openBlock(" {")
|
p.openBlock(" {")
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *printer) writeNode(n graph.Node) {
|
func (p *printer) writeNode(n graph.Node) {
|
||||||
|
|||||||
57
vendor/gonum.org/v1/gonum/graph/iterator/nodes.go
generated
vendored
57
vendor/gonum.org/v1/gonum/graph/iterator/nodes.go
generated
vendored
@@ -4,7 +4,11 @@
|
|||||||
|
|
||||||
package iterator
|
package iterator
|
||||||
|
|
||||||
import "gonum.org/v1/gonum/graph"
|
import (
|
||||||
|
"reflect"
|
||||||
|
|
||||||
|
"gonum.org/v1/gonum/graph"
|
||||||
|
)
|
||||||
|
|
||||||
// OrderedNodes implements the graph.Nodes and graph.NodeSlicer interfaces.
|
// OrderedNodes implements the graph.Nodes and graph.NodeSlicer interfaces.
|
||||||
// The iteration order of OrderedNodes is the order of nodes passed to
|
// The iteration order of OrderedNodes is the order of nodes passed to
|
||||||
@@ -123,3 +127,54 @@ func (n *ImplicitNodes) NodeSlice() []graph.Node {
|
|||||||
}
|
}
|
||||||
return nodes
|
return nodes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Nodes implements the graph.Nodes interfaces.
|
||||||
|
// The iteration order of Nodes is randomized.
|
||||||
|
type Nodes struct {
|
||||||
|
nodes reflect.Value
|
||||||
|
iter *reflect.MapIter
|
||||||
|
pos int
|
||||||
|
curr graph.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewNodes returns a Nodes initialized with the provided nodes, a
|
||||||
|
// map of node IDs to graph.Nodes. No check is made that the keys
|
||||||
|
// match the graph.Node IDs, and the map keys are not used.
|
||||||
|
//
|
||||||
|
// Behavior of the Nodes is unspecified if nodes is mutated after
|
||||||
|
// the call the NewNodes.
|
||||||
|
func NewNodes(nodes map[int64]graph.Node) *Nodes {
|
||||||
|
rv := reflect.ValueOf(nodes)
|
||||||
|
return &Nodes{nodes: rv, iter: rv.MapRange()}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Len returns the remaining number of nodes to be iterated over.
|
||||||
|
func (n *Nodes) Len() int {
|
||||||
|
return n.nodes.Len() - n.pos
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next returns whether the next call of Node will return a valid node.
|
||||||
|
func (n *Nodes) Next() bool {
|
||||||
|
if n.pos >= n.nodes.Len() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
ok := n.iter.Next()
|
||||||
|
if ok {
|
||||||
|
n.pos++
|
||||||
|
n.curr = n.iter.Value().Interface().(graph.Node)
|
||||||
|
}
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
|
||||||
|
// Node returns the current node of the iterator. Next must have been
|
||||||
|
// called prior to a call to Node.
|
||||||
|
func (n *Nodes) Node() graph.Node {
|
||||||
|
return n.curr
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset returns the iterator to its initial state.
|
||||||
|
func (n *Nodes) Reset() {
|
||||||
|
n.curr = nil
|
||||||
|
n.pos = 0
|
||||||
|
n.iter = n.nodes.MapRange()
|
||||||
|
}
|
||||||
|
|||||||
16
vendor/gonum.org/v1/gonum/graph/simple/directed.go
generated
vendored
16
vendor/gonum.org/v1/gonum/graph/simple/directed.go
generated
vendored
@@ -49,8 +49,6 @@ func (g *DirectedGraph) AddNode(n graph.Node) {
|
|||||||
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
||||||
}
|
}
|
||||||
g.nodes[n.ID()] = n
|
g.nodes[n.ID()] = n
|
||||||
g.from[n.ID()] = make(map[int64]graph.Edge)
|
|
||||||
g.to[n.ID()] = make(map[int64]graph.Edge)
|
|
||||||
g.nodeIDs.Use(n.ID())
|
g.nodeIDs.Use(n.ID())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,13 +210,21 @@ func (g *DirectedGraph) SetEdge(e graph.Edge) {
|
|||||||
g.nodes[tid] = to
|
g.nodes[tid] = to
|
||||||
}
|
}
|
||||||
|
|
||||||
g.from[fid][tid] = e
|
if fm, ok := g.from[fid]; ok {
|
||||||
g.to[tid][fid] = e
|
fm[tid] = e
|
||||||
|
} else {
|
||||||
|
g.from[fid] = map[int64]graph.Edge{tid: e}
|
||||||
|
}
|
||||||
|
if tm, ok := g.to[tid]; ok {
|
||||||
|
tm[fid] = e
|
||||||
|
} else {
|
||||||
|
g.to[tid] = map[int64]graph.Edge{fid: e}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// To returns all nodes in g that can reach directly to n.
|
// To returns all nodes in g that can reach directly to n.
|
||||||
func (g *DirectedGraph) To(id int64) graph.Nodes {
|
func (g *DirectedGraph) To(id int64) graph.Nodes {
|
||||||
if _, ok := g.from[id]; !ok {
|
if _, ok := g.to[id]; !ok {
|
||||||
return graph.Empty
|
return graph.Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
13
vendor/gonum.org/v1/gonum/graph/simple/undirected.go
generated
vendored
13
vendor/gonum.org/v1/gonum/graph/simple/undirected.go
generated
vendored
@@ -47,7 +47,6 @@ func (g *UndirectedGraph) AddNode(n graph.Node) {
|
|||||||
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
||||||
}
|
}
|
||||||
g.nodes[n.ID()] = n
|
g.nodes[n.ID()] = n
|
||||||
g.edges[n.ID()] = make(map[int64]graph.Edge)
|
|
||||||
g.nodeIDs.Use(n.ID())
|
g.nodeIDs.Use(n.ID())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,6 +210,14 @@ func (g *UndirectedGraph) SetEdge(e graph.Edge) {
|
|||||||
g.nodes[tid] = to
|
g.nodes[tid] = to
|
||||||
}
|
}
|
||||||
|
|
||||||
g.edges[fid][tid] = e
|
if fm, ok := g.edges[fid]; ok {
|
||||||
g.edges[tid][fid] = e
|
fm[tid] = e
|
||||||
|
} else {
|
||||||
|
g.edges[fid] = map[int64]graph.Edge{tid: e}
|
||||||
|
}
|
||||||
|
if tm, ok := g.edges[tid]; ok {
|
||||||
|
tm[fid] = e
|
||||||
|
} else {
|
||||||
|
g.edges[tid] = map[int64]graph.Edge{fid: e}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
18
vendor/gonum.org/v1/gonum/graph/simple/weighted_directed.go
generated
vendored
18
vendor/gonum.org/v1/gonum/graph/simple/weighted_directed.go
generated
vendored
@@ -57,8 +57,6 @@ func (g *WeightedDirectedGraph) AddNode(n graph.Node) {
|
|||||||
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
||||||
}
|
}
|
||||||
g.nodes[n.ID()] = n
|
g.nodes[n.ID()] = n
|
||||||
g.from[n.ID()] = make(map[int64]graph.WeightedEdge)
|
|
||||||
g.to[n.ID()] = make(map[int64]graph.WeightedEdge)
|
|
||||||
g.nodeIDs.Use(n.ID())
|
g.nodeIDs.Use(n.ID())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +141,7 @@ func (g *WeightedDirectedGraph) Node(id int64) graph.Node {
|
|||||||
|
|
||||||
// Nodes returns all the nodes in the graph.
|
// Nodes returns all the nodes in the graph.
|
||||||
func (g *WeightedDirectedGraph) Nodes() graph.Nodes {
|
func (g *WeightedDirectedGraph) Nodes() graph.Nodes {
|
||||||
if len(g.from) == 0 {
|
if len(g.nodes) == 0 {
|
||||||
return graph.Empty
|
return graph.Empty
|
||||||
}
|
}
|
||||||
nodes := make([]graph.Node, len(g.nodes))
|
nodes := make([]graph.Node, len(g.nodes))
|
||||||
@@ -216,13 +214,21 @@ func (g *WeightedDirectedGraph) SetWeightedEdge(e graph.WeightedEdge) {
|
|||||||
g.nodes[tid] = to
|
g.nodes[tid] = to
|
||||||
}
|
}
|
||||||
|
|
||||||
g.from[fid][tid] = e
|
if fm, ok := g.from[fid]; ok {
|
||||||
g.to[tid][fid] = e
|
fm[tid] = e
|
||||||
|
} else {
|
||||||
|
g.from[fid] = map[int64]graph.WeightedEdge{tid: e}
|
||||||
|
}
|
||||||
|
if tm, ok := g.to[tid]; ok {
|
||||||
|
tm[fid] = e
|
||||||
|
} else {
|
||||||
|
g.to[tid] = map[int64]graph.WeightedEdge{fid: e}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// To returns all nodes in g that can reach directly to n.
|
// To returns all nodes in g that can reach directly to n.
|
||||||
func (g *WeightedDirectedGraph) To(id int64) graph.Nodes {
|
func (g *WeightedDirectedGraph) To(id int64) graph.Nodes {
|
||||||
if _, ok := g.from[id]; !ok {
|
if _, ok := g.to[id]; !ok {
|
||||||
return graph.Empty
|
return graph.Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
13
vendor/gonum.org/v1/gonum/graph/simple/weighted_undirected.go
generated
vendored
13
vendor/gonum.org/v1/gonum/graph/simple/weighted_undirected.go
generated
vendored
@@ -55,7 +55,6 @@ func (g *WeightedUndirectedGraph) AddNode(n graph.Node) {
|
|||||||
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
panic(fmt.Sprintf("simple: node ID collision: %d", n.ID()))
|
||||||
}
|
}
|
||||||
g.nodes[n.ID()] = n
|
g.nodes[n.ID()] = n
|
||||||
g.edges[n.ID()] = make(map[int64]graph.WeightedEdge)
|
|
||||||
g.nodeIDs.Use(n.ID())
|
g.nodeIDs.Use(n.ID())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,8 +211,16 @@ func (g *WeightedUndirectedGraph) SetWeightedEdge(e graph.WeightedEdge) {
|
|||||||
g.nodes[tid] = to
|
g.nodes[tid] = to
|
||||||
}
|
}
|
||||||
|
|
||||||
g.edges[fid][tid] = e
|
if fm, ok := g.edges[fid]; ok {
|
||||||
g.edges[tid][fid] = e
|
fm[tid] = e
|
||||||
|
} else {
|
||||||
|
g.edges[fid] = map[int64]graph.WeightedEdge{tid: e}
|
||||||
|
}
|
||||||
|
if tm, ok := g.edges[tid]; ok {
|
||||||
|
tm[fid] = e
|
||||||
|
} else {
|
||||||
|
g.edges[tid] = map[int64]graph.WeightedEdge{fid: e}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Weight returns the weight for the edge between x and y if Edge(x, y) returns a non-nil Edge.
|
// Weight returns the weight for the edge between x and y if Edge(x, y) returns a non-nil Edge.
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/internal/asm/f32/ge_amd64.go
generated
vendored
2
vendor/gonum.org/v1/gonum/internal/asm/f32/ge_amd64.go
generated
vendored
@@ -7,7 +7,7 @@
|
|||||||
package f32
|
package f32
|
||||||
|
|
||||||
// Ger performs the rank-one operation
|
// Ger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Ger(m, n uintptr, alpha float32,
|
func Ger(m, n uintptr, alpha float32,
|
||||||
x []float32, incX uintptr,
|
x []float32, incX uintptr,
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/internal/asm/f32/ge_noasm.go
generated
vendored
2
vendor/gonum.org/v1/gonum/internal/asm/f32/ge_noasm.go
generated
vendored
@@ -7,7 +7,7 @@
|
|||||||
package f32
|
package f32
|
||||||
|
|
||||||
// Ger performs the rank-one operation
|
// Ger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Ger(m, n uintptr, alpha float32, x []float32, incX uintptr, y []float32, incY uintptr, a []float32, lda uintptr) {
|
func Ger(m, n uintptr, alpha float32, x []float32, incX uintptr, y []float32, incY uintptr, a []float32, lda uintptr) {
|
||||||
|
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/internal/asm/f64/ge_amd64.go
generated
vendored
4
vendor/gonum.org/v1/gonum/internal/asm/f64/ge_amd64.go
generated
vendored
@@ -7,7 +7,7 @@
|
|||||||
package f64
|
package f64
|
||||||
|
|
||||||
// Ger performs the rank-one operation
|
// Ger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Ger(m, n uintptr, alpha float64, x []float64, incX uintptr, y []float64, incY uintptr, a []float64, lda uintptr)
|
func Ger(m, n uintptr, alpha float64, x []float64, incX uintptr, y []float64, incY uintptr, a []float64, lda uintptr)
|
||||||
|
|
||||||
@@ -17,6 +17,6 @@ func Ger(m, n uintptr, alpha float64, x []float64, incX uintptr, y []float64, in
|
|||||||
func GemvN(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr)
|
func GemvN(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr)
|
||||||
|
|
||||||
// GemvT computes
|
// GemvT computes
|
||||||
// y = alpha * A^T * x + beta * y
|
// y = alpha * Aᵀ * x + beta * y
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
func GemvT(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr)
|
func GemvT(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr)
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/internal/asm/f64/ge_noasm.go
generated
vendored
4
vendor/gonum.org/v1/gonum/internal/asm/f64/ge_noasm.go
generated
vendored
@@ -7,7 +7,7 @@
|
|||||||
package f64
|
package f64
|
||||||
|
|
||||||
// Ger performs the rank-one operation
|
// Ger performs the rank-one operation
|
||||||
// A += alpha * x * y^T
|
// A += alpha * x * yᵀ
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha is a scalar.
|
||||||
func Ger(m, n uintptr, alpha float64, x []float64, incX uintptr, y []float64, incY uintptr, a []float64, lda uintptr) {
|
func Ger(m, n uintptr, alpha float64, x []float64, incX uintptr, y []float64, incY uintptr, a []float64, lda uintptr) {
|
||||||
if incX == 1 && incY == 1 {
|
if incX == 1 && incY == 1 {
|
||||||
@@ -73,7 +73,7 @@ func GemvN(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GemvT computes
|
// GemvT computes
|
||||||
// y = alpha * A^T * x + beta * y
|
// y = alpha * Aᵀ * x + beta * y
|
||||||
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
// where A is an m×n dense matrix, x and y are vectors, and alpha and beta are scalars.
|
||||||
func GemvT(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr) {
|
func GemvT(m, n uintptr, alpha float64, a []float64, lda uintptr, x []float64, incX uintptr, beta float64, y []float64, incY uintptr) {
|
||||||
var kx, ky, i uintptr
|
var kx, ky, i uintptr
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/BUILD
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/BUILD
generated
vendored
@@ -4,6 +4,7 @@ go_library(
|
|||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = [
|
srcs = [
|
||||||
"dbdsqr.go",
|
"dbdsqr.go",
|
||||||
|
"dcombssq.go",
|
||||||
"dgebak.go",
|
"dgebak.go",
|
||||||
"dgebal.go",
|
"dgebal.go",
|
||||||
"dgebd2.go",
|
"dgebd2.go",
|
||||||
@@ -40,6 +41,7 @@ go_library(
|
|||||||
"dlahr2.go",
|
"dlahr2.go",
|
||||||
"dlaln2.go",
|
"dlaln2.go",
|
||||||
"dlange.go",
|
"dlange.go",
|
||||||
|
"dlansb.go",
|
||||||
"dlanst.go",
|
"dlanst.go",
|
||||||
"dlansy.go",
|
"dlansy.go",
|
||||||
"dlantr.go",
|
"dlantr.go",
|
||||||
@@ -74,6 +76,7 @@ go_library(
|
|||||||
"dlasv2.go",
|
"dlasv2.go",
|
||||||
"dlaswp.go",
|
"dlaswp.go",
|
||||||
"dlasy2.go",
|
"dlasy2.go",
|
||||||
|
"dlatbs.go",
|
||||||
"dlatrd.go",
|
"dlatrd.go",
|
||||||
"dlatrs.go",
|
"dlatrs.go",
|
||||||
"dlauu2.go",
|
"dlauu2.go",
|
||||||
@@ -95,7 +98,10 @@ go_library(
|
|||||||
"dormlq.go",
|
"dormlq.go",
|
||||||
"dormqr.go",
|
"dormqr.go",
|
||||||
"dormr2.go",
|
"dormr2.go",
|
||||||
|
"dpbcon.go",
|
||||||
"dpbtf2.go",
|
"dpbtf2.go",
|
||||||
|
"dpbtrf.go",
|
||||||
|
"dpbtrs.go",
|
||||||
"dpocon.go",
|
"dpocon.go",
|
||||||
"dpotf2.go",
|
"dpotf2.go",
|
||||||
"dpotrf.go",
|
"dpotrf.go",
|
||||||
|
|||||||
12
vendor/gonum.org/v1/gonum/lapack/gonum/dbdsqr.go
generated
vendored
12
vendor/gonum.org/v1/gonum/lapack/gonum/dbdsqr.go
generated
vendored
@@ -15,19 +15,19 @@ import (
|
|||||||
// Dbdsqr performs a singular value decomposition of a real n×n bidiagonal matrix.
|
// Dbdsqr performs a singular value decomposition of a real n×n bidiagonal matrix.
|
||||||
//
|
//
|
||||||
// The SVD of the bidiagonal matrix B is
|
// The SVD of the bidiagonal matrix B is
|
||||||
// B = Q * S * P^T
|
// B = Q * S * Pᵀ
|
||||||
// where S is a diagonal matrix of singular values, Q is an orthogonal matrix of
|
// where S is a diagonal matrix of singular values, Q is an orthogonal matrix of
|
||||||
// left singular vectors, and P is an orthogonal matrix of right singular vectors.
|
// left singular vectors, and P is an orthogonal matrix of right singular vectors.
|
||||||
//
|
//
|
||||||
// Q and P are only computed if requested. If left singular vectors are requested,
|
// Q and P are only computed if requested. If left singular vectors are requested,
|
||||||
// this routine returns U * Q instead of Q, and if right singular vectors are
|
// this routine returns U * Q instead of Q, and if right singular vectors are
|
||||||
// requested P^T * VT is returned instead of P^T.
|
// requested Pᵀ * VT is returned instead of Pᵀ.
|
||||||
//
|
//
|
||||||
// Frequently Dbdsqr is used in conjunction with Dgebrd which reduces a general
|
// Frequently Dbdsqr is used in conjunction with Dgebrd which reduces a general
|
||||||
// matrix A into bidiagonal form. In this case, the SVD of A is
|
// matrix A into bidiagonal form. In this case, the SVD of A is
|
||||||
// A = (U * Q) * S * (P^T * VT)
|
// A = (U * Q) * S * (Pᵀ * VT)
|
||||||
//
|
//
|
||||||
// This routine may also compute Q^T * C.
|
// This routine may also compute Qᵀ * C.
|
||||||
//
|
//
|
||||||
// d and e contain the elements of the bidiagonal matrix b. d must have length at
|
// d and e contain the elements of the bidiagonal matrix b. d must have length at
|
||||||
// least n, and e must have length at least n-1. Dbdsqr will panic if there is
|
// least n, and e must have length at least n-1. Dbdsqr will panic if there is
|
||||||
@@ -35,13 +35,13 @@ import (
|
|||||||
// order.
|
// order.
|
||||||
//
|
//
|
||||||
// VT is a matrix of size n×ncvt whose elements are stored in vt. The elements
|
// VT is a matrix of size n×ncvt whose elements are stored in vt. The elements
|
||||||
// of vt are modified to contain P^T * VT on exit. VT is not used if ncvt == 0.
|
// of vt are modified to contain Pᵀ * VT on exit. VT is not used if ncvt == 0.
|
||||||
//
|
//
|
||||||
// U is a matrix of size nru×n whose elements are stored in u. The elements
|
// U is a matrix of size nru×n whose elements are stored in u. The elements
|
||||||
// of u are modified to contain U * Q on exit. U is not used if nru == 0.
|
// of u are modified to contain U * Q on exit. U is not used if nru == 0.
|
||||||
//
|
//
|
||||||
// C is a matrix of size n×ncc whose elements are stored in c. The elements
|
// C is a matrix of size n×ncc whose elements are stored in c. The elements
|
||||||
// of c are modified to contain Q^T * C on exit. C is not used if ncc == 0.
|
// of c are modified to contain Qᵀ * C on exit. C is not used if ncc == 0.
|
||||||
//
|
//
|
||||||
// work contains temporary storage and must have length at least 4*(n-1). Dbdsqr
|
// work contains temporary storage and must have length at least 4*(n-1). Dbdsqr
|
||||||
// will panic if there is insufficient working memory.
|
// will panic if there is insufficient working memory.
|
||||||
|
|||||||
21
vendor/gonum.org/v1/gonum/lapack/gonum/dcombssq.go
generated
vendored
Normal file
21
vendor/gonum.org/v1/gonum/lapack/gonum/dcombssq.go
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
// Copyright ©2019 The Gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package gonum
|
||||||
|
|
||||||
|
// Dcombssq adds two scaled sum-of-squares quantities, V := V1 + V2,
|
||||||
|
// V_scale^2 * V_ssq := V1_scale^2 * V1_ssq + V2_scale^2 * V2_ssq
|
||||||
|
// and returns the result V.
|
||||||
|
//
|
||||||
|
// Dcombssq is an internal routine. It is exported for testing purposes.
|
||||||
|
func (Implementation) Dcombssq(scale1, ssq1, scale2, ssq2 float64) (scale, ssq float64) {
|
||||||
|
if scale1 >= scale2 {
|
||||||
|
if scale1 != 0 {
|
||||||
|
return scale1, ssq1 + (scale2/scale1)*(scale2/scale1)*ssq2
|
||||||
|
}
|
||||||
|
// If the input is non-negative and we are here, then scale2 must inevitably be 0, too.
|
||||||
|
return 0, 0
|
||||||
|
}
|
||||||
|
return scale2, ssq2 + (scale1/scale2)*(scale1/scale2)*ssq1
|
||||||
|
}
|
||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgebak.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgebak.go
generated
vendored
@@ -10,8 +10,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dgebak updates an n×m matrix V as
|
// Dgebak updates an n×m matrix V as
|
||||||
// V = P D V, if side == lapack.EVRight,
|
// V = P D V if side == lapack.EVRight,
|
||||||
// V = P D^{-1} V, if side == lapack.EVLeft,
|
// V = P D^{-1} V if side == lapack.EVLeft,
|
||||||
// where P and D are n×n permutation and scaling matrices, respectively,
|
// where P and D are n×n permutation and scaling matrices, respectively,
|
||||||
// implicitly represented by job, scale, ilo and ihi as returned by Dgebal.
|
// implicitly represented by job, scale, ilo and ihi as returned by Dgebal.
|
||||||
//
|
//
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgebal.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgebal.go
generated
vendored
@@ -15,9 +15,9 @@ import (
|
|||||||
// and scaling. Both steps are optional and depend on the value of job.
|
// and scaling. Both steps are optional and depend on the value of job.
|
||||||
//
|
//
|
||||||
// Permuting consists of applying a permutation matrix P such that the matrix
|
// Permuting consists of applying a permutation matrix P such that the matrix
|
||||||
// that results from P^T*A*P takes the upper block triangular form
|
// that results from Pᵀ*A*P takes the upper block triangular form
|
||||||
// [ T1 X Y ]
|
// [ T1 X Y ]
|
||||||
// P^T A P = [ 0 B Z ],
|
// Pᵀ A P = [ 0 B Z ],
|
||||||
// [ 0 0 T2 ]
|
// [ 0 0 T2 ]
|
||||||
// where T1 and T2 are upper triangular matrices and B contains at least one
|
// where T1 and T2 are upper triangular matrices and B contains at least one
|
||||||
// nonzero off-diagonal element in each row and column. The indices ilo and ihi
|
// nonzero off-diagonal element in each row and column. The indices ilo and ihi
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgebd2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgebd2.go
generated
vendored
@@ -8,7 +8,7 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
|
|
||||||
// Dgebd2 reduces an m×n matrix A to upper or lower bidiagonal form by an orthogonal
|
// Dgebd2 reduces an m×n matrix A to upper or lower bidiagonal form by an orthogonal
|
||||||
// transformation.
|
// transformation.
|
||||||
// Q^T * A * P = B
|
// Qᵀ * A * P = B
|
||||||
// if m >= n, B is upper diagonal, otherwise B is lower bidiagonal.
|
// if m >= n, B is upper diagonal, otherwise B is lower bidiagonal.
|
||||||
// d is the diagonal, len = min(m,n)
|
// d is the diagonal, len = min(m,n)
|
||||||
// e is the off-diagonal len = min(m,n)-1
|
// e is the off-diagonal len = min(m,n)-1
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dgebrd.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dgebrd.go
generated
vendored
@@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
// Dgebrd reduces a general m×n matrix A to upper or lower bidiagonal form B by
|
// Dgebrd reduces a general m×n matrix A to upper or lower bidiagonal form B by
|
||||||
// an orthogonal transformation:
|
// an orthogonal transformation:
|
||||||
// Q^T * A * P = B.
|
// Qᵀ * A * P = B.
|
||||||
// The diagonal elements of B are stored in d and the off-diagonal elements are stored
|
// The diagonal elements of B are stored in d and the off-diagonal elements are stored
|
||||||
// in e. These are additionally stored along the diagonal of A and the off-diagonal
|
// in e. These are additionally stored along the diagonal of A and the off-diagonal
|
||||||
// of A. If m >= n B is an upper-bidiagonal matrix, and if m < n B is a
|
// of A. If m >= n B is an upper-bidiagonal matrix, and if m < n B is a
|
||||||
@@ -24,8 +24,8 @@ import (
|
|||||||
// if m < n, Q = H_0 * H_1 * ... * H_{m-2},
|
// if m < n, Q = H_0 * H_1 * ... * H_{m-2},
|
||||||
// P = G_0 * G_1 * ... * G_{m-1},
|
// P = G_0 * G_1 * ... * G_{m-1},
|
||||||
// where
|
// where
|
||||||
// H_i = I - tauQ[i] * v_i * v_i^T,
|
// H_i = I - tauQ[i] * v_i * v_iᵀ,
|
||||||
// G_i = I - tauP[i] * u_i * u_i^T.
|
// G_i = I - tauP[i] * u_i * u_iᵀ.
|
||||||
//
|
//
|
||||||
// As an example, on exit the entries of A when m = 6, and n = 5
|
// As an example, on exit the entries of A when m = 6, and n = 5
|
||||||
// [ d e u1 u1 u1]
|
// [ d e u1 u1 u1]
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgeev.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgeev.go
generated
vendored
@@ -19,8 +19,8 @@ import (
|
|||||||
// is defined by
|
// is defined by
|
||||||
// A v_j = λ_j v_j,
|
// A v_j = λ_j v_j,
|
||||||
// and the left eigenvector u_j corresponding to an eigenvalue λ_j is defined by
|
// and the left eigenvector u_j corresponding to an eigenvalue λ_j is defined by
|
||||||
// u_j^H A = λ_j u_j^H,
|
// u_jᴴ A = λ_j u_jᴴ,
|
||||||
// where u_j^H is the conjugate transpose of u_j.
|
// where u_jᴴ is the conjugate transpose of u_j.
|
||||||
//
|
//
|
||||||
// On return, A will be overwritten and the left and right eigenvectors will be
|
// On return, A will be overwritten and the left and right eigenvectors will be
|
||||||
// stored, respectively, in the columns of the n×n matrices VL and VR in the
|
// stored, respectively, in the columns of the n×n matrices VL and VR in the
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgehd2.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgehd2.go
generated
vendored
@@ -7,13 +7,13 @@ package gonum
|
|||||||
import "gonum.org/v1/gonum/blas"
|
import "gonum.org/v1/gonum/blas"
|
||||||
|
|
||||||
// Dgehd2 reduces a block of a general n×n matrix A to upper Hessenberg form H
|
// Dgehd2 reduces a block of a general n×n matrix A to upper Hessenberg form H
|
||||||
// by an orthogonal similarity transformation Q^T * A * Q = H.
|
// by an orthogonal similarity transformation Qᵀ * A * Q = H.
|
||||||
//
|
//
|
||||||
// The matrix Q is represented as a product of (ihi-ilo) elementary
|
// The matrix Q is represented as a product of (ihi-ilo) elementary
|
||||||
// reflectors
|
// reflectors
|
||||||
// Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.
|
// Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.
|
||||||
// Each H_i has the form
|
// Each H_i has the form
|
||||||
// H_i = I - tau[i] * v * v^T
|
// H_i = I - tau[i] * v * vᵀ
|
||||||
// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.
|
// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.
|
||||||
// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].
|
// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].
|
||||||
//
|
//
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dgehrd.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dgehrd.go
generated
vendored
@@ -11,13 +11,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dgehrd reduces a block of a real n×n general matrix A to upper Hessenberg
|
// Dgehrd reduces a block of a real n×n general matrix A to upper Hessenberg
|
||||||
// form H by an orthogonal similarity transformation Q^T * A * Q = H.
|
// form H by an orthogonal similarity transformation Qᵀ * A * Q = H.
|
||||||
//
|
//
|
||||||
// The matrix Q is represented as a product of (ihi-ilo) elementary
|
// The matrix Q is represented as a product of (ihi-ilo) elementary
|
||||||
// reflectors
|
// reflectors
|
||||||
// Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.
|
// Q = H_{ilo} H_{ilo+1} ... H_{ihi-1}.
|
||||||
// Each H_i has the form
|
// Each H_i has the form
|
||||||
// H_i = I - tau[i] * v * v^T
|
// H_i = I - tau[i] * v * vᵀ
|
||||||
// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.
|
// where v is a real vector with v[0:i+1] = 0, v[i+1] = 1 and v[ihi+1:n] = 0.
|
||||||
// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].
|
// v[i+2:ihi+1] is stored on exit in A[i+2:ihi+1,i].
|
||||||
//
|
//
|
||||||
@@ -158,12 +158,12 @@ func (impl Implementation) Dgehrd(n, ilo, ihi int, a []float64, lda int, tau, wo
|
|||||||
ib := min(nb, ihi-i)
|
ib := min(nb, ihi-i)
|
||||||
|
|
||||||
// Reduce columns [i:i+ib] to Hessenberg form, returning the
|
// Reduce columns [i:i+ib] to Hessenberg form, returning the
|
||||||
// matrices V and T of the block reflector H = I - V*T*V^T
|
// matrices V and T of the block reflector H = I - V*T*Vᵀ
|
||||||
// which performs the reduction, and also the matrix Y = A*V*T.
|
// which performs the reduction, and also the matrix Y = A*V*T.
|
||||||
impl.Dlahr2(ihi+1, i+1, ib, a[i:], lda, tau[i:], work[iwt:], ldt, work, ldwork)
|
impl.Dlahr2(ihi+1, i+1, ib, a[i:], lda, tau[i:], work[iwt:], ldt, work, ldwork)
|
||||||
|
|
||||||
// Apply the block reflector H to A[:ihi+1,i+ib:ihi+1] from the
|
// Apply the block reflector H to A[:ihi+1,i+ib:ihi+1] from the
|
||||||
// right, computing A := A - Y * V^T. V[i+ib,i+ib-1] must be set
|
// right, computing A := A - Y * Vᵀ. V[i+ib,i+ib-1] must be set
|
||||||
// to 1.
|
// to 1.
|
||||||
ei := a[(i+ib)*lda+i+ib-1]
|
ei := a[(i+ib)*lda+i+ib-1]
|
||||||
a[(i+ib)*lda+i+ib-1] = 1
|
a[(i+ib)*lda+i+ib-1] = 1
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgels.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgels.go
generated
vendored
@@ -20,7 +20,7 @@ import (
|
|||||||
// 2. If m < n and trans == blas.NoTrans, Dgels finds the minimum norm solution of
|
// 2. If m < n and trans == blas.NoTrans, Dgels finds the minimum norm solution of
|
||||||
// A * X = B.
|
// A * X = B.
|
||||||
// 3. If m >= n and trans == blas.Trans, Dgels finds the minimum norm solution of
|
// 3. If m >= n and trans == blas.Trans, Dgels finds the minimum norm solution of
|
||||||
// A^T * X = B.
|
// Aᵀ * X = B.
|
||||||
// 4. If m < n and trans == blas.Trans, Dgels finds X such that || A*X - B||_2
|
// 4. If m < n and trans == blas.Trans, Dgels finds X such that || A*X - B||_2
|
||||||
// is minimized.
|
// is minimized.
|
||||||
// Note that the least-squares solutions (cases 1 and 3) perform the minimization
|
// Note that the least-squares solutions (cases 1 and 3) perform the minimization
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeql2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeql2.go
generated
vendored
@@ -14,7 +14,7 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// Q is represented as a product of elementary reflectors,
|
// Q is represented as a product of elementary reflectors,
|
||||||
// Q = H_{k-1} * ... * H_1 * H_0
|
// Q = H_{k-1} * ... * H_1 * H_0
|
||||||
// where k = min(m,n) and each H_i has the form
|
// where k = min(m,n) and each H_i has the form
|
||||||
// H_i = I - tau[i] * v_i * v_i^T
|
// H_i = I - tau[i] * v_i * v_iᵀ
|
||||||
// Vector v_i has v[m-k+i+1:m] = 0, v[m-k+i] = 1, and v[:m-k+i+1] is stored on
|
// Vector v_i has v[m-k+i+1:m] = 0, v[m-k+i] = 1, and v[:m-k+i+1] is stored on
|
||||||
// exit in A[0:m-k+i-1, n-k+i].
|
// exit in A[0:m-k+i-1, n-k+i].
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqp3.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqp3.go
generated
vendored
@@ -15,7 +15,7 @@ import (
|
|||||||
// The matrix Q is represented as a product of elementary reflectors
|
// The matrix Q is represented as a product of elementary reflectors
|
||||||
// Q = H_0 H_1 . . . H_{k-1}, where k = min(m,n).
|
// Q = H_0 H_1 . . . H_{k-1}, where k = min(m,n).
|
||||||
// Each H_i has the form
|
// Each H_i has the form
|
||||||
// H_i = I - tau * v * v^T
|
// H_i = I - tau * v * vᵀ
|
||||||
// where tau and v are real vectors with v[0:i-1] = 0 and v[i] = 1;
|
// where tau and v are real vectors with v[0:i-1] = 0 and v[i] = 1;
|
||||||
// v[i:m] is stored on exit in A[i:m, i], and tau in tau[i].
|
// v[i:m] is stored on exit in A[i:m, i], and tau in tau[i].
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqr2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqr2.go
generated
vendored
@@ -22,7 +22,7 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// v[j] = 0 j < i
|
// v[j] = 0 j < i
|
||||||
// v[j] = 1 j == i
|
// v[j] = 1 j == i
|
||||||
// v[j] = a[j*lda+i] j > i
|
// v[j] = a[j*lda+i] j > i
|
||||||
// and computing H_i = I - tau[i] * v * v^T.
|
// and computing H_i = I - tau[i] * v * vᵀ.
|
||||||
//
|
//
|
||||||
// The orthonormal matrix Q can be constructed from a product of these elementary
|
// The orthonormal matrix Q can be constructed from a product of these elementary
|
||||||
// reflectors, Q = H_0 * H_1 * ... * H_{k-1}, where k = min(m,n).
|
// reflectors, Q = H_0 * H_1 * ... * H_{k-1}, where k = min(m,n).
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqrf.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgeqrf.go
generated
vendored
@@ -85,7 +85,7 @@ func (impl Implementation) Dgeqrf(m, n int, a []float64, lda int, tau, work []fl
|
|||||||
// Compute the QR factorization of the current block.
|
// Compute the QR factorization of the current block.
|
||||||
impl.Dgeqr2(m-i, ib, a[i*lda+i:], lda, tau[i:], work)
|
impl.Dgeqr2(m-i, ib, a[i*lda+i:], lda, tau[i:], work)
|
||||||
if i+ib < n {
|
if i+ib < n {
|
||||||
// Form the triangular factor of the block reflector and apply H^T
|
// Form the triangular factor of the block reflector and apply Hᵀ
|
||||||
// In Dlarft, work becomes the T matrix.
|
// In Dlarft, work becomes the T matrix.
|
||||||
impl.Dlarft(lapack.Forward, lapack.ColumnWise, m-i, ib,
|
impl.Dlarft(lapack.Forward, lapack.ColumnWise, m-i, ib,
|
||||||
a[i*lda+i:], lda,
|
a[i*lda+i:], lda,
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgerq2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgerq2.go
generated
vendored
@@ -19,7 +19,7 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// The matrix Q is represented as a product of elementary reflectors
|
// The matrix Q is represented as a product of elementary reflectors
|
||||||
// Q = H_0 H_1 . . . H_{min(m,n)-1}.
|
// Q = H_0 H_1 . . . H_{min(m,n)-1}.
|
||||||
// Each H(i) has the form
|
// Each H(i) has the form
|
||||||
// H_i = I - tau_i * v * v^T
|
// H_i = I - tau_i * v * vᵀ
|
||||||
// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],
|
// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],
|
||||||
// v[n-k+i:n] = 0 and v[n-k+i] = 1.
|
// v[n-k+i:n] = 0 and v[n-k+i] = 1.
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgerqf.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dgerqf.go
generated
vendored
@@ -22,7 +22,7 @@ import (
|
|||||||
// The matrix Q is represented as a product of elementary reflectors
|
// The matrix Q is represented as a product of elementary reflectors
|
||||||
// Q = H_0 H_1 . . . H_{min(m,n)-1}.
|
// Q = H_0 H_1 . . . H_{min(m,n)-1}.
|
||||||
// Each H(i) has the form
|
// Each H(i) has the form
|
||||||
// H_i = I - tau_i * v * v^T
|
// H_i = I - tau_i * v * vᵀ
|
||||||
// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],
|
// where v is a vector with v[0:n-k+i-1] stored in A[m-k+i, 0:n-k+i-1],
|
||||||
// v[n-k+i:n] = 0 and v[n-k+i] = 1.
|
// v[n-k+i:n] = 0 and v[n-k+i] = 1.
|
||||||
//
|
//
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgesvd.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dgesvd.go
generated
vendored
@@ -17,7 +17,7 @@ const noSVDO = "dgesvd: not coded for overwrite"
|
|||||||
// Dgesvd computes the singular value decomposition of the input matrix A.
|
// Dgesvd computes the singular value decomposition of the input matrix A.
|
||||||
//
|
//
|
||||||
// The singular value decomposition is
|
// The singular value decomposition is
|
||||||
// A = U * Sigma * V^T
|
// A = U * Sigma * Vᵀ
|
||||||
// where Sigma is an m×n diagonal matrix containing the singular values of A,
|
// where Sigma is an m×n diagonal matrix containing the singular values of A,
|
||||||
// U is an m×m orthogonal matrix and V is an n×n orthogonal matrix. The first
|
// U is an m×m orthogonal matrix and V is an n×n orthogonal matrix. The first
|
||||||
// min(m,n) columns of U and V are the left and right singular vectors of A
|
// min(m,n) columns of U and V are the left and right singular vectors of A
|
||||||
@@ -29,7 +29,7 @@ const noSVDO = "dgesvd: not coded for overwrite"
|
|||||||
// jobU == lapack.SVDStore The first min(m,n) columns are returned in u
|
// jobU == lapack.SVDStore The first min(m,n) columns are returned in u
|
||||||
// jobU == lapack.SVDOverwrite The first min(m,n) columns of U are written into a
|
// jobU == lapack.SVDOverwrite The first min(m,n) columns of U are written into a
|
||||||
// jobU == lapack.SVDNone The columns of U are not computed.
|
// jobU == lapack.SVDNone The columns of U are not computed.
|
||||||
// The behavior is the same for jobVT and the rows of V^T. At most one of jobU
|
// The behavior is the same for jobVT and the rows of Vᵀ. At most one of jobU
|
||||||
// and jobVT can equal lapack.SVDOverwrite, and Dgesvd will panic otherwise.
|
// and jobVT can equal lapack.SVDOverwrite, and Dgesvd will panic otherwise.
|
||||||
//
|
//
|
||||||
// On entry, a contains the data for the m×n matrix A. During the call to Dgesvd
|
// On entry, a contains the data for the m×n matrix A. During the call to Dgesvd
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dgetrs.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dgetrs.go
generated
vendored
@@ -12,7 +12,7 @@ import (
|
|||||||
// Dgetrs solves a system of equations using an LU factorization.
|
// Dgetrs solves a system of equations using an LU factorization.
|
||||||
// The system of equations solved is
|
// The system of equations solved is
|
||||||
// A * X = B if trans == blas.Trans
|
// A * X = B if trans == blas.Trans
|
||||||
// A^T * X = B if trans == blas.NoTrans
|
// Aᵀ * X = B if trans == blas.NoTrans
|
||||||
// A is a general n×n matrix with stride lda. B is a general matrix of size n×nrhs.
|
// A is a general n×n matrix with stride lda. B is a general matrix of size n×nrhs.
|
||||||
//
|
//
|
||||||
// On entry b contains the elements of the matrix B. On exit, b contains the
|
// On entry b contains the elements of the matrix B. On exit, b contains the
|
||||||
@@ -61,11 +61,11 @@ func (impl Implementation) Dgetrs(trans blas.Transpose, n, nrhs int, a []float64
|
|||||||
n, nrhs, 1, a, lda, b, ldb)
|
n, nrhs, 1, a, lda, b, ldb)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Solve A^T * X = B.
|
// Solve Aᵀ * X = B.
|
||||||
// Solve U^T * X = B, updating b.
|
// Solve Uᵀ * X = B, updating b.
|
||||||
bi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit,
|
bi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit,
|
||||||
n, nrhs, 1, a, lda, b, ldb)
|
n, nrhs, 1, a, lda, b, ldb)
|
||||||
// Solve L^T * X = B, updating b.
|
// Solve Lᵀ * X = B, updating b.
|
||||||
bi.Dtrsm(blas.Left, blas.Lower, blas.Trans, blas.Unit,
|
bi.Dtrsm(blas.Left, blas.Lower, blas.Trans, blas.Unit,
|
||||||
n, nrhs, 1, a, lda, b, ldb)
|
n, nrhs, 1, a, lda, b, ldb)
|
||||||
impl.Dlaswp(nrhs, b, ldb, 0, n-1, ipiv, -1)
|
impl.Dlaswp(nrhs, b, ldb, 0, n-1, ipiv, -1)
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dggsvd3.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dggsvd3.go
generated
vendored
@@ -13,13 +13,13 @@ import (
|
|||||||
|
|
||||||
// Dggsvd3 computes the generalized singular value decomposition (GSVD)
|
// Dggsvd3 computes the generalized singular value decomposition (GSVD)
|
||||||
// of an m×n matrix A and p×n matrix B:
|
// of an m×n matrix A and p×n matrix B:
|
||||||
// U^T*A*Q = D1*[ 0 R ]
|
// Uᵀ*A*Q = D1*[ 0 R ]
|
||||||
//
|
//
|
||||||
// V^T*B*Q = D2*[ 0 R ]
|
// Vᵀ*B*Q = D2*[ 0 R ]
|
||||||
// where U, V and Q are orthogonal matrices.
|
// where U, V and Q are orthogonal matrices.
|
||||||
//
|
//
|
||||||
// Dggsvd3 returns k and l, the dimensions of the sub-blocks. k+l
|
// Dggsvd3 returns k and l, the dimensions of the sub-blocks. k+l
|
||||||
// is the effective numerical rank of the (m+p)×n matrix [ A^T B^T ]^T.
|
// is the effective numerical rank of the (m+p)×n matrix [ Aᵀ Bᵀ ]ᵀ.
|
||||||
// R is a (k+l)×(k+l) nonsingular upper triangular matrix, D1 and
|
// R is a (k+l)×(k+l) nonsingular upper triangular matrix, D1 and
|
||||||
// D2 are m×(k+l) and p×(k+l) diagonal matrices and of the following
|
// D2 are m×(k+l) and p×(k+l) diagonal matrices and of the following
|
||||||
// structures, respectively:
|
// structures, respectively:
|
||||||
|
|||||||
18
vendor/gonum.org/v1/gonum/lapack/gonum/dggsvp3.go
generated
vendored
18
vendor/gonum.org/v1/gonum/lapack/gonum/dggsvp3.go
generated
vendored
@@ -14,16 +14,16 @@ import (
|
|||||||
// Dggsvp3 computes orthogonal matrices U, V and Q such that
|
// Dggsvp3 computes orthogonal matrices U, V and Q such that
|
||||||
//
|
//
|
||||||
// n-k-l k l
|
// n-k-l k l
|
||||||
// U^T*A*Q = k [ 0 A12 A13 ] if m-k-l >= 0;
|
// Uᵀ*A*Q = k [ 0 A12 A13 ] if m-k-l >= 0;
|
||||||
// l [ 0 0 A23 ]
|
// l [ 0 0 A23 ]
|
||||||
// m-k-l [ 0 0 0 ]
|
// m-k-l [ 0 0 0 ]
|
||||||
//
|
//
|
||||||
// n-k-l k l
|
// n-k-l k l
|
||||||
// U^T*A*Q = k [ 0 A12 A13 ] if m-k-l < 0;
|
// Uᵀ*A*Q = k [ 0 A12 A13 ] if m-k-l < 0;
|
||||||
// m-k [ 0 0 A23 ]
|
// m-k [ 0 0 A23 ]
|
||||||
//
|
//
|
||||||
// n-k-l k l
|
// n-k-l k l
|
||||||
// V^T*B*Q = l [ 0 0 B13 ]
|
// Vᵀ*B*Q = l [ 0 0 B13 ]
|
||||||
// p-l [ 0 0 0 ]
|
// p-l [ 0 0 0 ]
|
||||||
//
|
//
|
||||||
// where the k×k matrix A12 and l×l matrix B13 are non-singular
|
// where the k×k matrix A12 and l×l matrix B13 are non-singular
|
||||||
@@ -31,7 +31,7 @@ import (
|
|||||||
// otherwise A23 is (m-k)×l upper trapezoidal.
|
// otherwise A23 is (m-k)×l upper trapezoidal.
|
||||||
//
|
//
|
||||||
// Dggsvp3 returns k and l, the dimensions of the sub-blocks. k+l
|
// Dggsvp3 returns k and l, the dimensions of the sub-blocks. k+l
|
||||||
// is the effective numerical rank of the (m+p)×n matrix [ A^T B^T ]^T.
|
// is the effective numerical rank of the (m+p)×n matrix [ Aᵀ Bᵀ ]ᵀ.
|
||||||
//
|
//
|
||||||
// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior
|
// jobU, jobV and jobQ are options for computing the orthogonal matrices. The behavior
|
||||||
// is as follows
|
// is as follows
|
||||||
@@ -174,11 +174,11 @@ func (impl Implementation) Dggsvp3(jobU, jobV, jobQ lapack.GSVDJob, m, p, n int,
|
|||||||
// RQ factorization of [ S11 S12 ]: [ S11 S12 ] = [ 0 S12 ]*Z.
|
// RQ factorization of [ S11 S12 ]: [ S11 S12 ] = [ 0 S12 ]*Z.
|
||||||
impl.Dgerq2(l, n, b, ldb, tau, work)
|
impl.Dgerq2(l, n, b, ldb, tau, work)
|
||||||
|
|
||||||
// Update A := A*Z^T.
|
// Update A := A*Zᵀ.
|
||||||
impl.Dormr2(blas.Right, blas.Trans, m, n, l, b, ldb, tau, a, lda, work)
|
impl.Dormr2(blas.Right, blas.Trans, m, n, l, b, ldb, tau, a, lda, work)
|
||||||
|
|
||||||
if wantq {
|
if wantq {
|
||||||
// Update Q := Q*Z^T.
|
// Update Q := Q*Zᵀ.
|
||||||
impl.Dormr2(blas.Right, blas.Trans, n, n, l, b, ldb, tau, q, ldq, work)
|
impl.Dormr2(blas.Right, blas.Trans, n, n, l, b, ldb, tau, q, ldq, work)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,7 +197,7 @@ func (impl Implementation) Dggsvp3(jobU, jobV, jobQ lapack.GSVDJob, m, p, n int,
|
|||||||
//
|
//
|
||||||
// then the following does the complete QR decomposition of A11:
|
// then the following does the complete QR decomposition of A11:
|
||||||
//
|
//
|
||||||
// A11 = U*[ 0 T12 ]*P1^T.
|
// A11 = U*[ 0 T12 ]*P1ᵀ.
|
||||||
// [ 0 0 ]
|
// [ 0 0 ]
|
||||||
for i := range iwork[:n-l] {
|
for i := range iwork[:n-l] {
|
||||||
iwork[i] = 0
|
iwork[i] = 0
|
||||||
@@ -211,7 +211,7 @@ func (impl Implementation) Dggsvp3(jobU, jobV, jobQ lapack.GSVDJob, m, p, n int,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update A12 := U^T*A12, where A12 = A[0:m, n-l:n].
|
// Update A12 := Uᵀ*A12, where A12 = A[0:m, n-l:n].
|
||||||
impl.Dorm2r(blas.Left, blas.Trans, m, l, min(m, n-l), a, lda, tau, a[n-l:], lda, work)
|
impl.Dorm2r(blas.Left, blas.Trans, m, l, min(m, n-l), a, lda, tau, a[n-l:], lda, work)
|
||||||
|
|
||||||
if wantu {
|
if wantu {
|
||||||
@@ -245,7 +245,7 @@ func (impl Implementation) Dggsvp3(jobU, jobV, jobQ lapack.GSVDJob, m, p, n int,
|
|||||||
impl.Dgerq2(k, n-l, a, lda, tau, work)
|
impl.Dgerq2(k, n-l, a, lda, tau, work)
|
||||||
|
|
||||||
if wantq {
|
if wantq {
|
||||||
// Update Q[0:n, 0:n-l] := Q[0:n, 0:n-l]*Z1^T.
|
// Update Q[0:n, 0:n-l] := Q[0:n, 0:n-l]*Z1ᵀ.
|
||||||
impl.Dorm2r(blas.Right, blas.Trans, n, n-l, k, a, lda, tau, q, ldq, work)
|
impl.Dorm2r(blas.Right, blas.Trans, n, n-l, k, a, lda, tau, q, ldq, work)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dhseqr.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dhseqr.go
generated
vendored
@@ -13,14 +13,14 @@ import (
|
|||||||
|
|
||||||
// Dhseqr computes the eigenvalues of an n×n Hessenberg matrix H and,
|
// Dhseqr computes the eigenvalues of an n×n Hessenberg matrix H and,
|
||||||
// optionally, the matrices T and Z from the Schur decomposition
|
// optionally, the matrices T and Z from the Schur decomposition
|
||||||
// H = Z T Z^T,
|
// H = Z T Zᵀ,
|
||||||
// where T is an n×n upper quasi-triangular matrix (the Schur form), and Z is
|
// where T is an n×n upper quasi-triangular matrix (the Schur form), and Z is
|
||||||
// the n×n orthogonal matrix of Schur vectors.
|
// the n×n orthogonal matrix of Schur vectors.
|
||||||
//
|
//
|
||||||
// Optionally Z may be postmultiplied into an input orthogonal matrix Q so that
|
// Optionally Z may be postmultiplied into an input orthogonal matrix Q so that
|
||||||
// this routine can give the Schur factorization of a matrix A which has been
|
// this routine can give the Schur factorization of a matrix A which has been
|
||||||
// reduced to the Hessenberg form H by the orthogonal matrix Q:
|
// reduced to the Hessenberg form H by the orthogonal matrix Q:
|
||||||
// A = Q H Q^T = (QZ) T (QZ)^T.
|
// A = Q H Qᵀ = (QZ) T (QZ)ᵀ.
|
||||||
//
|
//
|
||||||
// If job == lapack.EigenvaluesOnly, only the eigenvalues will be computed.
|
// If job == lapack.EigenvaluesOnly, only the eigenvalues will be computed.
|
||||||
// If job == lapack.EigenvaluesAndSchur, the eigenvalues and the Schur form T will
|
// If job == lapack.EigenvaluesAndSchur, the eigenvalues and the Schur form T will
|
||||||
@@ -43,8 +43,8 @@ import (
|
|||||||
// and Dhseqr will panic otherwise. ilo and ihi are typically set by a previous
|
// and Dhseqr will panic otherwise. ilo and ihi are typically set by a previous
|
||||||
// call to Dgebal, otherwise they should be set to 0 and n-1, respectively. It
|
// call to Dgebal, otherwise they should be set to 0 and n-1, respectively. It
|
||||||
// must hold that
|
// must hold that
|
||||||
// 0 <= ilo <= ihi < n, if n > 0,
|
// 0 <= ilo <= ihi < n if n > 0,
|
||||||
// ilo == 0 and ihi == -1, if n == 0.
|
// ilo == 0 and ihi == -1 if n == 0.
|
||||||
//
|
//
|
||||||
// wr and wi must have length n.
|
// wr and wi must have length n.
|
||||||
//
|
//
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlabrd.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlabrd.go
generated
vendored
@@ -25,8 +25,8 @@ import (
|
|||||||
// Q = H_0 * H_1 * ... * H_{nb-1}
|
// Q = H_0 * H_1 * ... * H_{nb-1}
|
||||||
// P = G_0 * G_1 * ... * G_{nb-1}
|
// P = G_0 * G_1 * ... * G_{nb-1}
|
||||||
// where
|
// where
|
||||||
// H_i = I - tauQ[i] * v_i * v_i^T
|
// H_i = I - tauQ[i] * v_i * v_iᵀ
|
||||||
// G_i = I - tauP[i] * u_i * u_i^T
|
// G_i = I - tauP[i] * u_i * u_iᵀ
|
||||||
//
|
//
|
||||||
// As an example, on exit the entries of A when m = 6, n = 5, and nb = 2
|
// As an example, on exit the entries of A when m = 6, n = 5, and nb = 2
|
||||||
// [ 1 1 u1 u1 u1]
|
// [ 1 1 u1 u1 u1]
|
||||||
@@ -44,7 +44,7 @@ import (
|
|||||||
//
|
//
|
||||||
// Dlabrd also returns the matrices X and Y which are used with U and V to
|
// Dlabrd also returns the matrices X and Y which are used with U and V to
|
||||||
// apply the transformation to the unreduced part of the matrix
|
// apply the transformation to the unreduced part of the matrix
|
||||||
// A := A - V*Y^T - X*U^T
|
// A := A - V*Yᵀ - X*Uᵀ
|
||||||
// and returns the matrices X and Y which are needed to apply the
|
// and returns the matrices X and Y which are needed to apply the
|
||||||
// transformation to the unreduced part of A.
|
// transformation to the unreduced part of A.
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlacn2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlacn2.go
generated
vendored
@@ -18,7 +18,7 @@ import (
|
|||||||
// On the initial call, kase must be 0.
|
// On the initial call, kase must be 0.
|
||||||
// In between calls, x must be overwritten by
|
// In between calls, x must be overwritten by
|
||||||
// A * X if kase was returned as 1,
|
// A * X if kase was returned as 1,
|
||||||
// A^T * X if kase was returned as 2,
|
// Aᵀ * X if kase was returned as 2,
|
||||||
// and all other parameters must not be changed.
|
// and all other parameters must not be changed.
|
||||||
// On the final return, kase is returned as 0, v contains A*W where W is a
|
// On the final return, kase is returned as 0, v contains A*W where W is a
|
||||||
// vector, and est = norm(V)/norm(W) is a lower bound for 1-norm of A.
|
// vector, and est = norm(V)/norm(W) is a lower bound for 1-norm of A.
|
||||||
|
|||||||
32
vendor/gonum.org/v1/gonum/lapack/gonum/dlags2.go
generated
vendored
32
vendor/gonum.org/v1/gonum/lapack/gonum/dlags2.go
generated
vendored
@@ -11,18 +11,18 @@ import "math"
|
|||||||
//
|
//
|
||||||
// If upper is true
|
// If upper is true
|
||||||
//
|
//
|
||||||
// U^T*A*Q = U^T*[ a1 a2 ]*Q = [ x 0 ]
|
// Uᵀ*A*Q = Uᵀ*[ a1 a2 ]*Q = [ x 0 ]
|
||||||
// [ 0 a3 ] [ x x ]
|
// [ 0 a3 ] [ x x ]
|
||||||
// and
|
// and
|
||||||
// V^T*B*Q = V^T*[ b1 b2 ]*Q = [ x 0 ]
|
// Vᵀ*B*Q = Vᵀ*[ b1 b2 ]*Q = [ x 0 ]
|
||||||
// [ 0 b3 ] [ x x ]
|
// [ 0 b3 ] [ x x ]
|
||||||
//
|
//
|
||||||
// otherwise
|
// otherwise
|
||||||
//
|
//
|
||||||
// U^T*A*Q = U^T*[ a1 0 ]*Q = [ x x ]
|
// Uᵀ*A*Q = Uᵀ*[ a1 0 ]*Q = [ x x ]
|
||||||
// [ a2 a3 ] [ 0 x ]
|
// [ a2 a3 ] [ 0 x ]
|
||||||
// and
|
// and
|
||||||
// V^T*B*Q = V^T*[ b1 0 ]*Q = [ x x ]
|
// Vᵀ*B*Q = Vᵀ*[ b1 0 ]*Q = [ x x ]
|
||||||
// [ b2 b3 ] [ 0 x ].
|
// [ b2 b3 ] [ 0 x ].
|
||||||
//
|
//
|
||||||
// The rows of the transformed A and B are parallel, where
|
// The rows of the transformed A and B are parallel, where
|
||||||
@@ -48,8 +48,8 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
_, _, snr, csr, snl, csl := impl.Dlasv2(a, b, d)
|
_, _, snr, csr, snl, csl := impl.Dlasv2(a, b, d)
|
||||||
|
|
||||||
if math.Abs(csl) >= math.Abs(snl) || math.Abs(csr) >= math.Abs(snr) {
|
if math.Abs(csl) >= math.Abs(snl) || math.Abs(csr) >= math.Abs(snr) {
|
||||||
// Compute the [0, 0] and [0, 1] elements of U^T*A and V^T*B,
|
// Compute the [0, 0] and [0, 1] elements of Uᵀ*A and Vᵀ*B,
|
||||||
// and [0, 1] element of |U|^T*|A| and |V|^T*|B|.
|
// and [0, 1] element of |U|ᵀ*|A| and |V|ᵀ*|B|.
|
||||||
|
|
||||||
ua11r := csl * a1
|
ua11r := csl * a1
|
||||||
ua12 := csl*a2 + snl*a3
|
ua12 := csl*a2 + snl*a3
|
||||||
@@ -60,7 +60,7 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
aua12 := math.Abs(csl)*math.Abs(a2) + math.Abs(snl)*math.Abs(a3)
|
aua12 := math.Abs(csl)*math.Abs(a2) + math.Abs(snl)*math.Abs(a3)
|
||||||
avb12 := math.Abs(csr)*math.Abs(b2) + math.Abs(snr)*math.Abs(b3)
|
avb12 := math.Abs(csr)*math.Abs(b2) + math.Abs(snr)*math.Abs(b3)
|
||||||
|
|
||||||
// Zero [0, 1] elements of U^T*A and V^T*B.
|
// Zero [0, 1] elements of Uᵀ*A and Vᵀ*B.
|
||||||
if math.Abs(ua11r)+math.Abs(ua12) != 0 {
|
if math.Abs(ua11r)+math.Abs(ua12) != 0 {
|
||||||
if aua12/(math.Abs(ua11r)+math.Abs(ua12)) <= avb12/(math.Abs(vb11r)+math.Abs(vb12)) {
|
if aua12/(math.Abs(ua11r)+math.Abs(ua12)) <= avb12/(math.Abs(vb11r)+math.Abs(vb12)) {
|
||||||
csq, snq, _ = impl.Dlartg(-ua11r, ua12)
|
csq, snq, _ = impl.Dlartg(-ua11r, ua12)
|
||||||
@@ -76,8 +76,8 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
csv = csr
|
csv = csr
|
||||||
snv = -snr
|
snv = -snr
|
||||||
} else {
|
} else {
|
||||||
// Compute the [1, 0] and [1, 1] elements of U^T*A and V^T*B,
|
// Compute the [1, 0] and [1, 1] elements of Uᵀ*A and Vᵀ*B,
|
||||||
// and [1, 1] element of |U|^T*|A| and |V|^T*|B|.
|
// and [1, 1] element of |U|ᵀ*|A| and |V|ᵀ*|B|.
|
||||||
|
|
||||||
ua21 := -snl * a1
|
ua21 := -snl * a1
|
||||||
ua22 := -snl*a2 + csl*a3
|
ua22 := -snl*a2 + csl*a3
|
||||||
@@ -88,7 +88,7 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
aua22 := math.Abs(snl)*math.Abs(a2) + math.Abs(csl)*math.Abs(a3)
|
aua22 := math.Abs(snl)*math.Abs(a2) + math.Abs(csl)*math.Abs(a3)
|
||||||
avb22 := math.Abs(snr)*math.Abs(b2) + math.Abs(csr)*math.Abs(b3)
|
avb22 := math.Abs(snr)*math.Abs(b2) + math.Abs(csr)*math.Abs(b3)
|
||||||
|
|
||||||
// Zero [1, 1] elements of U^T*A and V^T*B, and then swap.
|
// Zero [1, 1] elements of Uᵀ*A and Vᵀ*B, and then swap.
|
||||||
if math.Abs(ua21)+math.Abs(ua22) != 0 {
|
if math.Abs(ua21)+math.Abs(ua22) != 0 {
|
||||||
if aua22/(math.Abs(ua21)+math.Abs(ua22)) <= avb22/(math.Abs(vb21)+math.Abs(vb22)) {
|
if aua22/(math.Abs(ua21)+math.Abs(ua22)) <= avb22/(math.Abs(vb21)+math.Abs(vb22)) {
|
||||||
csq, snq, _ = impl.Dlartg(-ua21, ua22)
|
csq, snq, _ = impl.Dlartg(-ua21, ua22)
|
||||||
@@ -120,8 +120,8 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
_, _, snr, csr, snl, csl := impl.Dlasv2(a, c, d)
|
_, _, snr, csr, snl, csl := impl.Dlasv2(a, c, d)
|
||||||
|
|
||||||
if math.Abs(csr) >= math.Abs(snr) || math.Abs(csl) >= math.Abs(snl) {
|
if math.Abs(csr) >= math.Abs(snr) || math.Abs(csl) >= math.Abs(snl) {
|
||||||
// Compute the [1, 0] and [1, 1] elements of U^T*A and V^T*B,
|
// Compute the [1, 0] and [1, 1] elements of Uᵀ*A and Vᵀ*B,
|
||||||
// and [1, 0] element of |U|^T*|A| and |V|^T*|B|.
|
// and [1, 0] element of |U|ᵀ*|A| and |V|ᵀ*|B|.
|
||||||
|
|
||||||
ua21 := -snr*a1 + csr*a2
|
ua21 := -snr*a1 + csr*a2
|
||||||
ua22r := csr * a3
|
ua22r := csr * a3
|
||||||
@@ -132,7 +132,7 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
aua21 := math.Abs(snr)*math.Abs(a1) + math.Abs(csr)*math.Abs(a2)
|
aua21 := math.Abs(snr)*math.Abs(a1) + math.Abs(csr)*math.Abs(a2)
|
||||||
avb21 := math.Abs(snl)*math.Abs(b1) + math.Abs(csl)*math.Abs(b2)
|
avb21 := math.Abs(snl)*math.Abs(b1) + math.Abs(csl)*math.Abs(b2)
|
||||||
|
|
||||||
// Zero [1, 0] elements of U^T*A and V^T*B.
|
// Zero [1, 0] elements of Uᵀ*A and Vᵀ*B.
|
||||||
if (math.Abs(ua21) + math.Abs(ua22r)) != 0 {
|
if (math.Abs(ua21) + math.Abs(ua22r)) != 0 {
|
||||||
if aua21/(math.Abs(ua21)+math.Abs(ua22r)) <= avb21/(math.Abs(vb21)+math.Abs(vb22r)) {
|
if aua21/(math.Abs(ua21)+math.Abs(ua22r)) <= avb21/(math.Abs(vb21)+math.Abs(vb22r)) {
|
||||||
csq, snq, _ = impl.Dlartg(ua22r, ua21)
|
csq, snq, _ = impl.Dlartg(ua22r, ua21)
|
||||||
@@ -148,8 +148,8 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
csv = csl
|
csv = csl
|
||||||
snv = -snl
|
snv = -snl
|
||||||
} else {
|
} else {
|
||||||
// Compute the [0, 0] and [0, 1] elements of U^T *A and V^T *B,
|
// Compute the [0, 0] and [0, 1] elements of Uᵀ *A and Vᵀ *B,
|
||||||
// and [0, 0] element of |U|^T*|A| and |V|^T*|B|.
|
// and [0, 0] element of |U|ᵀ*|A| and |V|ᵀ*|B|.
|
||||||
|
|
||||||
ua11 := csr*a1 + snr*a2
|
ua11 := csr*a1 + snr*a2
|
||||||
ua12 := snr * a3
|
ua12 := snr * a3
|
||||||
@@ -160,7 +160,7 @@ func (impl Implementation) Dlags2(upper bool, a1, a2, a3, b1, b2, b3 float64) (c
|
|||||||
aua11 := math.Abs(csr)*math.Abs(a1) + math.Abs(snr)*math.Abs(a2)
|
aua11 := math.Abs(csr)*math.Abs(a1) + math.Abs(snr)*math.Abs(a2)
|
||||||
avb11 := math.Abs(csl)*math.Abs(b1) + math.Abs(snl)*math.Abs(b2)
|
avb11 := math.Abs(csl)*math.Abs(b1) + math.Abs(snl)*math.Abs(b2)
|
||||||
|
|
||||||
// Zero [0, 0] elements of U^T*A and V^T*B, and then swap.
|
// Zero [0, 0] elements of Uᵀ*A and Vᵀ*B, and then swap.
|
||||||
if (math.Abs(ua11) + math.Abs(ua12)) != 0 {
|
if (math.Abs(ua11) + math.Abs(ua12)) != 0 {
|
||||||
if aua11/(math.Abs(ua11)+math.Abs(ua12)) <= avb11/(math.Abs(vb11)+math.Abs(vb12)) {
|
if aua11/(math.Abs(ua11)+math.Abs(ua12)) <= avb11/(math.Abs(vb11)+math.Abs(vb12)) {
|
||||||
csq, snq, _ = impl.Dlartg(ua12, ua11)
|
csq, snq, _ = impl.Dlartg(ua12, ua11)
|
||||||
|
|||||||
18
vendor/gonum.org/v1/gonum/lapack/gonum/dlahr2.go
generated
vendored
18
vendor/gonum.org/v1/gonum/lapack/gonum/dlahr2.go
generated
vendored
@@ -11,21 +11,21 @@ import (
|
|||||||
|
|
||||||
// Dlahr2 reduces the first nb columns of a real general n×(n-k+1) matrix A so
|
// Dlahr2 reduces the first nb columns of a real general n×(n-k+1) matrix A so
|
||||||
// that elements below the k-th subdiagonal are zero. The reduction is performed
|
// that elements below the k-th subdiagonal are zero. The reduction is performed
|
||||||
// by an orthogonal similarity transformation Q^T * A * Q. Dlahr2 returns the
|
// by an orthogonal similarity transformation Qᵀ * A * Q. Dlahr2 returns the
|
||||||
// matrices V and T which determine Q as a block reflector I - V*T*V^T, and
|
// matrices V and T which determine Q as a block reflector I - V*T*Vᵀ, and
|
||||||
// also the matrix Y = A * V * T.
|
// also the matrix Y = A * V * T.
|
||||||
//
|
//
|
||||||
// The matrix Q is represented as a product of nb elementary reflectors
|
// The matrix Q is represented as a product of nb elementary reflectors
|
||||||
// Q = H_0 * H_1 * ... * H_{nb-1}.
|
// Q = H_0 * H_1 * ... * H_{nb-1}.
|
||||||
// Each H_i has the form
|
// Each H_i has the form
|
||||||
// H_i = I - tau[i] * v * v^T,
|
// H_i = I - tau[i] * v * vᵀ,
|
||||||
// where v is a real vector with v[0:i+k-1] = 0 and v[i+k-1] = 1. v[i+k:n] is
|
// where v is a real vector with v[0:i+k-1] = 0 and v[i+k-1] = 1. v[i+k:n] is
|
||||||
// stored on exit in A[i+k+1:n,i].
|
// stored on exit in A[i+k+1:n,i].
|
||||||
//
|
//
|
||||||
// The elements of the vectors v together form the (n-k+1)×nb matrix
|
// The elements of the vectors v together form the (n-k+1)×nb matrix
|
||||||
// V which is needed, with T and Y, to apply the transformation to the
|
// V which is needed, with T and Y, to apply the transformation to the
|
||||||
// unreduced part of the matrix, using an update of the form
|
// unreduced part of the matrix, using an update of the form
|
||||||
// A = (I - V*T*V^T) * (A - Y*V^T).
|
// A = (I - V*T*Vᵀ) * (A - Y*Vᵀ).
|
||||||
//
|
//
|
||||||
// On entry, a contains the n×(n-k+1) general matrix A. On return, the elements
|
// On entry, a contains the n×(n-k+1) general matrix A. On return, the elements
|
||||||
// on and above the k-th subdiagonal in the first nb columns are overwritten
|
// on and above the k-th subdiagonal in the first nb columns are overwritten
|
||||||
@@ -109,31 +109,31 @@ func (impl Implementation) Dlahr2(n, k, nb int, a []float64, lda int, tau, t []f
|
|||||||
if i > 0 {
|
if i > 0 {
|
||||||
// Update A[k:n,i].
|
// Update A[k:n,i].
|
||||||
|
|
||||||
// Update i-th column of A - Y * V^T.
|
// Update i-th column of A - Y * Vᵀ.
|
||||||
bi.Dgemv(blas.NoTrans, n-k, i,
|
bi.Dgemv(blas.NoTrans, n-k, i,
|
||||||
-1, y[k*ldy:], ldy,
|
-1, y[k*ldy:], ldy,
|
||||||
a[(k+i-1)*lda:], 1,
|
a[(k+i-1)*lda:], 1,
|
||||||
1, a[k*lda+i:], lda)
|
1, a[k*lda+i:], lda)
|
||||||
|
|
||||||
// Apply I - V * T^T * V^T to this column (call it b)
|
// Apply I - V * Tᵀ * Vᵀ to this column (call it b)
|
||||||
// from the left, using the last column of T as
|
// from the left, using the last column of T as
|
||||||
// workspace.
|
// workspace.
|
||||||
// Let V = [ V1 ] and b = [ b1 ] (first i rows)
|
// Let V = [ V1 ] and b = [ b1 ] (first i rows)
|
||||||
// [ V2 ] [ b2 ]
|
// [ V2 ] [ b2 ]
|
||||||
// where V1 is unit lower triangular.
|
// where V1 is unit lower triangular.
|
||||||
//
|
//
|
||||||
// w := V1^T * b1.
|
// w := V1ᵀ * b1.
|
||||||
bi.Dcopy(i, a[k*lda+i:], lda, t[nb-1:], ldt)
|
bi.Dcopy(i, a[k*lda+i:], lda, t[nb-1:], ldt)
|
||||||
bi.Dtrmv(blas.Lower, blas.Trans, blas.Unit, i,
|
bi.Dtrmv(blas.Lower, blas.Trans, blas.Unit, i,
|
||||||
a[k*lda:], lda, t[nb-1:], ldt)
|
a[k*lda:], lda, t[nb-1:], ldt)
|
||||||
|
|
||||||
// w := w + V2^T * b2.
|
// w := w + V2ᵀ * b2.
|
||||||
bi.Dgemv(blas.Trans, n-k-i, i,
|
bi.Dgemv(blas.Trans, n-k-i, i,
|
||||||
1, a[(k+i)*lda:], lda,
|
1, a[(k+i)*lda:], lda,
|
||||||
a[(k+i)*lda+i:], lda,
|
a[(k+i)*lda+i:], lda,
|
||||||
1, t[nb-1:], ldt)
|
1, t[nb-1:], ldt)
|
||||||
|
|
||||||
// w := T^T * w.
|
// w := Tᵀ * w.
|
||||||
bi.Dtrmv(blas.Upper, blas.Trans, blas.NonUnit, i,
|
bi.Dtrmv(blas.Upper, blas.Trans, blas.NonUnit, i,
|
||||||
t, ldt, t[nb-1:], ldt)
|
t, ldt, t[nb-1:], ldt)
|
||||||
|
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlaln2.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlaln2.go
generated
vendored
@@ -7,8 +7,8 @@ package gonum
|
|||||||
import "math"
|
import "math"
|
||||||
|
|
||||||
// Dlaln2 solves a linear equation or a system of 2 linear equations of the form
|
// Dlaln2 solves a linear equation or a system of 2 linear equations of the form
|
||||||
// (ca A - w D) X = scale B, if trans == false,
|
// (ca A - w D) X = scale B if trans == false,
|
||||||
// (ca A^T - w D) X = scale B, if trans == true,
|
// (ca Aᵀ - w D) X = scale B if trans == true,
|
||||||
// where A is a na×na real matrix, ca is a real scalar, D is a na×na diagonal
|
// where A is a na×na real matrix, ca is a real scalar, D is a na×na diagonal
|
||||||
// real matrix, w is a scalar, real if nw == 1, complex if nw == 2, and X and B
|
// real matrix, w is a scalar, real if nw == 1, complex if nw == 2, and X and B
|
||||||
// are na×1 matrices, real if w is real, complex if w is complex.
|
// are na×1 matrices, real if w is real, complex if w is complex.
|
||||||
@@ -147,7 +147,7 @@ func (impl Implementation) Dlaln2(trans bool, na, nw int, smin, ca float64, a []
|
|||||||
// Compute the real part of
|
// Compute the real part of
|
||||||
// C = ca A - w D
|
// C = ca A - w D
|
||||||
// or
|
// or
|
||||||
// C = ca A^T - w D.
|
// C = ca Aᵀ - w D.
|
||||||
crv := [4]float64{
|
crv := [4]float64{
|
||||||
ca*a[0] - wr*d1,
|
ca*a[0] - wr*d1,
|
||||||
ca * a[1],
|
ca * a[1],
|
||||||
|
|||||||
43
vendor/gonum.org/v1/gonum/lapack/gonum/dlange.go
generated
vendored
43
vendor/gonum.org/v1/gonum/lapack/gonum/dlange.go
generated
vendored
@@ -10,19 +10,22 @@ import (
|
|||||||
"gonum.org/v1/gonum/lapack"
|
"gonum.org/v1/gonum/lapack"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Dlange computes the matrix norm of the general m×n matrix a. The input norm
|
// Dlange returns the value of the specified norm of a general m×n matrix A:
|
||||||
// specifies the norm computed.
|
// lapack.MaxAbs: the maximum absolute value of any element.
|
||||||
// lapack.MaxAbs: the maximum absolute value of an element.
|
// lapack.MaxColumnSum: the maximum column sum of the absolute values of the elements (1-norm).
|
||||||
// lapack.MaxColumnSum: the maximum column sum of the absolute values of the entries.
|
// lapack.MaxRowSum: the maximum row sum of the absolute values of the elements (infinity-norm).
|
||||||
// lapack.MaxRowSum: the maximum row sum of the absolute values of the entries.
|
// lapack.Frobenius: the square root of the sum of the squares of the elements (Frobenius norm).
|
||||||
// lapack.Frobenius: the square root of the sum of the squares of the entries.
|
// If norm == lapack.MaxColumnSum, work must be of length n, and this function will
|
||||||
// If norm == lapack.MaxColumnSum, work must be of length n, and this function will panic otherwise.
|
// panic otherwise. There are no restrictions on work for the other matrix norms.
|
||||||
// There are no restrictions on work for the other matrix norms.
|
|
||||||
func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64, lda int, work []float64) float64 {
|
func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64, lda int, work []float64) float64 {
|
||||||
// TODO(btracey): These should probably be refactored to use BLAS calls.
|
// TODO(btracey): These should probably be refactored to use BLAS calls.
|
||||||
switch {
|
switch {
|
||||||
case norm != lapack.MaxRowSum && norm != lapack.MaxColumnSum && norm != lapack.Frobenius && norm != lapack.MaxAbs:
|
case norm != lapack.MaxRowSum && norm != lapack.MaxColumnSum && norm != lapack.Frobenius && norm != lapack.MaxAbs:
|
||||||
panic(badNorm)
|
panic(badNorm)
|
||||||
|
case m < 0:
|
||||||
|
panic(mLT0)
|
||||||
|
case n < 0:
|
||||||
|
panic(nLT0)
|
||||||
case lda < max(1, n):
|
case lda < max(1, n):
|
||||||
panic(badLdA)
|
panic(badLdA)
|
||||||
}
|
}
|
||||||
@@ -39,7 +42,8 @@ func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64,
|
|||||||
panic(shortWork)
|
panic(shortWork)
|
||||||
}
|
}
|
||||||
|
|
||||||
if norm == lapack.MaxAbs {
|
switch norm {
|
||||||
|
case lapack.MaxAbs:
|
||||||
var value float64
|
var value float64
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
@@ -47,11 +51,7 @@ func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
}
|
case lapack.MaxColumnSum:
|
||||||
if norm == lapack.MaxColumnSum {
|
|
||||||
if len(work) < n {
|
|
||||||
panic(shortWork)
|
|
||||||
}
|
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
work[i] = 0
|
work[i] = 0
|
||||||
}
|
}
|
||||||
@@ -65,8 +65,7 @@ func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64,
|
|||||||
value = math.Max(value, work[i])
|
value = math.Max(value, work[i])
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
}
|
case lapack.MaxRowSum:
|
||||||
if norm == lapack.MaxRowSum {
|
|
||||||
var value float64
|
var value float64
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
var sum float64
|
var sum float64
|
||||||
@@ -76,14 +75,14 @@ func (impl Implementation) Dlange(norm lapack.MatrixNorm, m, n int, a []float64,
|
|||||||
value = math.Max(value, sum)
|
value = math.Max(value, sum)
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
}
|
default:
|
||||||
// norm == lapack.Frobenius
|
// lapack.Frobenius
|
||||||
var value float64
|
|
||||||
scale := 0.0
|
scale := 0.0
|
||||||
sum := 1.0
|
sum := 1.0
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
scale, sum = impl.Dlassq(n, a[i*lda:], 1, scale, sum)
|
rowscale, rowsum := impl.Dlassq(n, a[i*lda:], 1, 0, 1)
|
||||||
|
scale, sum = impl.Dcombssq(scale, sum, rowscale, rowsum)
|
||||||
|
}
|
||||||
|
return scale * math.Sqrt(sum)
|
||||||
}
|
}
|
||||||
value = scale * math.Sqrt(sum)
|
|
||||||
return value
|
|
||||||
}
|
}
|
||||||
|
|||||||
135
vendor/gonum.org/v1/gonum/lapack/gonum/dlansb.go
generated
vendored
Normal file
135
vendor/gonum.org/v1/gonum/lapack/gonum/dlansb.go
generated
vendored
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
// Copyright ©2019 The Gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package gonum
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
|
||||||
|
"gonum.org/v1/gonum/blas"
|
||||||
|
"gonum.org/v1/gonum/lapack"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Dlansb returns the given norm of an n×n symmetric band matrix with kd
|
||||||
|
// super-diagonals.
|
||||||
|
//
|
||||||
|
// When norm is lapack.MaxColumnSum or lapack.MaxRowSum, the length of work must
|
||||||
|
// be at least n.
|
||||||
|
func (impl Implementation) Dlansb(norm lapack.MatrixNorm, uplo blas.Uplo, n, kd int, ab []float64, ldab int, work []float64) float64 {
|
||||||
|
switch {
|
||||||
|
case norm != lapack.MaxAbs && norm != lapack.MaxRowSum && norm != lapack.MaxColumnSum && norm != lapack.Frobenius:
|
||||||
|
panic(badNorm)
|
||||||
|
case uplo != blas.Upper && uplo != blas.Lower:
|
||||||
|
panic(badUplo)
|
||||||
|
case n < 0:
|
||||||
|
panic(nLT0)
|
||||||
|
case kd < 0:
|
||||||
|
panic(kdLT0)
|
||||||
|
case ldab < kd+1:
|
||||||
|
panic(badLdA)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
|
if n == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case len(ab) < (n-1)*ldab+kd+1:
|
||||||
|
panic(shortAB)
|
||||||
|
case len(work) < n && (norm == lapack.MaxColumnSum || norm == lapack.MaxRowSum):
|
||||||
|
panic(shortWork)
|
||||||
|
}
|
||||||
|
|
||||||
|
var value float64
|
||||||
|
switch norm {
|
||||||
|
case lapack.MaxAbs:
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
for j := 0; j < min(n-i, kd+1); j++ {
|
||||||
|
aij := math.Abs(ab[i*ldab+j])
|
||||||
|
if aij > value || math.IsNaN(aij) {
|
||||||
|
value = aij
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
for j := max(0, kd-i); j < kd+1; j++ {
|
||||||
|
aij := math.Abs(ab[i*ldab+j])
|
||||||
|
if aij > value || math.IsNaN(aij) {
|
||||||
|
value = aij
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case lapack.MaxColumnSum, lapack.MaxRowSum:
|
||||||
|
work = work[:n]
|
||||||
|
var sum float64
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
for i := range work {
|
||||||
|
work[i] = 0
|
||||||
|
}
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sum := work[i] + math.Abs(ab[i*ldab])
|
||||||
|
for j := i + 1; j < min(i+kd+1, n); j++ {
|
||||||
|
aij := math.Abs(ab[i*ldab+j-i])
|
||||||
|
sum += aij
|
||||||
|
work[j] += aij
|
||||||
|
}
|
||||||
|
if sum > value || math.IsNaN(sum) {
|
||||||
|
value = sum
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sum = 0
|
||||||
|
for j := max(0, i-kd); j < i; j++ {
|
||||||
|
aij := math.Abs(ab[i*ldab+kd+j-i])
|
||||||
|
sum += aij
|
||||||
|
work[j] += aij
|
||||||
|
}
|
||||||
|
work[i] = sum + math.Abs(ab[i*ldab+kd])
|
||||||
|
}
|
||||||
|
for _, sum := range work {
|
||||||
|
if sum > value || math.IsNaN(sum) {
|
||||||
|
value = sum
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case lapack.Frobenius:
|
||||||
|
scale := 0.0
|
||||||
|
ssq := 1.0
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
if kd > 0 {
|
||||||
|
// Sum off-diagonals.
|
||||||
|
for i := 0; i < n-1; i++ {
|
||||||
|
ilen := min(n-i-1, kd)
|
||||||
|
rowscale, rowssq := impl.Dlassq(ilen, ab[i*ldab+1:], 1, 0, 1)
|
||||||
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
|
}
|
||||||
|
ssq *= 2
|
||||||
|
}
|
||||||
|
// Sum diagonal.
|
||||||
|
dscale, dssq := impl.Dlassq(n, ab, ldab, 0, 1)
|
||||||
|
scale, ssq = impl.Dcombssq(scale, ssq, dscale, dssq)
|
||||||
|
} else {
|
||||||
|
if kd > 0 {
|
||||||
|
// Sum off-diagonals.
|
||||||
|
for i := 1; i < n; i++ {
|
||||||
|
ilen := min(i, kd)
|
||||||
|
rowscale, rowssq := impl.Dlassq(ilen, ab[i*ldab+kd-ilen:], 1, 0, 1)
|
||||||
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
|
}
|
||||||
|
ssq *= 2
|
||||||
|
}
|
||||||
|
// Sum diagonal.
|
||||||
|
dscale, dssq := impl.Dlassq(n, ab[kd:], ldab, 0, 1)
|
||||||
|
scale, ssq = impl.Dcombssq(scale, ssq, dscale, dssq)
|
||||||
|
}
|
||||||
|
value = scale * math.Sqrt(ssq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return value
|
||||||
|
}
|
||||||
44
vendor/gonum.org/v1/gonum/lapack/gonum/dlansy.go
generated
vendored
44
vendor/gonum.org/v1/gonum/lapack/gonum/dlansy.go
generated
vendored
@@ -11,8 +11,8 @@ import (
|
|||||||
"gonum.org/v1/gonum/lapack"
|
"gonum.org/v1/gonum/lapack"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Dlansy computes the specified norm of an n×n symmetric matrix. If
|
// Dlansy returns the value of the specified norm of an n×n symmetric matrix. If
|
||||||
// norm == lapack.MaxColumnSum or norm == lapackMaxRowSum work must have length
|
// norm == lapack.MaxColumnSum or norm == lapack.MaxRowSum, work must have length
|
||||||
// at least n, otherwise work is unused.
|
// at least n, otherwise work is unused.
|
||||||
func (impl Implementation) Dlansy(norm lapack.MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64 {
|
func (impl Implementation) Dlansy(norm lapack.MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64 {
|
||||||
switch {
|
switch {
|
||||||
@@ -39,8 +39,6 @@ func (impl Implementation) Dlansy(norm lapack.MatrixNorm, uplo blas.Uplo, n int,
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch norm {
|
switch norm {
|
||||||
default:
|
|
||||||
panic(badNorm)
|
|
||||||
case lapack.MaxAbs:
|
case lapack.MaxAbs:
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
var max float64
|
var max float64
|
||||||
@@ -105,28 +103,26 @@ func (impl Implementation) Dlansy(norm lapack.MatrixNorm, uplo blas.Uplo, n int,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return max
|
return max
|
||||||
case lapack.Frobenius:
|
default:
|
||||||
|
// lapack.Frobenius:
|
||||||
|
scale := 0.0
|
||||||
|
ssq := 1.0
|
||||||
|
// Sum off-diagonals.
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
var sum float64
|
for i := 0; i < n-1; i++ {
|
||||||
for i := 0; i < n; i++ {
|
rowscale, rowssq := impl.Dlassq(n-i-1, a[i*lda+i+1:], 1, 0, 1)
|
||||||
v := a[i*lda+i]
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
sum += v * v
|
}
|
||||||
for j := i + 1; j < n; j++ {
|
} else {
|
||||||
v := a[i*lda+j]
|
for i := 1; i < n; i++ {
|
||||||
sum += 2 * v * v
|
rowscale, rowssq := impl.Dlassq(i, a[i*lda:], 1, 0, 1)
|
||||||
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return math.Sqrt(sum)
|
ssq *= 2
|
||||||
}
|
// Sum diagonal.
|
||||||
var sum float64
|
dscale, dssq := impl.Dlassq(n, a, lda+1, 0, 1)
|
||||||
for i := 0; i < n; i++ {
|
scale, ssq = impl.Dcombssq(scale, ssq, dscale, dssq)
|
||||||
for j := 0; j < i; j++ {
|
return scale * math.Sqrt(ssq)
|
||||||
v := a[i*lda+j]
|
|
||||||
sum += 2 * v * v
|
|
||||||
}
|
|
||||||
v := a[i*lda+i]
|
|
||||||
sum += v * v
|
|
||||||
}
|
|
||||||
return math.Sqrt(sum)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
46
vendor/gonum.org/v1/gonum/lapack/gonum/dlantr.go
generated
vendored
46
vendor/gonum.org/v1/gonum/lapack/gonum/dlantr.go
generated
vendored
@@ -22,6 +22,8 @@ func (impl Implementation) Dlantr(norm lapack.MatrixNorm, uplo blas.Uplo, diag b
|
|||||||
panic(badUplo)
|
panic(badUplo)
|
||||||
case diag != blas.Unit && diag != blas.NonUnit:
|
case diag != blas.Unit && diag != blas.NonUnit:
|
||||||
panic(badDiag)
|
panic(badDiag)
|
||||||
|
case m < 0:
|
||||||
|
panic(mLT0)
|
||||||
case n < 0:
|
case n < 0:
|
||||||
panic(nLT0)
|
panic(nLT0)
|
||||||
case lda < max(1, n):
|
case lda < max(1, n):
|
||||||
@@ -42,8 +44,6 @@ func (impl Implementation) Dlantr(norm lapack.MatrixNorm, uplo blas.Uplo, diag b
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch norm {
|
switch norm {
|
||||||
default:
|
|
||||||
panic(badNorm)
|
|
||||||
case lapack.MaxAbs:
|
case lapack.MaxAbs:
|
||||||
if diag == blas.Unit {
|
if diag == blas.Unit {
|
||||||
value := 1.0
|
value := 1.0
|
||||||
@@ -171,7 +171,7 @@ func (impl Implementation) Dlantr(norm lapack.MatrixNorm, uplo blas.Uplo, diag b
|
|||||||
}
|
}
|
||||||
return maxsum
|
return maxsum
|
||||||
} else {
|
} else {
|
||||||
for i := 1; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
var sum float64
|
var sum float64
|
||||||
if i < minmn {
|
if i < minmn {
|
||||||
sum = 1
|
sum = 1
|
||||||
@@ -219,42 +219,38 @@ func (impl Implementation) Dlantr(norm lapack.MatrixNorm, uplo blas.Uplo, diag b
|
|||||||
return maxsum
|
return maxsum
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case lapack.Frobenius:
|
default:
|
||||||
var nrm float64
|
// lapack.Frobenius:
|
||||||
|
var scale, ssq float64
|
||||||
if diag == blas.Unit {
|
if diag == blas.Unit {
|
||||||
|
scale = 1
|
||||||
|
ssq = float64(min(m, n))
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < min(m, n); i++ {
|
||||||
for j := i + 1; j < n; j++ {
|
rowscale, rowssq := impl.Dlassq(n-i-1, a[i*lda+i+1:], 1, 0, 1)
|
||||||
tmp := a[i*lda+j]
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
nrm += tmp * tmp
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for i := 1; i < m; i++ {
|
for i := 1; i < m; i++ {
|
||||||
for j := 0; j < min(i, n); j++ {
|
rowscale, rowssq := impl.Dlassq(min(i, n), a[i*lda:], 1, 0, 1)
|
||||||
tmp := a[i*lda+j]
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
nrm += tmp * tmp
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
nrm += float64(minmn)
|
|
||||||
} else {
|
} else {
|
||||||
|
scale = 0
|
||||||
|
ssq = 1
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < min(m, n); i++ {
|
||||||
for j := i; j < n; j++ {
|
rowscale, rowssq := impl.Dlassq(n-i, a[i*lda+i:], 1, 0, 1)
|
||||||
tmp := math.Abs(a[i*lda+j])
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
nrm += tmp * tmp
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
for j := 0; j <= min(i, n-1); j++ {
|
rowscale, rowssq := impl.Dlassq(min(i+1, n), a[i*lda:], 1, 0, 1)
|
||||||
tmp := math.Abs(a[i*lda+j])
|
scale, ssq = impl.Dcombssq(scale, ssq, rowscale, rowssq)
|
||||||
nrm += tmp * tmp
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
return scale * math.Sqrt(ssq)
|
||||||
return math.Sqrt(nrm)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqp2.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqp2.go
generated
vendored
@@ -93,7 +93,7 @@ func (impl Implementation) Dlaqp2(m, n, offset int, a []float64, lda int, jpvt [
|
|||||||
}
|
}
|
||||||
|
|
||||||
if i < n-1 {
|
if i < n-1 {
|
||||||
// Apply H_i^T to A[offset+i:m, i:n] from the left.
|
// Apply H_iᵀ to A[offset+i:m, i:n] from the left.
|
||||||
aii := a[offpi*lda+i]
|
aii := a[offpi*lda+i]
|
||||||
a[offpi*lda+i] = 1
|
a[offpi*lda+i] = 1
|
||||||
impl.Dlarf(blas.Left, m-offpi, n-i-1, a[offpi*lda+i:], lda, tau[i], a[offpi*lda+i+1:], lda, work)
|
impl.Dlarf(blas.Left, m-offpi, n-i-1, a[offpi*lda+i:], lda, tau[i], a[offpi*lda+i+1:], lda, work)
|
||||||
|
|||||||
10
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqps.go
generated
vendored
10
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqps.go
generated
vendored
@@ -122,7 +122,7 @@ func (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jp
|
|||||||
|
|
||||||
// Apply previous Householder reflectors to column K:
|
// Apply previous Householder reflectors to column K:
|
||||||
//
|
//
|
||||||
// A[rk:m, k] = A[rk:m, k] - A[rk:m, 0:k-1]*F[k, 0:k-1]^T.
|
// A[rk:m, k] = A[rk:m, k] - A[rk:m, 0:k-1]*F[k, 0:k-1]ᵀ.
|
||||||
if k > 0 {
|
if k > 0 {
|
||||||
bi.Dgemv(blas.NoTrans, m-rk, k, -1,
|
bi.Dgemv(blas.NoTrans, m-rk, k, -1,
|
||||||
a[rk*lda:], lda,
|
a[rk*lda:], lda,
|
||||||
@@ -143,7 +143,7 @@ func (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jp
|
|||||||
|
|
||||||
// Compute kth column of F:
|
// Compute kth column of F:
|
||||||
//
|
//
|
||||||
// Compute F[k+1:n, k] = tau[k]*A[rk:m, k+1:n]^T*A[rk:m, k].
|
// Compute F[k+1:n, k] = tau[k]*A[rk:m, k+1:n]ᵀ*A[rk:m, k].
|
||||||
if k < n-1 {
|
if k < n-1 {
|
||||||
bi.Dgemv(blas.Trans, m-rk, n-k-1, tau[k],
|
bi.Dgemv(blas.Trans, m-rk, n-k-1, tau[k],
|
||||||
a[rk*lda+k+1:], lda,
|
a[rk*lda+k+1:], lda,
|
||||||
@@ -159,7 +159,7 @@ func (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jp
|
|||||||
|
|
||||||
// Incremental updating of F:
|
// Incremental updating of F:
|
||||||
//
|
//
|
||||||
// F[0:n, k] := F[0:n, k] - tau[k]*F[0:n, 0:k-1]*A[rk:m, 0:k-1]^T*A[rk:m,k].
|
// F[0:n, k] := F[0:n, k] - tau[k]*F[0:n, 0:k-1]*A[rk:m, 0:k-1]ᵀ*A[rk:m,k].
|
||||||
if k > 0 {
|
if k > 0 {
|
||||||
bi.Dgemv(blas.Trans, m-rk, k, -tau[k],
|
bi.Dgemv(blas.Trans, m-rk, k, -tau[k],
|
||||||
a[rk*lda:], lda,
|
a[rk*lda:], lda,
|
||||||
@@ -175,7 +175,7 @@ func (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jp
|
|||||||
|
|
||||||
// Update the current row of A:
|
// Update the current row of A:
|
||||||
//
|
//
|
||||||
// A[rk, k+1:n] = A[rk, k+1:n] - A[rk, 0:k]*F[k+1:n, 0:k]^T.
|
// A[rk, k+1:n] = A[rk, k+1:n] - A[rk, 0:k]*F[k+1:n, 0:k]ᵀ.
|
||||||
if k < n-1 {
|
if k < n-1 {
|
||||||
bi.Dgemv(blas.NoTrans, n-k-1, k+1, -1,
|
bi.Dgemv(blas.NoTrans, n-k-1, k+1, -1,
|
||||||
f[(k+1)*ldf:], ldf,
|
f[(k+1)*ldf:], ldf,
|
||||||
@@ -216,7 +216,7 @@ func (impl Implementation) Dlaqps(m, n, offset, nb int, a []float64, lda int, jp
|
|||||||
|
|
||||||
// Apply the block reflector to the rest of the matrix:
|
// Apply the block reflector to the rest of the matrix:
|
||||||
//
|
//
|
||||||
// A[offset+kb+1:m, kb+1:n] := A[offset+kb+1:m, kb+1:n] - A[offset+kb+1:m, 1:kb]*F[kb+1:n, 1:kb]^T.
|
// A[offset+kb+1:m, kb+1:n] := A[offset+kb+1:m, kb+1:n] - A[offset+kb+1:m, 1:kb]*F[kb+1:n, 1:kb]ᵀ.
|
||||||
if kb < min(n, m-offset) {
|
if kb < min(n, m-offset) {
|
||||||
bi.Dgemm(blas.NoTrans, blas.Trans,
|
bi.Dgemm(blas.NoTrans, blas.Trans,
|
||||||
m-rk, n-kb, kb, -1,
|
m-rk, n-kb, kb, -1,
|
||||||
|
|||||||
10
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr04.go
generated
vendored
10
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr04.go
generated
vendored
@@ -12,7 +12,7 @@ import (
|
|||||||
|
|
||||||
// Dlaqr04 computes the eigenvalues of a block of an n×n upper Hessenberg matrix
|
// Dlaqr04 computes the eigenvalues of a block of an n×n upper Hessenberg matrix
|
||||||
// H, and optionally the matrices T and Z from the Schur decomposition
|
// H, and optionally the matrices T and Z from the Schur decomposition
|
||||||
// H = Z T Z^T
|
// H = Z T Zᵀ
|
||||||
// where T is an upper quasi-triangular matrix (the Schur form), and Z is the
|
// where T is an upper quasi-triangular matrix (the Schur form), and Z is the
|
||||||
// orthogonal matrix of Schur vectors.
|
// orthogonal matrix of Schur vectors.
|
||||||
//
|
//
|
||||||
@@ -24,8 +24,8 @@ import (
|
|||||||
// Z[iloz:ihiz+1,ilo:ihi+1], otherwise Z will not be referenced.
|
// Z[iloz:ihiz+1,ilo:ihi+1], otherwise Z will not be referenced.
|
||||||
//
|
//
|
||||||
// ilo and ihi determine the block of H on which Dlaqr04 operates. It must hold that
|
// ilo and ihi determine the block of H on which Dlaqr04 operates. It must hold that
|
||||||
// 0 <= ilo <= ihi < n, if n > 0,
|
// 0 <= ilo <= ihi < n if n > 0,
|
||||||
// ilo == 0 and ihi == -1, if n == 0,
|
// ilo == 0 and ihi == -1 if n == 0,
|
||||||
// and the block must be isolated, that is,
|
// and the block must be isolated, that is,
|
||||||
// ilo == 0 or H[ilo,ilo-1] == 0,
|
// ilo == 0 or H[ilo,ilo-1] == 0,
|
||||||
// ihi == n-1 or H[ihi+1,ihi] == 0,
|
// ihi == n-1 or H[ihi+1,ihi] == 0,
|
||||||
@@ -39,8 +39,8 @@ import (
|
|||||||
// otherwise Dlaqr04 will panic.
|
// otherwise Dlaqr04 will panic.
|
||||||
//
|
//
|
||||||
// work must have length at least lwork and lwork must be
|
// work must have length at least lwork and lwork must be
|
||||||
// lwork >= 1, if n <= 11,
|
// lwork >= 1 if n <= 11,
|
||||||
// lwork >= n, if n > 11,
|
// lwork >= n if n > 11,
|
||||||
// otherwise Dlaqr04 will panic. lwork as large as 6*n may be required for
|
// otherwise Dlaqr04 will panic. lwork as large as 6*n may be required for
|
||||||
// optimal performance. On return, work[0] will contain the optimal value of
|
// optimal performance. On return, work[0] will contain the optimal value of
|
||||||
// lwork.
|
// lwork.
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr23.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr23.go
generated
vendored
@@ -29,8 +29,8 @@ import (
|
|||||||
//
|
//
|
||||||
// ktop and kbot determine a block [ktop:kbot+1,ktop:kbot+1] along the diagonal
|
// ktop and kbot determine a block [ktop:kbot+1,ktop:kbot+1] along the diagonal
|
||||||
// of H. It must hold that
|
// of H. It must hold that
|
||||||
// 0 <= ilo <= ihi < n, if n > 0,
|
// 0 <= ilo <= ihi < n if n > 0,
|
||||||
// ilo == 0 and ihi == -1, if n == 0,
|
// ilo == 0 and ihi == -1 if n == 0,
|
||||||
// and the block must be isolated, that is, it must hold that
|
// and the block must be isolated, that is, it must hold that
|
||||||
// ktop == 0 or H[ktop,ktop-1] == 0,
|
// ktop == 0 or H[ktop,ktop-1] == 0,
|
||||||
// kbot == n-1 or H[kbot+1,kbot] == 0,
|
// kbot == n-1 or H[kbot+1,kbot] == 0,
|
||||||
|
|||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr5.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlaqr5.go
generated
vendored
@@ -544,12 +544,12 @@ func (impl Implementation) Dlaqr5(wantt, wantz bool, kacc22 int, n, ktop, kbot,
|
|||||||
// rows get multiplied by zero).
|
// rows get multiplied by zero).
|
||||||
impl.Dlacpy(blas.All, knz, jlen, h[(incol+1+j2)*ldh+jcol:], ldh, wh[kzs*ldwh:], ldwh)
|
impl.Dlacpy(blas.All, knz, jlen, h[(incol+1+j2)*ldh+jcol:], ldh, wh[kzs*ldwh:], ldwh)
|
||||||
|
|
||||||
// Multiply by U21^T.
|
// Multiply by U21ᵀ.
|
||||||
impl.Dlaset(blas.All, kzs, jlen, 0, 0, wh, ldwh)
|
impl.Dlaset(blas.All, kzs, jlen, 0, 0, wh, ldwh)
|
||||||
bi.Dtrmm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, knz, jlen,
|
bi.Dtrmm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, knz, jlen,
|
||||||
1, u[j2*ldu+kzs:], ldu, wh[kzs*ldwh:], ldwh)
|
1, u[j2*ldu+kzs:], ldu, wh[kzs*ldwh:], ldwh)
|
||||||
|
|
||||||
// Multiply top of H by U11^T.
|
// Multiply top of H by U11ᵀ.
|
||||||
bi.Dgemm(blas.Trans, blas.NoTrans, i2, jlen, j2,
|
bi.Dgemm(blas.Trans, blas.NoTrans, i2, jlen, j2,
|
||||||
1, u, ldu, h[(incol+1)*ldh+jcol:], ldh,
|
1, u, ldu, h[(incol+1)*ldh+jcol:], ldh,
|
||||||
1, wh, ldwh)
|
1, wh, ldwh)
|
||||||
@@ -557,7 +557,7 @@ func (impl Implementation) Dlaqr5(wantt, wantz bool, kacc22 int, n, ktop, kbot,
|
|||||||
// Copy top of H to bottom of WH.
|
// Copy top of H to bottom of WH.
|
||||||
impl.Dlacpy(blas.All, j2, jlen, h[(incol+1)*ldh+jcol:], ldh, wh[i2*ldwh:], ldwh)
|
impl.Dlacpy(blas.All, j2, jlen, h[(incol+1)*ldh+jcol:], ldh, wh[i2*ldwh:], ldwh)
|
||||||
|
|
||||||
// Multiply by U21^T.
|
// Multiply by U21ᵀ.
|
||||||
bi.Dtrmm(blas.Left, blas.Lower, blas.Trans, blas.NonUnit, j2, jlen,
|
bi.Dtrmm(blas.Left, blas.Lower, blas.Trans, blas.NonUnit, j2, jlen,
|
||||||
1, u[i2:], ldu, wh[i2*ldwh:], ldwh)
|
1, u[i2:], ldu, wh[i2*ldwh:], ldwh)
|
||||||
|
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlarf.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlarf.go
generated
vendored
@@ -14,7 +14,7 @@ import (
|
|||||||
// c = h * c if side == Left
|
// c = h * c if side == Left
|
||||||
// c = c * h if side == right
|
// c = c * h if side == right
|
||||||
// where
|
// where
|
||||||
// h = 1 - tau * v * v^T
|
// h = 1 - tau * v * vᵀ
|
||||||
// and c is an m * n matrix.
|
// and c is an m * n matrix.
|
||||||
//
|
//
|
||||||
// work is temporary storage of length at least m if side == Left and at least
|
// work is temporary storage of length at least m if side == Left and at least
|
||||||
@@ -87,15 +87,15 @@ func (impl Implementation) Dlarf(side blas.Side, m, n int, v []float64, incv int
|
|||||||
bi := blas64.Implementation()
|
bi := blas64.Implementation()
|
||||||
if applyleft {
|
if applyleft {
|
||||||
// Form H * C
|
// Form H * C
|
||||||
// w[0:lastc+1] = c[1:lastv+1, 1:lastc+1]^T * v[1:lastv+1,1]
|
// w[0:lastc+1] = c[1:lastv+1, 1:lastc+1]ᵀ * v[1:lastv+1,1]
|
||||||
bi.Dgemv(blas.Trans, lastv+1, lastc+1, 1, c, ldc, v, incv, 0, work, 1)
|
bi.Dgemv(blas.Trans, lastv+1, lastc+1, 1, c, ldc, v, incv, 0, work, 1)
|
||||||
// c[0: lastv, 0: lastc] = c[...] - w[0:lastv, 1] * v[1:lastc, 1]^T
|
// c[0: lastv, 0: lastc] = c[...] - w[0:lastv, 1] * v[1:lastc, 1]ᵀ
|
||||||
bi.Dger(lastv+1, lastc+1, -tau, v, incv, work, 1, c, ldc)
|
bi.Dger(lastv+1, lastc+1, -tau, v, incv, work, 1, c, ldc)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Form C*H
|
// Form C*H
|
||||||
// w[0:lastc+1,1] := c[0:lastc+1,0:lastv+1] * v[0:lastv+1,1]
|
// w[0:lastc+1,1] := c[0:lastc+1,0:lastv+1] * v[0:lastv+1,1]
|
||||||
bi.Dgemv(blas.NoTrans, lastc+1, lastv+1, 1, c, ldc, v, incv, 0, work, 1)
|
bi.Dgemv(blas.NoTrans, lastc+1, lastv+1, 1, c, ldc, v, incv, 0, work, 1)
|
||||||
// c[0:lastc+1,0:lastv+1] = c[...] - w[0:lastc+1,0] * v[0:lastv+1,0]^T
|
// c[0:lastc+1,0:lastv+1] = c[...] - w[0:lastc+1,0] * v[0:lastv+1,0]ᵀ
|
||||||
bi.Dger(lastc+1, lastv+1, -tau, work, 1, v, incv, c, ldc)
|
bi.Dger(lastc+1, lastv+1, -tau, work, 1, v, incv, c, ldc)
|
||||||
}
|
}
|
||||||
|
|||||||
94
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfb.go
generated
vendored
94
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfb.go
generated
vendored
@@ -15,8 +15,8 @@ import (
|
|||||||
// In the call to Dlarfb, the mxn c is multiplied by the implicitly defined matrix h as follows:
|
// In the call to Dlarfb, the mxn c is multiplied by the implicitly defined matrix h as follows:
|
||||||
// c = h * c if side == Left and trans == NoTrans
|
// c = h * c if side == Left and trans == NoTrans
|
||||||
// c = c * h if side == Right and trans == NoTrans
|
// c = c * h if side == Right and trans == NoTrans
|
||||||
// c = h^T * c if side == Left and trans == Trans
|
// c = hᵀ * c if side == Left and trans == Trans
|
||||||
// c = c * h^T if side == Right and trans == Trans
|
// c = c * hᵀ if side == Right and trans == Trans
|
||||||
// h is a product of elementary reflectors. direct sets the direction of multiplication
|
// h is a product of elementary reflectors. direct sets the direction of multiplication
|
||||||
// h = h_1 * h_2 * ... * h_k if direct == Forward
|
// h = h_1 * h_2 * ... * h_k if direct == Forward
|
||||||
// h = h_k * h_k-1 * ... * h_1 if direct == Backward
|
// h = h_k * h_k-1 * ... * h_1 if direct == Backward
|
||||||
@@ -118,13 +118,13 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
// elements are copied into the columns of the working array. The
|
// elements are copied into the columns of the working array. The
|
||||||
// loops should go in the other direction so the data is written
|
// loops should go in the other direction so the data is written
|
||||||
// into the rows of work so the copy is not strided. A bigger change
|
// into the rows of work so the copy is not strided. A bigger change
|
||||||
// would be to replace work with work^T, but benchmarks would be
|
// would be to replace work with workᵀ, but benchmarks would be
|
||||||
// needed to see if the change is merited.
|
// needed to see if the change is merited.
|
||||||
if store == lapack.ColumnWise {
|
if store == lapack.ColumnWise {
|
||||||
if direct == lapack.Forward {
|
if direct == lapack.Forward {
|
||||||
// V1 is the first k rows of C. V2 is the remaining rows.
|
// V1 is the first k rows of C. V2 is the remaining rows.
|
||||||
if side == blas.Left {
|
if side == blas.Left {
|
||||||
// W = C^T V = C1^T V1 + C2^T V2 (stored in work).
|
// W = Cᵀ V = C1ᵀ V1 + C2ᵀ V2 (stored in work).
|
||||||
|
|
||||||
// W = C1.
|
// W = C1.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
@@ -136,27 +136,27 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
v, ldv,
|
v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
if m > k {
|
if m > k {
|
||||||
// W = W + C2^T V2.
|
// W = W + C2ᵀ V2.
|
||||||
bi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,
|
bi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,
|
||||||
1, c[k*ldc:], ldc, v[k*ldv:], ldv,
|
1, c[k*ldc:], ldc, v[k*ldv:], ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W = W * T^T or W * T.
|
// W = W * Tᵀ or W * T.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,
|
bi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C -= V * W^T.
|
// C -= V * Wᵀ.
|
||||||
if m > k {
|
if m > k {
|
||||||
// C2 -= V2 * W^T.
|
// C2 -= V2 * Wᵀ.
|
||||||
bi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,
|
bi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,
|
||||||
-1, v[k*ldv:], ldv, work, ldwork,
|
-1, v[k*ldv:], ldv, work, ldwork,
|
||||||
1, c[k*ldc:], ldc)
|
1, c[k*ldc:], ldc)
|
||||||
}
|
}
|
||||||
// W *= V1^T.
|
// W *= V1ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,
|
||||||
1, v, ldv,
|
1, v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C1 -= W^T.
|
// C1 -= Wᵀ.
|
||||||
// TODO(btracey): This should use blas.Axpy.
|
// TODO(btracey): This should use blas.Axpy.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
@@ -165,7 +165,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Form C = C * H or C * H^T, where C = (C1 C2).
|
// Form C = C * H or C * Hᵀ, where C = (C1 C2).
|
||||||
|
|
||||||
// W = C1.
|
// W = C1.
|
||||||
for i := 0; i < k; i++ {
|
for i := 0; i < k; i++ {
|
||||||
@@ -180,7 +180,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c[k:], ldc, v[k*ldv:], ldv,
|
1, c[k:], ldc, v[k*ldv:], ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,
|
bi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -189,7 +189,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
-1, work, ldwork, v[k*ldv:], ldv,
|
-1, work, ldwork, v[k*ldv:], ldv,
|
||||||
1, c[k:], ldc)
|
1, c[k:], ldc)
|
||||||
}
|
}
|
||||||
// C -= W * V^T.
|
// C -= W * Vᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,
|
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,
|
||||||
1, v, ldv,
|
1, v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -207,9 +207,9 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
// Where V2 is unit upper triangular.
|
// Where V2 is unit upper triangular.
|
||||||
if side == blas.Left {
|
if side == blas.Left {
|
||||||
// Form H * C or
|
// Form H * C or
|
||||||
// W = C^T V.
|
// W = Cᵀ V.
|
||||||
|
|
||||||
// W = C2^T.
|
// W = C2ᵀ.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
bi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)
|
bi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)
|
||||||
}
|
}
|
||||||
@@ -218,26 +218,26 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, v[(m-k)*ldv:], ldv,
|
1, v[(m-k)*ldv:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
if m > k {
|
if m > k {
|
||||||
// W += C1^T * V1.
|
// W += C1ᵀ * V1.
|
||||||
bi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,
|
bi.Dgemm(blas.Trans, blas.NoTrans, n, k, m-k,
|
||||||
1, c, ldc, v, ldv,
|
1, c, ldc, v, ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,
|
bi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C -= V * W^T.
|
// C -= V * Wᵀ.
|
||||||
if m > k {
|
if m > k {
|
||||||
bi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,
|
bi.Dgemm(blas.NoTrans, blas.Trans, m-k, n, k,
|
||||||
-1, v, ldv, work, ldwork,
|
-1, v, ldv, work, ldwork,
|
||||||
1, c, ldc)
|
1, c, ldc)
|
||||||
}
|
}
|
||||||
// W *= V2^T.
|
// W *= V2ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,
|
||||||
1, v[(m-k)*ldv:], ldv,
|
1, v[(m-k)*ldv:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C2 -= W^T.
|
// C2 -= Wᵀ.
|
||||||
// TODO(btracey): This should use blas.Axpy.
|
// TODO(btracey): This should use blas.Axpy.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
@@ -246,7 +246,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Form C * H or C * H^T where C = (C1 C2).
|
// Form C * H or C * Hᵀ where C = (C1 C2).
|
||||||
// W = C * V.
|
// W = C * V.
|
||||||
|
|
||||||
// W = C2.
|
// W = C2.
|
||||||
@@ -263,18 +263,18 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c, ldc, v, ldv,
|
1, c, ldc, v, ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,
|
bi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C -= W * V^T.
|
// C -= W * Vᵀ.
|
||||||
if n > k {
|
if n > k {
|
||||||
// C1 -= W * V1^T.
|
// C1 -= W * V1ᵀ.
|
||||||
bi.Dgemm(blas.NoTrans, blas.Trans, m, n-k, k,
|
bi.Dgemm(blas.NoTrans, blas.Trans, m, n-k, k,
|
||||||
-1, work, ldwork, v, ldv,
|
-1, work, ldwork, v, ldv,
|
||||||
1, c, ldc)
|
1, c, ldc)
|
||||||
}
|
}
|
||||||
// W *= V2^T.
|
// W *= V2ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,
|
||||||
1, v[(n-k)*ldv:], ldv,
|
1, v[(n-k)*ldv:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -291,14 +291,14 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
if direct == lapack.Forward {
|
if direct == lapack.Forward {
|
||||||
// V = (V1 V2) where v1 is unit upper triangular.
|
// V = (V1 V2) where v1 is unit upper triangular.
|
||||||
if side == blas.Left {
|
if side == blas.Left {
|
||||||
// Form H * C or H^T * C where C = (C1; C2).
|
// Form H * C or Hᵀ * C where C = (C1; C2).
|
||||||
// W = C^T * V^T.
|
// W = Cᵀ * Vᵀ.
|
||||||
|
|
||||||
// W = C1^T.
|
// W = C1ᵀ.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
bi.Dcopy(n, c[j*ldc:], 1, work[j:], ldwork)
|
bi.Dcopy(n, c[j*ldc:], 1, work[j:], ldwork)
|
||||||
}
|
}
|
||||||
// W *= V1^T.
|
// W *= V1ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, n, k,
|
||||||
1, v, ldv,
|
1, v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -307,11 +307,11 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c[k*ldc:], ldc, v[k:], ldv,
|
1, c[k*ldc:], ldc, v[k:], ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,
|
bi.Dtrmm(blas.Right, blas.Upper, transt, blas.NonUnit, n, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C -= V^T * W^T.
|
// C -= Vᵀ * Wᵀ.
|
||||||
if m > k {
|
if m > k {
|
||||||
bi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,
|
bi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,
|
||||||
-1, v[k:], ldv, work, ldwork,
|
-1, v[k:], ldv, work, ldwork,
|
||||||
@@ -321,7 +321,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.NoTrans, blas.Unit, n, k,
|
||||||
1, v, ldv,
|
1, v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C1 -= W^T.
|
// C1 -= Wᵀ.
|
||||||
// TODO(btracey): This should use blas.Axpy.
|
// TODO(btracey): This should use blas.Axpy.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
@@ -330,14 +330,14 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Form C * H or C * H^T where C = (C1 C2).
|
// Form C * H or C * Hᵀ where C = (C1 C2).
|
||||||
// W = C * V^T.
|
// W = C * Vᵀ.
|
||||||
|
|
||||||
// W = C1.
|
// W = C1.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
bi.Dcopy(m, c[j:], ldc, work[j:], ldwork)
|
bi.Dcopy(m, c[j:], ldc, work[j:], ldwork)
|
||||||
}
|
}
|
||||||
// W *= V1^T.
|
// W *= V1ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.Unit, m, k,
|
||||||
1, v, ldv,
|
1, v, ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -346,7 +346,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c[k:], ldc, v[k:], ldv,
|
1, c[k:], ldc, v[k:], ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,
|
bi.Dtrmm(blas.Right, blas.Upper, trans, blas.NonUnit, m, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -371,14 +371,14 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
}
|
}
|
||||||
// V = (V1 V2) where V2 is the last k columns and is lower unit triangular.
|
// V = (V1 V2) where V2 is the last k columns and is lower unit triangular.
|
||||||
if side == blas.Left {
|
if side == blas.Left {
|
||||||
// Form H * C or H^T C where C = (C1 ; C2).
|
// Form H * C or Hᵀ C where C = (C1 ; C2).
|
||||||
// W = C^T * V^T.
|
// W = Cᵀ * Vᵀ.
|
||||||
|
|
||||||
// W = C2^T.
|
// W = C2ᵀ.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
bi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)
|
bi.Dcopy(n, c[(m-k+j)*ldc:], 1, work[j:], ldwork)
|
||||||
}
|
}
|
||||||
// W *= V2^T.
|
// W *= V2ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, n, k,
|
||||||
1, v[m-k:], ldv,
|
1, v[m-k:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -387,11 +387,11 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c, ldc, v, ldv,
|
1, c, ldc, v, ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,
|
bi.Dtrmm(blas.Right, blas.Lower, transt, blas.NonUnit, n, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C -= V^T * W^T.
|
// C -= Vᵀ * Wᵀ.
|
||||||
if m > k {
|
if m > k {
|
||||||
bi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,
|
bi.Dgemm(blas.Trans, blas.Trans, m-k, n, k,
|
||||||
-1, v, ldv, work, ldwork,
|
-1, v, ldv, work, ldwork,
|
||||||
@@ -401,7 +401,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
bi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, n, k,
|
bi.Dtrmm(blas.Right, blas.Lower, blas.NoTrans, blas.Unit, n, k,
|
||||||
1, v[m-k:], ldv,
|
1, v[m-k:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
// C2 -= W^T.
|
// C2 -= Wᵀ.
|
||||||
// TODO(btracey): This should use blas.Axpy.
|
// TODO(btracey): This should use blas.Axpy.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
@@ -410,13 +410,13 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Form C * H or C * H^T where C = (C1 C2).
|
// Form C * H or C * Hᵀ where C = (C1 C2).
|
||||||
// W = C * V^T.
|
// W = C * Vᵀ.
|
||||||
// W = C2.
|
// W = C2.
|
||||||
for j := 0; j < k; j++ {
|
for j := 0; j < k; j++ {
|
||||||
bi.Dcopy(m, c[n-k+j:], ldc, work[j:], ldwork)
|
bi.Dcopy(m, c[n-k+j:], ldc, work[j:], ldwork)
|
||||||
}
|
}
|
||||||
// W *= V2^T.
|
// W *= V2ᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,
|
bi.Dtrmm(blas.Right, blas.Lower, blas.Trans, blas.Unit, m, k,
|
||||||
1, v[n-k:], ldv,
|
1, v[n-k:], ldv,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
@@ -425,7 +425,7 @@ func (Implementation) Dlarfb(side blas.Side, trans blas.Transpose, direct lapack
|
|||||||
1, c, ldc, v, ldv,
|
1, c, ldc, v, ldv,
|
||||||
1, work, ldwork)
|
1, work, ldwork)
|
||||||
}
|
}
|
||||||
// W *= T or T^T.
|
// W *= T or Tᵀ.
|
||||||
bi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,
|
bi.Dtrmm(blas.Right, blas.Lower, trans, blas.NonUnit, m, k,
|
||||||
1, t, ldt,
|
1, t, ldt,
|
||||||
work, ldwork)
|
work, ldwork)
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfg.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfg.go
generated
vendored
@@ -14,9 +14,9 @@ import (
|
|||||||
// a real elementary reflector of order n such that
|
// a real elementary reflector of order n such that
|
||||||
// H * (alpha) = (beta)
|
// H * (alpha) = (beta)
|
||||||
// ( x) ( 0)
|
// ( x) ( 0)
|
||||||
// H^T * H = I
|
// Hᵀ * H = I
|
||||||
// H is represented in the form
|
// H is represented in the form
|
||||||
// H = 1 - tau * (1; v) * (1 v^T)
|
// H = 1 - tau * (1; v) * (1 vᵀ)
|
||||||
// where tau is a real scalar.
|
// where tau is a real scalar.
|
||||||
//
|
//
|
||||||
// On entry, x contains the vector x, on exit it contains v.
|
// On entry, x contains the vector x, on exit it contains v.
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlarft.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dlarft.go
generated
vendored
@@ -12,8 +12,8 @@ import (
|
|||||||
|
|
||||||
// Dlarft forms the triangular factor T of a block reflector H, storing the answer
|
// Dlarft forms the triangular factor T of a block reflector H, storing the answer
|
||||||
// in t.
|
// in t.
|
||||||
// H = I - V * T * V^T if store == lapack.ColumnWise
|
// H = I - V * T * Vᵀ if store == lapack.ColumnWise
|
||||||
// H = I - V^T * T * V if store == lapack.RowWise
|
// H = I - Vᵀ * T * V if store == lapack.RowWise
|
||||||
// H is defined by a product of the elementary reflectors where
|
// H is defined by a product of the elementary reflectors where
|
||||||
// H = H_0 * H_1 * ... * H_{k-1} if direct == lapack.Forward
|
// H = H_0 * H_1 * ... * H_{k-1} if direct == lapack.Forward
|
||||||
// H = H_{k-1} * ... * H_1 * H_0 if direct == lapack.Backward
|
// H = H_{k-1} * ... * H_1 * H_0 if direct == lapack.Backward
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfx.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlarfx.go
generated
vendored
@@ -11,7 +11,7 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// than 11.
|
// than 11.
|
||||||
//
|
//
|
||||||
// H is represented in the form
|
// H is represented in the form
|
||||||
// H = I - tau * v * v^T,
|
// H = I - tau * v * vᵀ,
|
||||||
// where tau is a real scalar and v is a real vector. If tau = 0, then H is
|
// where tau is a real scalar and v is a real vector. If tau = 0, then H is
|
||||||
// taken to be the identity matrix.
|
// taken to be the identity matrix.
|
||||||
//
|
//
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlasr.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlasr.go
generated
vendored
@@ -12,7 +12,7 @@ import (
|
|||||||
// Dlasr applies a sequence of plane rotations to the m×n matrix A. This series
|
// Dlasr applies a sequence of plane rotations to the m×n matrix A. This series
|
||||||
// of plane rotations is implicitly represented by a matrix P. P is multiplied
|
// of plane rotations is implicitly represented by a matrix P. P is multiplied
|
||||||
// by a depending on the value of side -- A = P * A if side == lapack.Left,
|
// by a depending on the value of side -- A = P * A if side == lapack.Left,
|
||||||
// A = A * P^T if side == lapack.Right.
|
// A = A * Pᵀ if side == lapack.Right.
|
||||||
//
|
//
|
||||||
// The exact value of P depends on the value of pivot, but in all cases P is
|
// The exact value of P depends on the value of pivot, but in all cases P is
|
||||||
// implicitly represented by a series of 2×2 rotation matrices. The entries of
|
// implicitly represented by a series of 2×2 rotation matrices. The entries of
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlasy2.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlasy2.go
generated
vendored
@@ -12,10 +12,10 @@ import (
|
|||||||
|
|
||||||
// Dlasy2 solves the Sylvester matrix equation where the matrices are of order 1
|
// Dlasy2 solves the Sylvester matrix equation where the matrices are of order 1
|
||||||
// or 2. It computes the unknown n1×n2 matrix X so that
|
// or 2. It computes the unknown n1×n2 matrix X so that
|
||||||
// TL*X + sgn*X*TR = scale*B, if tranl == false and tranr == false,
|
// TL*X + sgn*X*TR = scale*B if tranl == false and tranr == false,
|
||||||
// TL^T*X + sgn*X*TR = scale*B, if tranl == true and tranr == false,
|
// TLᵀ*X + sgn*X*TR = scale*B if tranl == true and tranr == false,
|
||||||
// TL*X + sgn*X*TR^T = scale*B, if tranl == false and tranr == true,
|
// TL*X + sgn*X*TRᵀ = scale*B if tranl == false and tranr == true,
|
||||||
// TL^T*X + sgn*X*TR^T = scale*B, if tranl == true and tranr == true,
|
// TLᵀ*X + sgn*X*TRᵀ = scale*B if tranl == true and tranr == true,
|
||||||
// where TL is n1×n1, TR is n2×n2, B is n1×n2, and 1 <= n1,n2 <= 2.
|
// where TL is n1×n1, TR is n2×n2, B is n1×n2, and 1 <= n1,n2 <= 2.
|
||||||
//
|
//
|
||||||
// isgn must be 1 or -1, and n1 and n2 must be 0, 1, or 2, but these conditions
|
// isgn must be 1 or -1, and n1 and n2 must be 0, 1, or 2, but these conditions
|
||||||
|
|||||||
452
vendor/gonum.org/v1/gonum/lapack/gonum/dlatbs.go
generated
vendored
Normal file
452
vendor/gonum.org/v1/gonum/lapack/gonum/dlatbs.go
generated
vendored
Normal file
@@ -0,0 +1,452 @@
|
|||||||
|
// Copyright ©2019 The Gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package gonum
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
|
||||||
|
"gonum.org/v1/gonum/blas"
|
||||||
|
"gonum.org/v1/gonum/blas/blas64"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Dlatbs solves a triangular banded system of equations
|
||||||
|
// A * x = s*b if trans == blas.NoTrans
|
||||||
|
// Aᵀ * x = s*b if trans == blas.Trans or blas.ConjTrans
|
||||||
|
// where A is an upper or lower triangular band matrix, x and b are n-element
|
||||||
|
// vectors, and s is a scaling factor chosen so that the components of x will be
|
||||||
|
// less than the overflow threshold.
|
||||||
|
//
|
||||||
|
// On entry, x contains the right-hand side b of the triangular system.
|
||||||
|
// On return, x is overwritten by the solution vector x.
|
||||||
|
//
|
||||||
|
// normin specifies whether the cnorm parameter contains the column norms of A on
|
||||||
|
// entry. If it is true, cnorm[j] contains the norm of the off-diagonal part of
|
||||||
|
// the j-th column of A. If it is false, the norms will be computed and stored
|
||||||
|
// in cnorm.
|
||||||
|
//
|
||||||
|
// Dlatbs returns the scaling factor s for the triangular system. If the matrix
|
||||||
|
// A is singular (A[j,j]==0 for some j), then scale is set to 0 and a
|
||||||
|
// non-trivial solution to A*x = 0 is returned.
|
||||||
|
//
|
||||||
|
// Dlatbs is an internal routine. It is exported for testing purposes.
|
||||||
|
func (Implementation) Dlatbs(uplo blas.Uplo, trans blas.Transpose, diag blas.Diag, normin bool, n, kd int, ab []float64, ldab int, x, cnorm []float64) (scale float64) {
|
||||||
|
noTran := trans == blas.NoTrans
|
||||||
|
switch {
|
||||||
|
case uplo != blas.Upper && uplo != blas.Lower:
|
||||||
|
panic(badUplo)
|
||||||
|
case !noTran && trans != blas.Trans && trans != blas.ConjTrans:
|
||||||
|
panic(badTrans)
|
||||||
|
case diag != blas.NonUnit && diag != blas.Unit:
|
||||||
|
panic(badDiag)
|
||||||
|
case n < 0:
|
||||||
|
panic(nLT0)
|
||||||
|
case kd < 0:
|
||||||
|
panic(kdLT0)
|
||||||
|
case ldab < kd+1:
|
||||||
|
panic(badLdA)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
|
if n == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case len(ab) < (n-1)*ldab+kd+1:
|
||||||
|
panic(shortAB)
|
||||||
|
case len(x) < n:
|
||||||
|
panic(shortX)
|
||||||
|
case len(cnorm) < n:
|
||||||
|
panic(shortCNorm)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parameters to control overflow.
|
||||||
|
smlnum := dlamchS / dlamchP
|
||||||
|
bignum := 1 / smlnum
|
||||||
|
|
||||||
|
bi := blas64.Implementation()
|
||||||
|
kld := max(1, ldab-1)
|
||||||
|
if !normin {
|
||||||
|
// Compute the 1-norm of each column, not including the diagonal.
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
for j := 0; j < n; j++ {
|
||||||
|
jlen := min(j, kd)
|
||||||
|
if jlen > 0 {
|
||||||
|
cnorm[j] = bi.Dasum(jlen, ab[(j-jlen)*ldab+jlen:], kld)
|
||||||
|
} else {
|
||||||
|
cnorm[j] = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for j := 0; j < n; j++ {
|
||||||
|
jlen := min(n-j-1, kd)
|
||||||
|
if jlen > 0 {
|
||||||
|
cnorm[j] = bi.Dasum(jlen, ab[(j+1)*ldab+kd-1:], kld)
|
||||||
|
} else {
|
||||||
|
cnorm[j] = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set up indices and increments for loops below.
|
||||||
|
var (
|
||||||
|
jFirst, jLast, jInc int
|
||||||
|
maind int
|
||||||
|
)
|
||||||
|
if noTran {
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
jFirst = n - 1
|
||||||
|
jLast = -1
|
||||||
|
jInc = -1
|
||||||
|
maind = 0
|
||||||
|
} else {
|
||||||
|
jFirst = 0
|
||||||
|
jLast = n
|
||||||
|
jInc = 1
|
||||||
|
maind = kd
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
jFirst = 0
|
||||||
|
jLast = n
|
||||||
|
jInc = 1
|
||||||
|
maind = 0
|
||||||
|
} else {
|
||||||
|
jFirst = n - 1
|
||||||
|
jLast = -1
|
||||||
|
jInc = -1
|
||||||
|
maind = kd
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scale the column norms by tscal if the maximum element in cnorm is
|
||||||
|
// greater than bignum.
|
||||||
|
tmax := cnorm[bi.Idamax(n, cnorm, 1)]
|
||||||
|
tscal := 1.0
|
||||||
|
if tmax > bignum {
|
||||||
|
tscal = 1 / (smlnum * tmax)
|
||||||
|
bi.Dscal(n, tscal, cnorm, 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compute a bound on the computed solution vector to see if the Level 2
|
||||||
|
// BLAS routine Dtbsv can be used.
|
||||||
|
|
||||||
|
xMax := math.Abs(x[bi.Idamax(n, x, 1)])
|
||||||
|
xBnd := xMax
|
||||||
|
grow := 0.0
|
||||||
|
// Compute the growth only if the maximum element in cnorm is NOT greater
|
||||||
|
// than bignum.
|
||||||
|
if tscal != 1 {
|
||||||
|
goto skipComputeGrow
|
||||||
|
}
|
||||||
|
if noTran {
|
||||||
|
// Compute the growth in A * x = b.
|
||||||
|
if diag == blas.NonUnit {
|
||||||
|
// A is non-unit triangular.
|
||||||
|
//
|
||||||
|
// Compute grow = 1/G_j and xBnd = 1/M_j.
|
||||||
|
// Initially, G_0 = max{x(i), i=1,...,n}.
|
||||||
|
grow = 1 / math.Max(xBnd, smlnum)
|
||||||
|
xBnd = grow
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
if grow <= smlnum {
|
||||||
|
// Exit the loop because the growth factor is too small.
|
||||||
|
goto skipComputeGrow
|
||||||
|
}
|
||||||
|
// M_j = G_{j-1} / abs(A[j,j])
|
||||||
|
tjj := math.Abs(ab[j*ldab+maind])
|
||||||
|
xBnd = math.Min(xBnd, math.Min(1, tjj)*grow)
|
||||||
|
if tjj+cnorm[j] >= smlnum {
|
||||||
|
// G_j = G_{j-1}*( 1 + cnorm[j] / abs(A[j,j]) )
|
||||||
|
grow *= tjj / (tjj + cnorm[j])
|
||||||
|
} else {
|
||||||
|
// G_j could overflow, set grow to 0.
|
||||||
|
grow = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
grow = xBnd
|
||||||
|
} else {
|
||||||
|
// A is unit triangular.
|
||||||
|
//
|
||||||
|
// Compute grow = 1/G_j, where G_0 = max{x(i), i=1,...,n}.
|
||||||
|
grow = math.Min(1, 1/math.Max(xBnd, smlnum))
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
if grow <= smlnum {
|
||||||
|
// Exit the loop because the growth factor is too small.
|
||||||
|
goto skipComputeGrow
|
||||||
|
}
|
||||||
|
// G_j = G_{j-1}*( 1 + cnorm[j] )
|
||||||
|
grow /= 1 + cnorm[j]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Compute the growth in Aᵀ * x = b.
|
||||||
|
if diag == blas.NonUnit {
|
||||||
|
// A is non-unit triangular.
|
||||||
|
//
|
||||||
|
// Compute grow = 1/G_j and xBnd = 1/M_j.
|
||||||
|
// Initially, G_0 = max{x(i), i=1,...,n}.
|
||||||
|
grow = 1 / math.Max(xBnd, smlnum)
|
||||||
|
xBnd = grow
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
if grow <= smlnum {
|
||||||
|
// Exit the loop because the growth factor is too small.
|
||||||
|
goto skipComputeGrow
|
||||||
|
}
|
||||||
|
// G_j = max( G_{j-1}, M_{j-1}*( 1 + cnorm[j] ) )
|
||||||
|
xj := 1 + cnorm[j]
|
||||||
|
grow = math.Min(grow, xBnd/xj)
|
||||||
|
// M_j = M_{j-1}*( 1 + cnorm[j] ) / abs(A[j,j])
|
||||||
|
tjj := math.Abs(ab[j*ldab+maind])
|
||||||
|
if xj > tjj {
|
||||||
|
xBnd *= tjj / xj
|
||||||
|
}
|
||||||
|
}
|
||||||
|
grow = math.Min(grow, xBnd)
|
||||||
|
} else {
|
||||||
|
// A is unit triangular.
|
||||||
|
//
|
||||||
|
// Compute grow = 1/G_j, where G_0 = max{x(i), i=1,...,n}.
|
||||||
|
grow = math.Min(1, 1/math.Max(xBnd, smlnum))
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
if grow <= smlnum {
|
||||||
|
// Exit the loop because the growth factor is too small.
|
||||||
|
goto skipComputeGrow
|
||||||
|
}
|
||||||
|
// G_j = G_{j-1}*( 1 + cnorm[j] )
|
||||||
|
grow /= 1 + cnorm[j]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
skipComputeGrow:
|
||||||
|
|
||||||
|
if grow*tscal > smlnum {
|
||||||
|
// The reciprocal of the bound on elements of X is not too small, use
|
||||||
|
// the Level 2 BLAS solve.
|
||||||
|
bi.Dtbsv(uplo, trans, diag, n, kd, ab, ldab, x, 1)
|
||||||
|
// Scale the column norms by 1/tscal for return.
|
||||||
|
if tscal != 1 {
|
||||||
|
bi.Dscal(n, 1/tscal, cnorm, 1)
|
||||||
|
}
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use a Level 1 BLAS solve, scaling intermediate results.
|
||||||
|
|
||||||
|
scale = 1
|
||||||
|
if xMax > bignum {
|
||||||
|
// Scale x so that its components are less than or equal to bignum in
|
||||||
|
// absolute value.
|
||||||
|
scale = bignum / xMax
|
||||||
|
bi.Dscal(n, scale, x, 1)
|
||||||
|
xMax = bignum
|
||||||
|
}
|
||||||
|
|
||||||
|
if noTran {
|
||||||
|
// Solve A * x = b.
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
// Compute x[j] = b[j] / A[j,j], scaling x if necessary.
|
||||||
|
xj := math.Abs(x[j])
|
||||||
|
tjjs := tscal
|
||||||
|
if diag == blas.NonUnit {
|
||||||
|
tjjs *= ab[j*ldab+maind]
|
||||||
|
}
|
||||||
|
tjj := math.Abs(tjjs)
|
||||||
|
switch {
|
||||||
|
case tjj > smlnum:
|
||||||
|
// smlnum < abs(A[j,j])
|
||||||
|
if tjj < 1 && xj > tjj*bignum {
|
||||||
|
// Scale x by 1/b[j].
|
||||||
|
rec := 1 / xj
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
xMax *= rec
|
||||||
|
}
|
||||||
|
x[j] /= tjjs
|
||||||
|
xj = math.Abs(x[j])
|
||||||
|
case tjj > 0:
|
||||||
|
// 0 < abs(A[j,j]) <= smlnum
|
||||||
|
if xj > tjj*bignum {
|
||||||
|
// Scale x by (1/abs(x[j]))*abs(A[j,j])*bignum to avoid
|
||||||
|
// overflow when dividing by A[j,j].
|
||||||
|
rec := tjj * bignum / xj
|
||||||
|
if cnorm[j] > 1 {
|
||||||
|
// Scale by 1/cnorm[j] to avoid overflow when
|
||||||
|
// multiplying x[j] times column j.
|
||||||
|
rec /= cnorm[j]
|
||||||
|
}
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
xMax *= rec
|
||||||
|
}
|
||||||
|
x[j] /= tjjs
|
||||||
|
xj = math.Abs(x[j])
|
||||||
|
default:
|
||||||
|
// A[j,j] == 0: Set x[0:n] = 0, x[j] = 1, and scale = 0, and
|
||||||
|
// compute a solution to A*x = 0.
|
||||||
|
for i := range x[:n] {
|
||||||
|
x[i] = 0
|
||||||
|
}
|
||||||
|
x[j] = 1
|
||||||
|
xj = 1
|
||||||
|
scale = 0
|
||||||
|
xMax = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scale x if necessary to avoid overflow when adding a multiple of
|
||||||
|
// column j of A.
|
||||||
|
switch {
|
||||||
|
case xj > 1:
|
||||||
|
rec := 1 / xj
|
||||||
|
if cnorm[j] > (bignum-xMax)*rec {
|
||||||
|
// Scale x by 1/(2*abs(x[j])).
|
||||||
|
rec *= 0.5
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
}
|
||||||
|
case xj*cnorm[j] > bignum-xMax:
|
||||||
|
// Scale x by 1/2.
|
||||||
|
bi.Dscal(n, 0.5, x, 1)
|
||||||
|
scale *= 0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
if j > 0 {
|
||||||
|
// Compute the update
|
||||||
|
// x[max(0,j-kd):j] := x[max(0,j-kd):j] - x[j] * A[max(0,j-kd):j,j]
|
||||||
|
jlen := min(j, kd)
|
||||||
|
if jlen > 0 {
|
||||||
|
bi.Daxpy(jlen, -x[j]*tscal, ab[(j-jlen)*ldab+jlen:], kld, x[j-jlen:], 1)
|
||||||
|
}
|
||||||
|
i := bi.Idamax(j, x, 1)
|
||||||
|
xMax = math.Abs(x[i])
|
||||||
|
}
|
||||||
|
} else if j < n-1 {
|
||||||
|
// Compute the update
|
||||||
|
// x[j+1:min(j+kd,n)] := x[j+1:min(j+kd,n)] - x[j] * A[j+1:min(j+kd,n),j]
|
||||||
|
jlen := min(kd, n-j-1)
|
||||||
|
if jlen > 0 {
|
||||||
|
bi.Daxpy(jlen, -x[j]*tscal, ab[(j+1)*ldab+kd-1:], kld, x[j+1:], 1)
|
||||||
|
}
|
||||||
|
i := j + 1 + bi.Idamax(n-j-1, x[j+1:], 1)
|
||||||
|
xMax = math.Abs(x[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Solve Aᵀ * x = b.
|
||||||
|
for j := jFirst; j != jLast; j += jInc {
|
||||||
|
// Compute x[j] = b[j] - sum A[k,j]*x[k].
|
||||||
|
// k!=j
|
||||||
|
xj := math.Abs(x[j])
|
||||||
|
tjjs := tscal
|
||||||
|
if diag == blas.NonUnit {
|
||||||
|
tjjs *= ab[j*ldab+maind]
|
||||||
|
}
|
||||||
|
tjj := math.Abs(tjjs)
|
||||||
|
rec := 1 / math.Max(1, xMax)
|
||||||
|
uscal := tscal
|
||||||
|
if cnorm[j] > (bignum-xj)*rec {
|
||||||
|
// If x[j] could overflow, scale x by 1/(2*xMax).
|
||||||
|
rec *= 0.5
|
||||||
|
if tjj > 1 {
|
||||||
|
// Divide by A[j,j] when scaling x if A[j,j] > 1.
|
||||||
|
rec = math.Min(1, rec*tjj)
|
||||||
|
uscal /= tjjs
|
||||||
|
}
|
||||||
|
if rec < 1 {
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
xMax *= rec
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var sumj float64
|
||||||
|
if uscal == 1 {
|
||||||
|
// If the scaling needed for A in the dot product is 1, call
|
||||||
|
// Ddot to perform the dot product...
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
jlen := min(j, kd)
|
||||||
|
if jlen > 0 {
|
||||||
|
sumj = bi.Ddot(jlen, ab[(j-jlen)*ldab+jlen:], kld, x[j-jlen:], 1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jlen := min(n-j-1, kd)
|
||||||
|
if jlen > 0 {
|
||||||
|
sumj = bi.Ddot(jlen, ab[(j+1)*ldab+kd-1:], kld, x[j+1:], 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// ...otherwise, use in-line code for the dot product.
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
jlen := min(j, kd)
|
||||||
|
for i := 0; i < jlen; i++ {
|
||||||
|
sumj += (ab[(j-jlen+i)*ldab+jlen-i] * uscal) * x[j-jlen+i]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jlen := min(n-j-1, kd)
|
||||||
|
for i := 0; i < jlen; i++ {
|
||||||
|
sumj += (ab[(j+1+i)*ldab+kd-1-i] * uscal) * x[j+i+1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if uscal == tscal {
|
||||||
|
// Compute x[j] := ( x[j] - sumj ) / A[j,j]
|
||||||
|
// if 1/A[j,j] was not used to scale the dot product.
|
||||||
|
x[j] -= sumj
|
||||||
|
xj = math.Abs(x[j])
|
||||||
|
// Compute x[j] = x[j] / A[j,j], scaling if necessary.
|
||||||
|
// Note: the reference implementation skips this step for blas.Unit matrices
|
||||||
|
// when tscal is equal to 1 but it complicates the logic and only saves
|
||||||
|
// the comparison and division in the first switch-case. Not skipping it
|
||||||
|
// is also consistent with the NoTrans case above.
|
||||||
|
switch {
|
||||||
|
case tjj > smlnum:
|
||||||
|
// smlnum < abs(A[j,j]):
|
||||||
|
if tjj < 1 && xj > tjj*bignum {
|
||||||
|
// Scale x by 1/abs(x[j]).
|
||||||
|
rec := 1 / xj
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
xMax *= rec
|
||||||
|
}
|
||||||
|
x[j] /= tjjs
|
||||||
|
case tjj > 0:
|
||||||
|
// 0 < abs(A[j,j]) <= smlnum:
|
||||||
|
if xj > tjj*bignum {
|
||||||
|
// Scale x by (1/abs(x[j]))*abs(A[j,j])*bignum.
|
||||||
|
rec := (tjj * bignum) / xj
|
||||||
|
bi.Dscal(n, rec, x, 1)
|
||||||
|
scale *= rec
|
||||||
|
xMax *= rec
|
||||||
|
}
|
||||||
|
x[j] /= tjjs
|
||||||
|
default:
|
||||||
|
// A[j,j] == 0: Set x[0:n] = 0, x[j] = 1, and scale = 0, and
|
||||||
|
// compute a solution Aᵀ * x = 0.
|
||||||
|
for i := range x[:n] {
|
||||||
|
x[i] = 0
|
||||||
|
}
|
||||||
|
x[j] = 1
|
||||||
|
scale = 0
|
||||||
|
xMax = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Compute x[j] := x[j] / A[j,j] - sumj
|
||||||
|
// if the dot product has already been divided by 1/A[j,j].
|
||||||
|
x[j] = x[j]/tjjs - sumj
|
||||||
|
}
|
||||||
|
xMax = math.Max(xMax, math.Abs(x[j]))
|
||||||
|
}
|
||||||
|
scale /= tscal
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scale the column norms by 1/tscal for return.
|
||||||
|
if tscal != 1 {
|
||||||
|
bi.Dscal(n, 1/tscal, cnorm, 1)
|
||||||
|
}
|
||||||
|
return scale
|
||||||
|
}
|
||||||
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlatrd.go
generated
vendored
6
vendor/gonum.org/v1/gonum/lapack/gonum/dlatrd.go
generated
vendored
@@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
// Dlatrd reduces nb rows and columns of a real n×n symmetric matrix A to symmetric
|
// Dlatrd reduces nb rows and columns of a real n×n symmetric matrix A to symmetric
|
||||||
// tridiagonal form. It computes the orthonormal similarity transformation
|
// tridiagonal form. It computes the orthonormal similarity transformation
|
||||||
// Q^T * A * Q
|
// Qᵀ * A * Q
|
||||||
// and returns the matrices V and W to apply to the unreduced part of A. If
|
// and returns the matrices V and W to apply to the unreduced part of A. If
|
||||||
// uplo == blas.Upper, the upper triangle is supplied and the last nb rows are
|
// uplo == blas.Upper, the upper triangle is supplied and the last nb rows are
|
||||||
// reduced. If uplo == blas.Lower, the lower triangle is supplied and the first
|
// reduced. If uplo == blas.Lower, the lower triangle is supplied and the first
|
||||||
@@ -51,7 +51,7 @@ import (
|
|||||||
//
|
//
|
||||||
// The matrix Q is represented as a product of elementary reflectors. Each reflector
|
// The matrix Q is represented as a product of elementary reflectors. Each reflector
|
||||||
// H has the form
|
// H has the form
|
||||||
// I - tau * v * v^T
|
// I - tau * v * vᵀ
|
||||||
// If uplo == blas.Upper,
|
// If uplo == blas.Upper,
|
||||||
// Q = H_{n-1} * H_{n-2} * ... * H_{n-nb}
|
// Q = H_{n-1} * H_{n-2} * ... * H_{n-nb}
|
||||||
// where v[:i-1] is stored in A[:i-1,i], v[i-1] = 1, and v[i:n] = 0.
|
// where v[:i-1] is stored in A[:i-1,i], v[i-1] = 1, and v[i:n] = 0.
|
||||||
@@ -62,7 +62,7 @@ import (
|
|||||||
//
|
//
|
||||||
// The vectors v form the n×nb matrix V which is used with W to apply a
|
// The vectors v form the n×nb matrix V which is used with W to apply a
|
||||||
// symmetric rank-2 update to the unreduced part of A
|
// symmetric rank-2 update to the unreduced part of A
|
||||||
// A = A - V * W^T - W * V^T
|
// A = A - V * Wᵀ - W * Vᵀ
|
||||||
//
|
//
|
||||||
// Dlatrd is an internal routine. It is exported for testing purposes.
|
// Dlatrd is an internal routine. It is exported for testing purposes.
|
||||||
func (impl Implementation) Dlatrd(uplo blas.Uplo, n, nb int, a []float64, lda int, e, tau, w []float64, ldw int) {
|
func (impl Implementation) Dlatrd(uplo blas.Uplo, n, nb int, a []float64, lda int, e, tau, w []float64, ldw int) {
|
||||||
|
|||||||
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlatrs.go
generated
vendored
2
vendor/gonum.org/v1/gonum/lapack/gonum/dlatrs.go
generated
vendored
@@ -14,7 +14,7 @@ import (
|
|||||||
// Dlatrs solves a triangular system of equations scaled to prevent overflow. It
|
// Dlatrs solves a triangular system of equations scaled to prevent overflow. It
|
||||||
// solves
|
// solves
|
||||||
// A * x = scale * b if trans == blas.NoTrans
|
// A * x = scale * b if trans == blas.NoTrans
|
||||||
// A^T * x = scale * b if trans == blas.Trans
|
// Aᵀ * x = scale * b if trans == blas.Trans
|
||||||
// where the scale s is set for numeric stability.
|
// where the scale s is set for numeric stability.
|
||||||
//
|
//
|
||||||
// A is an n×n triangular matrix. On entry, the slice x contains the values of
|
// A is an n×n triangular matrix. On entry, the slice x contains the values of
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlauu2.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlauu2.go
generated
vendored
@@ -10,8 +10,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dlauu2 computes the product
|
// Dlauu2 computes the product
|
||||||
// U * U^T if uplo is blas.Upper
|
// U * Uᵀ if uplo is blas.Upper
|
||||||
// L^T * L if uplo is blas.Lower
|
// Lᵀ * L if uplo is blas.Lower
|
||||||
// where U or L is stored in the upper or lower triangular part of A.
|
// where U or L is stored in the upper or lower triangular part of A.
|
||||||
// Only the upper or lower triangle of the result is stored, overwriting
|
// Only the upper or lower triangle of the result is stored, overwriting
|
||||||
// the corresponding factor in A.
|
// the corresponding factor in A.
|
||||||
@@ -37,7 +37,7 @@ func (impl Implementation) Dlauu2(uplo blas.Uplo, n int, a []float64, lda int) {
|
|||||||
bi := blas64.Implementation()
|
bi := blas64.Implementation()
|
||||||
|
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// Compute the product U*U^T.
|
// Compute the product U*Uᵀ.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
aii := a[i*lda+i]
|
aii := a[i*lda+i]
|
||||||
if i < n-1 {
|
if i < n-1 {
|
||||||
@@ -49,7 +49,7 @@ func (impl Implementation) Dlauu2(uplo blas.Uplo, n int, a []float64, lda int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Compute the product L^T*L.
|
// Compute the product Lᵀ*L.
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
aii := a[i*lda+i]
|
aii := a[i*lda+i]
|
||||||
if i < n-1 {
|
if i < n-1 {
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlauum.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dlauum.go
generated
vendored
@@ -10,8 +10,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dlauum computes the product
|
// Dlauum computes the product
|
||||||
// U * U^T if uplo is blas.Upper
|
// U * Uᵀ if uplo is blas.Upper
|
||||||
// L^T * L if uplo is blas.Lower
|
// Lᵀ * L if uplo is blas.Lower
|
||||||
// where U or L is stored in the upper or lower triangular part of A.
|
// where U or L is stored in the upper or lower triangular part of A.
|
||||||
// Only the upper or lower triangle of the result is stored, overwriting
|
// Only the upper or lower triangle of the result is stored, overwriting
|
||||||
// the corresponding factor in A.
|
// the corresponding factor in A.
|
||||||
@@ -50,7 +50,7 @@ func (impl Implementation) Dlauum(uplo blas.Uplo, n int, a []float64, lda int) {
|
|||||||
// Use blocked code.
|
// Use blocked code.
|
||||||
bi := blas64.Implementation()
|
bi := blas64.Implementation()
|
||||||
if uplo == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
// Compute the product U*U^T.
|
// Compute the product U*Uᵀ.
|
||||||
for i := 0; i < n; i += nb {
|
for i := 0; i < n; i += nb {
|
||||||
ib := min(nb, n-i)
|
ib := min(nb, n-i)
|
||||||
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.NonUnit,
|
bi.Dtrmm(blas.Right, blas.Upper, blas.Trans, blas.NonUnit,
|
||||||
@@ -64,7 +64,7 @@ func (impl Implementation) Dlauum(uplo blas.Uplo, n int, a []float64, lda int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Compute the product L^T*L.
|
// Compute the product Lᵀ*L.
|
||||||
for i := 0; i < n; i += nb {
|
for i := 0; i < n; i += nb {
|
||||||
ib := min(nb, n-i)
|
ib := min(nb, n-i)
|
||||||
bi.Dtrmm(blas.Left, blas.Lower, blas.Trans, blas.NonUnit,
|
bi.Dtrmm(blas.Left, blas.Lower, blas.Trans, blas.NonUnit,
|
||||||
|
|||||||
12
vendor/gonum.org/v1/gonum/lapack/gonum/dorgbr.go
generated
vendored
12
vendor/gonum.org/v1/gonum/lapack/gonum/dorgbr.go
generated
vendored
@@ -6,17 +6,17 @@ package gonum
|
|||||||
|
|
||||||
import "gonum.org/v1/gonum/lapack"
|
import "gonum.org/v1/gonum/lapack"
|
||||||
|
|
||||||
// Dorgbr generates one of the matrices Q or P^T computed by Dgebrd
|
// Dorgbr generates one of the matrices Q or Pᵀ computed by Dgebrd
|
||||||
// computed from the decomposition Dgebrd. See Dgebd2 for the description of
|
// computed from the decomposition Dgebrd. See Dgebd2 for the description of
|
||||||
// Q and P^T.
|
// Q and Pᵀ.
|
||||||
//
|
//
|
||||||
// If vect == lapack.GenerateQ, then a is assumed to have been an m×k matrix and
|
// If vect == lapack.GenerateQ, then a is assumed to have been an m×k matrix and
|
||||||
// Q is of order m. If m >= k, then Dorgbr returns the first n columns of Q
|
// Q is of order m. If m >= k, then Dorgbr returns the first n columns of Q
|
||||||
// where m >= n >= k. If m < k, then Dorgbr returns Q as an m×m matrix.
|
// where m >= n >= k. If m < k, then Dorgbr returns Q as an m×m matrix.
|
||||||
//
|
//
|
||||||
// If vect == lapack.GeneratePT, then A is assumed to have been a k×n matrix, and
|
// If vect == lapack.GeneratePT, then A is assumed to have been a k×n matrix, and
|
||||||
// P^T is of order n. If k < n, then Dorgbr returns the first m rows of P^T,
|
// Pᵀ is of order n. If k < n, then Dorgbr returns the first m rows of Pᵀ,
|
||||||
// where n >= m >= k. If k >= n, then Dorgbr returns P^T as an n×n matrix.
|
// where n >= m >= k. If k >= n, then Dorgbr returns Pᵀ as an n×n matrix.
|
||||||
//
|
//
|
||||||
// Dorgbr is an internal routine. It is exported for testing purposes.
|
// Dorgbr is an internal routine. It is exported for testing purposes.
|
||||||
func (impl Implementation) Dorgbr(vect lapack.GenOrtho, m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {
|
func (impl Implementation) Dorgbr(vect lapack.GenOrtho, m, n, k int, a []float64, lda int, tau, work []float64, lwork int) {
|
||||||
@@ -112,12 +112,12 @@ func (impl Implementation) Dorgbr(vect lapack.GenOrtho, m, n, k int, a []float64
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Form P^T, determined by a call to Dgebrd to reduce a k×n matrix.
|
// Form Pᵀ, determined by a call to Dgebrd to reduce a k×n matrix.
|
||||||
if k < n {
|
if k < n {
|
||||||
impl.Dorglq(m, n, k, a, lda, tau, work, lwork)
|
impl.Dorglq(m, n, k, a, lda, tau, work, lwork)
|
||||||
} else {
|
} else {
|
||||||
// Shift the vectors which define the elementary reflectors one
|
// Shift the vectors which define the elementary reflectors one
|
||||||
// row downward, and set the first row and column of P^T to
|
// row downward, and set the first row and column of Pᵀ to
|
||||||
// those of the unit matrix.
|
// those of the unit matrix.
|
||||||
a[0] = 1
|
a[0] = 1
|
||||||
for i := 1; i < n; i++ {
|
for i := 1; i < n; i++ {
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorghr.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorghr.go
generated
vendored
@@ -15,8 +15,8 @@ package gonum
|
|||||||
//
|
//
|
||||||
// ilo and ihi must have the same values as in the previous call of Dgehrd. It
|
// ilo and ihi must have the same values as in the previous call of Dgehrd. It
|
||||||
// must hold that
|
// must hold that
|
||||||
// 0 <= ilo <= ihi < n, if n > 0,
|
// 0 <= ilo <= ihi < n if n > 0,
|
||||||
// ilo = 0, ihi = -1, if n == 0.
|
// ilo = 0, ihi = -1 if n == 0.
|
||||||
//
|
//
|
||||||
// tau contains the scalar factors of the elementary reflectors, as returned by
|
// tau contains the scalar factors of the elementary reflectors, as returned by
|
||||||
// Dgehrd. tau must have length n-1.
|
// Dgehrd. tau must have length n-1.
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorm2r.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorm2r.go
generated
vendored
@@ -9,9 +9,9 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// Dorm2r multiplies a general matrix C by an orthogonal matrix from a QR factorization
|
// Dorm2r multiplies a general matrix C by an orthogonal matrix from a QR factorization
|
||||||
// determined by Dgeqrf.
|
// determined by Dgeqrf.
|
||||||
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
||||||
// C = Q^T * C if side == blas.Left and trans == blas.Trans
|
// C = Qᵀ * C if side == blas.Left and trans == blas.Trans
|
||||||
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
||||||
// C = C * Q^T if side == blas.Right and trans == blas.Trans
|
// C = C * Qᵀ if side == blas.Right and trans == blas.Trans
|
||||||
// If side == blas.Left, a is a matrix of size m×k, and if side == blas.Right
|
// If side == blas.Left, a is a matrix of size m×k, and if side == blas.Right
|
||||||
// a is of size n×k.
|
// a is of size n×k.
|
||||||
//
|
//
|
||||||
|
|||||||
10
vendor/gonum.org/v1/gonum/lapack/gonum/dormbr.go
generated
vendored
10
vendor/gonum.org/v1/gonum/lapack/gonum/dormbr.go
generated
vendored
@@ -15,15 +15,15 @@ import (
|
|||||||
// Dormbr overwrites the m×n matrix C with
|
// Dormbr overwrites the m×n matrix C with
|
||||||
// Q * C if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.NoTrans
|
// Q * C if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.NoTrans
|
||||||
// C * Q if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.NoTrans
|
// C * Q if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.NoTrans
|
||||||
// Q^T * C if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.Trans
|
// Qᵀ * C if vect == lapack.ApplyQ, side == blas.Left, and trans == blas.Trans
|
||||||
// C * Q^T if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.Trans
|
// C * Qᵀ if vect == lapack.ApplyQ, side == blas.Right, and trans == blas.Trans
|
||||||
//
|
//
|
||||||
// P * C if vect == lapack.ApplyP, side == blas.Left, and trans == blas.NoTrans
|
// P * C if vect == lapack.ApplyP, side == blas.Left, and trans == blas.NoTrans
|
||||||
// C * P if vect == lapack.ApplyP, side == blas.Right, and trans == blas.NoTrans
|
// C * P if vect == lapack.ApplyP, side == blas.Right, and trans == blas.NoTrans
|
||||||
// P^T * C if vect == lapack.ApplyP, side == blas.Left, and trans == blas.Trans
|
// Pᵀ * C if vect == lapack.ApplyP, side == blas.Left, and trans == blas.Trans
|
||||||
// C * P^T if vect == lapack.ApplyP, side == blas.Right, and trans == blas.Trans
|
// C * Pᵀ if vect == lapack.ApplyP, side == blas.Right, and trans == blas.Trans
|
||||||
// where P and Q are the orthogonal matrices determined by Dgebrd when reducing
|
// where P and Q are the orthogonal matrices determined by Dgebrd when reducing
|
||||||
// a matrix A to bidiagonal form: A = Q * B * P^T. See Dgebrd for the
|
// a matrix A to bidiagonal form: A = Q * B * Pᵀ. See Dgebrd for the
|
||||||
// definitions of Q and P.
|
// definitions of Q and P.
|
||||||
//
|
//
|
||||||
// If vect == lapack.ApplyQ, A is assumed to have been an nq×k matrix, while if
|
// If vect == lapack.ApplyQ, A is assumed to have been an nq×k matrix, while if
|
||||||
|
|||||||
16
vendor/gonum.org/v1/gonum/lapack/gonum/dormhr.go
generated
vendored
16
vendor/gonum.org/v1/gonum/lapack/gonum/dormhr.go
generated
vendored
@@ -7,10 +7,10 @@ package gonum
|
|||||||
import "gonum.org/v1/gonum/blas"
|
import "gonum.org/v1/gonum/blas"
|
||||||
|
|
||||||
// Dormhr multiplies an m×n general matrix C with an nq×nq orthogonal matrix Q
|
// Dormhr multiplies an m×n general matrix C with an nq×nq orthogonal matrix Q
|
||||||
// Q * C, if side == blas.Left and trans == blas.NoTrans,
|
// Q * C if side == blas.Left and trans == blas.NoTrans,
|
||||||
// Q^T * C, if side == blas.Left and trans == blas.Trans,
|
// Qᵀ * C if side == blas.Left and trans == blas.Trans,
|
||||||
// C * Q, if side == blas.Right and trans == blas.NoTrans,
|
// C * Q if side == blas.Right and trans == blas.NoTrans,
|
||||||
// C * Q^T, if side == blas.Right and trans == blas.Trans,
|
// C * Qᵀ if side == blas.Right and trans == blas.Trans,
|
||||||
// where nq == m if side == blas.Left and nq == n if side == blas.Right.
|
// where nq == m if side == blas.Left and nq == n if side == blas.Right.
|
||||||
//
|
//
|
||||||
// Q is defined implicitly as the product of ihi-ilo elementary reflectors, as
|
// Q is defined implicitly as the product of ihi-ilo elementary reflectors, as
|
||||||
@@ -21,10 +21,10 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
//
|
//
|
||||||
// ilo and ihi must have the same values as in the previous call of Dgehrd. It
|
// ilo and ihi must have the same values as in the previous call of Dgehrd. It
|
||||||
// must hold that
|
// must hold that
|
||||||
// 0 <= ilo <= ihi < m, if m > 0 and side == blas.Left,
|
// 0 <= ilo <= ihi < m if m > 0 and side == blas.Left,
|
||||||
// ilo = 0 and ihi = -1, if m = 0 and side == blas.Left,
|
// ilo = 0 and ihi = -1 if m = 0 and side == blas.Left,
|
||||||
// 0 <= ilo <= ihi < n, if n > 0 and side == blas.Right,
|
// 0 <= ilo <= ihi < n if n > 0 and side == blas.Right,
|
||||||
// ilo = 0 and ihi = -1, if n = 0 and side == blas.Right.
|
// ilo = 0 and ihi = -1 if n = 0 and side == blas.Right.
|
||||||
//
|
//
|
||||||
// a and lda represent an m×m matrix if side == blas.Left and an n×n matrix if
|
// a and lda represent an m×m matrix if side == blas.Left and an n×n matrix if
|
||||||
// side == blas.Right. The matrix contains vectors which define the elementary
|
// side == blas.Right. The matrix contains vectors which define the elementary
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorml2.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dorml2.go
generated
vendored
@@ -9,9 +9,9 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// Dorml2 multiplies a general matrix C by an orthogonal matrix from an LQ factorization
|
// Dorml2 multiplies a general matrix C by an orthogonal matrix from an LQ factorization
|
||||||
// determined by Dgelqf.
|
// determined by Dgelqf.
|
||||||
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
||||||
// C = Q^T * C if side == blas.Left and trans == blas.Trans
|
// C = Qᵀ * C if side == blas.Left and trans == blas.Trans
|
||||||
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
||||||
// C = C * Q^T if side == blas.Right and trans == blas.Trans
|
// C = C * Qᵀ if side == blas.Right and trans == blas.Trans
|
||||||
// If side == blas.Left, a is a matrix of side k×m, and if side == blas.Right
|
// If side == blas.Left, a is a matrix of side k×m, and if side == blas.Right
|
||||||
// a is of size k×n.
|
// a is of size k×n.
|
||||||
//
|
//
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dormlq.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dormlq.go
generated
vendored
@@ -12,9 +12,9 @@ import (
|
|||||||
// Dormlq multiplies the matrix C by the orthogonal matrix Q defined by the
|
// Dormlq multiplies the matrix C by the orthogonal matrix Q defined by the
|
||||||
// slices a and tau. A and tau are as returned from Dgelqf.
|
// slices a and tau. A and tau are as returned from Dgelqf.
|
||||||
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
||||||
// C = Q^T * C if side == blas.Left and trans == blas.Trans
|
// C = Qᵀ * C if side == blas.Left and trans == blas.Trans
|
||||||
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
||||||
// C = C * Q^T if side == blas.Right and trans == blas.Trans
|
// C = C * Qᵀ if side == blas.Right and trans == blas.Trans
|
||||||
// If side == blas.Left, A is a matrix of side k×m, and if side == blas.Right
|
// If side == blas.Left, A is a matrix of side k×m, and if side == blas.Right
|
||||||
// A is of size k×n. This uses a blocked algorithm.
|
// A is of size k×n. This uses a blocked algorithm.
|
||||||
//
|
//
|
||||||
|
|||||||
8
vendor/gonum.org/v1/gonum/lapack/gonum/dormqr.go
generated
vendored
8
vendor/gonum.org/v1/gonum/lapack/gonum/dormqr.go
generated
vendored
@@ -10,10 +10,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dormqr multiplies an m×n matrix C by an orthogonal matrix Q as
|
// Dormqr multiplies an m×n matrix C by an orthogonal matrix Q as
|
||||||
// C = Q * C, if side == blas.Left and trans == blas.NoTrans,
|
// C = Q * C if side == blas.Left and trans == blas.NoTrans,
|
||||||
// C = Q^T * C, if side == blas.Left and trans == blas.Trans,
|
// C = Qᵀ * C if side == blas.Left and trans == blas.Trans,
|
||||||
// C = C * Q, if side == blas.Right and trans == blas.NoTrans,
|
// C = C * Q if side == blas.Right and trans == blas.NoTrans,
|
||||||
// C = C * Q^T, if side == blas.Right and trans == blas.Trans,
|
// C = C * Qᵀ if side == blas.Right and trans == blas.Trans,
|
||||||
// where Q is defined as the product of k elementary reflectors
|
// where Q is defined as the product of k elementary reflectors
|
||||||
// Q = H_0 * H_1 * ... * H_{k-1}.
|
// Q = H_0 * H_1 * ... * H_{k-1}.
|
||||||
//
|
//
|
||||||
|
|||||||
4
vendor/gonum.org/v1/gonum/lapack/gonum/dormr2.go
generated
vendored
4
vendor/gonum.org/v1/gonum/lapack/gonum/dormr2.go
generated
vendored
@@ -9,9 +9,9 @@ import "gonum.org/v1/gonum/blas"
|
|||||||
// Dormr2 multiplies a general matrix C by an orthogonal matrix from a RQ factorization
|
// Dormr2 multiplies a general matrix C by an orthogonal matrix from a RQ factorization
|
||||||
// determined by Dgerqf.
|
// determined by Dgerqf.
|
||||||
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
// C = Q * C if side == blas.Left and trans == blas.NoTrans
|
||||||
// C = Q^T * C if side == blas.Left and trans == blas.Trans
|
// C = Qᵀ * C if side == blas.Left and trans == blas.Trans
|
||||||
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
// C = C * Q if side == blas.Right and trans == blas.NoTrans
|
||||||
// C = C * Q^T if side == blas.Right and trans == blas.Trans
|
// C = C * Qᵀ if side == blas.Right and trans == blas.Trans
|
||||||
// If side == blas.Left, a is a matrix of size k×m, and if side == blas.Right
|
// If side == blas.Left, a is a matrix of size k×m, and if side == blas.Right
|
||||||
// a is of size k×n.
|
// a is of size k×n.
|
||||||
//
|
//
|
||||||
|
|||||||
108
vendor/gonum.org/v1/gonum/lapack/gonum/dpbcon.go
generated
vendored
Normal file
108
vendor/gonum.org/v1/gonum/lapack/gonum/dpbcon.go
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
// Copyright ©2019 The Gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package gonum
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
|
||||||
|
"gonum.org/v1/gonum/blas"
|
||||||
|
"gonum.org/v1/gonum/blas/blas64"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Dpbcon returns an estimate of the reciprocal of the condition number (in the
|
||||||
|
// 1-norm) of an n×n symmetric positive definite band matrix using the Cholesky
|
||||||
|
// factorization
|
||||||
|
// A = Uᵀ*U if uplo == blas.Upper
|
||||||
|
// A = L*Lᵀ if uplo == blas.Lower
|
||||||
|
// computed by Dpbtrf. The estimate is obtained for norm(inv(A)), and the
|
||||||
|
// reciprocal of the condition number is computed as
|
||||||
|
// rcond = 1 / (anorm * norm(inv(A))).
|
||||||
|
//
|
||||||
|
// The length of work must be at least 3*n and the length of iwork must be at
|
||||||
|
// least n.
|
||||||
|
func (impl Implementation) Dpbcon(uplo blas.Uplo, n, kd int, ab []float64, ldab int, anorm float64, work []float64, iwork []int) (rcond float64) {
|
||||||
|
switch {
|
||||||
|
case uplo != blas.Upper && uplo != blas.Lower:
|
||||||
|
panic(badUplo)
|
||||||
|
case n < 0:
|
||||||
|
panic(nLT0)
|
||||||
|
case kd < 0:
|
||||||
|
panic(kdLT0)
|
||||||
|
case ldab < kd+1:
|
||||||
|
panic(badLdA)
|
||||||
|
case anorm < 0:
|
||||||
|
panic(badNorm)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
|
if n == 0 {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case len(ab) < (n-1)*ldab+kd+1:
|
||||||
|
panic(shortAB)
|
||||||
|
case len(work) < 3*n:
|
||||||
|
panic(shortWork)
|
||||||
|
case len(iwork) < n:
|
||||||
|
panic(shortIWork)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
|
if anorm == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
const smlnum = dlamchS
|
||||||
|
|
||||||
|
var (
|
||||||
|
ainvnm float64
|
||||||
|
kase int
|
||||||
|
isave [3]int
|
||||||
|
normin bool
|
||||||
|
|
||||||
|
// Denote work slices.
|
||||||
|
x = work[:n]
|
||||||
|
v = work[n : 2*n]
|
||||||
|
cnorm = work[2*n : 3*n]
|
||||||
|
)
|
||||||
|
// Estimate the 1-norm of the inverse.
|
||||||
|
bi := blas64.Implementation()
|
||||||
|
for {
|
||||||
|
ainvnm, kase = impl.Dlacn2(n, v, x, iwork, ainvnm, kase, &isave)
|
||||||
|
if kase == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
var op1, op2 blas.Transpose
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
// Multiply x by inv(Uᵀ),
|
||||||
|
op1 = blas.Trans
|
||||||
|
// then by inv(Uᵀ).
|
||||||
|
op2 = blas.NoTrans
|
||||||
|
} else {
|
||||||
|
// Multiply x by inv(L),
|
||||||
|
op1 = blas.NoTrans
|
||||||
|
// then by inv(Lᵀ).
|
||||||
|
op2 = blas.Trans
|
||||||
|
}
|
||||||
|
scaleL := impl.Dlatbs(uplo, op1, blas.NonUnit, normin, n, kd, ab, ldab, x, cnorm)
|
||||||
|
normin = true
|
||||||
|
scaleU := impl.Dlatbs(uplo, op2, blas.NonUnit, normin, n, kd, ab, ldab, x, cnorm)
|
||||||
|
// Multiply x by 1/scale if doing so will not cause overflow.
|
||||||
|
scale := scaleL * scaleU
|
||||||
|
if scale != 1 {
|
||||||
|
ix := bi.Idamax(n, x, 1)
|
||||||
|
if scale < math.Abs(x[ix])*smlnum || scale == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
impl.Drscl(n, scale, x, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ainvnm == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
// Return the estimate of the reciprocal condition number.
|
||||||
|
return (1 / ainvnm) / anorm
|
||||||
|
}
|
||||||
26
vendor/gonum.org/v1/gonum/lapack/gonum/dpbtf2.go
generated
vendored
26
vendor/gonum.org/v1/gonum/lapack/gonum/dpbtf2.go
generated
vendored
@@ -14,8 +14,8 @@ import (
|
|||||||
// Dpbtf2 computes the Cholesky factorization of a symmetric positive banded
|
// Dpbtf2 computes the Cholesky factorization of a symmetric positive banded
|
||||||
// matrix ab. The matrix ab is n×n with kd diagonal bands. The Cholesky
|
// matrix ab. The matrix ab is n×n with kd diagonal bands. The Cholesky
|
||||||
// factorization computed is
|
// factorization computed is
|
||||||
// A = U^T * U if ul == blas.Upper
|
// A = Uᵀ * U if ul == blas.Upper
|
||||||
// A = L * L^T if ul == blas.Lower
|
// A = L * Lᵀ if ul == blas.Lower
|
||||||
// ul also specifies the storage of ab. If ul == blas.Upper, then
|
// ul also specifies the storage of ab. If ul == blas.Upper, then
|
||||||
// ab is stored as an upper-triangular banded matrix with kd super-diagonals,
|
// ab is stored as an upper-triangular banded matrix with kd super-diagonals,
|
||||||
// and if ul == blas.Lower, ab is stored as a lower-triangular banded matrix
|
// and if ul == blas.Lower, ab is stored as a lower-triangular banded matrix
|
||||||
@@ -47,9 +47,9 @@ import (
|
|||||||
// version.
|
// version.
|
||||||
//
|
//
|
||||||
// Dpbtf2 is an internal routine, exported for testing purposes.
|
// Dpbtf2 is an internal routine, exported for testing purposes.
|
||||||
func (Implementation) Dpbtf2(ul blas.Uplo, n, kd int, ab []float64, ldab int) (ok bool) {
|
func (Implementation) Dpbtf2(uplo blas.Uplo, n, kd int, ab []float64, ldab int) (ok bool) {
|
||||||
switch {
|
switch {
|
||||||
case ul != blas.Upper && ul != blas.Lower:
|
case uplo != blas.Upper && uplo != blas.Lower:
|
||||||
panic(badUplo)
|
panic(badUplo)
|
||||||
case n < 0:
|
case n < 0:
|
||||||
panic(nLT0)
|
panic(nLT0)
|
||||||
@@ -59,27 +59,29 @@ func (Implementation) Dpbtf2(ul blas.Uplo, n, kd int, ab []float64, ldab int) (o
|
|||||||
panic(badLdA)
|
panic(badLdA)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
if n == 0 {
|
if n == 0 {
|
||||||
return
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(ab) < (n-1)*ldab+kd {
|
if len(ab) < (n-1)*ldab+kd+1 {
|
||||||
panic(shortAB)
|
panic(shortAB)
|
||||||
}
|
}
|
||||||
|
|
||||||
bi := blas64.Implementation()
|
bi := blas64.Implementation()
|
||||||
|
|
||||||
kld := max(1, ldab-1)
|
kld := max(1, ldab-1)
|
||||||
if ul == blas.Upper {
|
if uplo == blas.Upper {
|
||||||
|
// Compute the Cholesky factorization A = Uᵀ * U.
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
// Compute U(J,J) and test for non positive-definiteness.
|
// Compute U(j,j) and test for non-positive-definiteness.
|
||||||
ajj := ab[j*ldab]
|
ajj := ab[j*ldab]
|
||||||
if ajj <= 0 {
|
if ajj <= 0 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
ajj = math.Sqrt(ajj)
|
ajj = math.Sqrt(ajj)
|
||||||
ab[j*ldab] = ajj
|
ab[j*ldab] = ajj
|
||||||
// Compute elements j+1:j+kn of row J and update the trailing submatrix
|
// Compute elements j+1:j+kn of row j and update the trailing submatrix
|
||||||
// within the band.
|
// within the band.
|
||||||
kn := min(kd, n-j-1)
|
kn := min(kd, n-j-1)
|
||||||
if kn > 0 {
|
if kn > 0 {
|
||||||
@@ -89,16 +91,16 @@ func (Implementation) Dpbtf2(ul blas.Uplo, n, kd int, ab []float64, ldab int) (o
|
|||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
// Compute the Cholesky factorization A = L * Lᵀ.
|
||||||
for j := 0; j < n; j++ {
|
for j := 0; j < n; j++ {
|
||||||
// Compute L(J,J) and test for non positive-definiteness.
|
// Compute L(j,j) and test for non-positive-definiteness.
|
||||||
ajj := ab[j*ldab+kd]
|
ajj := ab[j*ldab+kd]
|
||||||
if ajj <= 0 {
|
if ajj <= 0 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
ajj = math.Sqrt(ajj)
|
ajj = math.Sqrt(ajj)
|
||||||
ab[j*ldab+kd] = ajj
|
ab[j*ldab+kd] = ajj
|
||||||
|
// Compute elements j+1:j+kn of column j and update the trailing submatrix
|
||||||
// Compute elements J+1:J+KN of column J and update the trailing submatrix
|
|
||||||
// within the band.
|
// within the band.
|
||||||
kn := min(kd, n-j-1)
|
kn := min(kd, n-j-1)
|
||||||
if kn > 0 {
|
if kn > 0 {
|
||||||
|
|||||||
214
vendor/gonum.org/v1/gonum/lapack/gonum/dpbtrf.go
generated
vendored
Normal file
214
vendor/gonum.org/v1/gonum/lapack/gonum/dpbtrf.go
generated
vendored
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
// Copyright ©2019 The Gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package gonum
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gonum.org/v1/gonum/blas"
|
||||||
|
"gonum.org/v1/gonum/blas/blas64"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Dpbtrf computes the Cholesky factorization of an n×n symmetric positive
|
||||||
|
// definite band matrix
|
||||||
|
// A = Uᵀ * U if uplo == blas.Upper
|
||||||
|
// A = L * Lᵀ if uplo == blas.Lower
|
||||||
|
// where U is an upper triangular band matrix and L is lower triangular. kd is
|
||||||
|
// the number of super- or sub-diagonals of A.
|
||||||
|
//
|
||||||
|
// The band storage scheme is illustrated below when n = 6 and kd = 2. Elements
|
||||||
|
// marked * are not used by the function.
|
||||||
|
//
|
||||||
|
// uplo == blas.Upper
|
||||||
|
// On entry: On return:
|
||||||
|
// a00 a01 a02 u00 u01 u02
|
||||||
|
// a11 a12 a13 u11 u12 u13
|
||||||
|
// a22 a23 a24 u22 u23 u24
|
||||||
|
// a33 a34 a35 u33 u34 u35
|
||||||
|
// a44 a45 * u44 u45 *
|
||||||
|
// a55 * * u55 * *
|
||||||
|
//
|
||||||
|
// uplo == blas.Lower
|
||||||
|
// On entry: On return:
|
||||||
|
// * * a00 * * l00
|
||||||
|
// * a10 a11 * l10 l11
|
||||||
|
// a20 a21 a22 l20 l21 l22
|
||||||
|
// a31 a32 a33 l31 l32 l33
|
||||||
|
// a42 a43 a44 l42 l43 l44
|
||||||
|
// a53 a54 a55 l53 l54 l55
|
||||||
|
func (impl Implementation) Dpbtrf(uplo blas.Uplo, n, kd int, ab []float64, ldab int) (ok bool) {
|
||||||
|
const nbmax = 32
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case uplo != blas.Upper && uplo != blas.Lower:
|
||||||
|
panic(badUplo)
|
||||||
|
case n < 0:
|
||||||
|
panic(nLT0)
|
||||||
|
case kd < 0:
|
||||||
|
panic(kdLT0)
|
||||||
|
case ldab < kd+1:
|
||||||
|
panic(badLdA)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quick return if possible.
|
||||||
|
if n == 0 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(ab) < (n-1)*ldab+kd+1 {
|
||||||
|
panic(shortAB)
|
||||||
|
}
|
||||||
|
|
||||||
|
opts := string(blas.Upper)
|
||||||
|
if uplo == blas.Lower {
|
||||||
|
opts = string(blas.Lower)
|
||||||
|
}
|
||||||
|
nb := impl.Ilaenv(1, "DPBTRF", opts, n, kd, -1, -1)
|
||||||
|
// The block size must not exceed the semi-bandwidth kd, and must not
|
||||||
|
// exceed the limit set by the size of the local array work.
|
||||||
|
nb = min(nb, nbmax)
|
||||||
|
|
||||||
|
if nb <= 1 || kd < nb {
|
||||||
|
// Use unblocked code.
|
||||||
|
return impl.Dpbtf2(uplo, n, kd, ab, ldab)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use blocked code.
|
||||||
|
ldwork := nb
|
||||||
|
work := make([]float64, nb*ldwork)
|
||||||
|
bi := blas64.Implementation()
|
||||||
|
if uplo == blas.Upper {
|
||||||
|
// Compute the Cholesky factorization of a symmetric band
|
||||||
|
// matrix, given the upper triangle of the matrix in band
|
||||||
|
// storage.
|
||||||
|
|
||||||
|
// Process the band matrix one diagonal block at a time.
|
||||||
|
for i := 0; i < n; i += nb {
|
||||||
|
ib := min(nb, n-i)
|
||||||
|
// Factorize the diagonal block.
|
||||||
|
ok := impl.Dpotf2(uplo, ib, ab[i*ldab:], ldab-1)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if i+ib >= n {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Update the relevant part of the trailing submatrix.
|
||||||
|
// If A11 denotes the diagonal block which has just been
|
||||||
|
// factorized, then we need to update the remaining
|
||||||
|
// blocks in the diagram:
|
||||||
|
//
|
||||||
|
// A11 A12 A13
|
||||||
|
// A22 A23
|
||||||
|
// A33
|
||||||
|
//
|
||||||
|
// The numbers of rows and columns in the partitioning
|
||||||
|
// are ib, i2, i3 respectively. The blocks A12, A22 and
|
||||||
|
// A23 are empty if ib = kd. The upper triangle of A13
|
||||||
|
// lies outside the band.
|
||||||
|
i2 := min(kd-ib, n-i-ib)
|
||||||
|
if i2 > 0 {
|
||||||
|
// Update A12.
|
||||||
|
bi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, ib, i2,
|
||||||
|
1, ab[i*ldab:], ldab-1, ab[i*ldab+ib:], ldab-1)
|
||||||
|
// Update A22.
|
||||||
|
bi.Dsyrk(blas.Upper, blas.Trans, i2, ib,
|
||||||
|
-1, ab[i*ldab+ib:], ldab-1, 1, ab[(i+ib)*ldab:], ldab-1)
|
||||||
|
}
|
||||||
|
i3 := min(ib, n-i-kd)
|
||||||
|
if i3 > 0 {
|
||||||
|
// Copy the lower triangle of A13 into the work array.
|
||||||
|
for ii := 0; ii < ib; ii++ {
|
||||||
|
for jj := 0; jj <= min(ii, i3-1); jj++ {
|
||||||
|
work[ii*ldwork+jj] = ab[(i+ii)*ldab+kd-ii+jj]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Update A13 (in the work array).
|
||||||
|
bi.Dtrsm(blas.Left, blas.Upper, blas.Trans, blas.NonUnit, ib, i3,
|
||||||
|
1, ab[i*ldab:], ldab-1, work, ldwork)
|
||||||
|
// Update A23.
|
||||||
|
if i2 > 0 {
|
||||||
|
bi.Dgemm(blas.Trans, blas.NoTrans, i2, i3, ib,
|
||||||
|
-1, ab[i*ldab+ib:], ldab-1, work, ldwork,
|
||||||
|
1, ab[(i+ib)*ldab+kd-ib:], ldab-1)
|
||||||
|
}
|
||||||
|
// Update A33.
|
||||||
|
bi.Dsyrk(blas.Upper, blas.Trans, i3, ib,
|
||||||
|
-1, work, ldwork, 1, ab[(i+kd)*ldab:], ldab-1)
|
||||||
|
// Copy the lower triangle of A13 back into place.
|
||||||
|
for ii := 0; ii < ib; ii++ {
|
||||||
|
for jj := 0; jj <= min(ii, i3-1); jj++ {
|
||||||
|
ab[(i+ii)*ldab+kd-ii+jj] = work[ii*ldwork+jj]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Compute the Cholesky factorization of a symmetric band
|
||||||
|
// matrix, given the lower triangle of the matrix in band
|
||||||
|
// storage.
|
||||||
|
|
||||||
|
// Process the band matrix one diagonal block at a time.
|
||||||
|
for i := 0; i < n; i += nb {
|
||||||
|
ib := min(nb, n-i)
|
||||||
|
// Factorize the diagonal block.
|
||||||
|
ok := impl.Dpotf2(uplo, ib, ab[i*ldab+kd:], ldab-1)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if i+ib >= n {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Update the relevant part of the trailing submatrix.
|
||||||
|
// If A11 denotes the diagonal block which has just been
|
||||||
|
// factorized, then we need to update the remaining
|
||||||
|
// blocks in the diagram:
|
||||||
|
//
|
||||||
|
// A11
|
||||||
|
// A21 A22
|
||||||
|
// A31 A32 A33
|
||||||
|
//
|
||||||
|
// The numbers of rows and columns in the partitioning
|
||||||
|
// are ib, i2, i3 respectively. The blocks A21, A22 and
|
||||||
|
// A32 are empty if ib = kd. The lowr triangle of A31
|
||||||
|
// lies outside the band.
|
||||||
|
i2 := min(kd-ib, n-i-ib)
|
||||||
|
if i2 > 0 {
|
||||||
|
// Update A21.
|
||||||
|
bi.Dtrsm(blas.Right, blas.Lower, blas.Trans, blas.NonUnit, i2, ib,
|
||||||
|
1, ab[i*ldab+kd:], ldab-1, ab[(i+ib)*ldab+kd-ib:], ldab-1)
|
||||||
|
// Update A22.
|
||||||
|
bi.Dsyrk(blas.Lower, blas.NoTrans, i2, ib,
|
||||||
|
-1, ab[(i+ib)*ldab+kd-ib:], ldab-1, 1, ab[(i+ib)*ldab+kd:], ldab-1)
|
||||||
|
}
|
||||||
|
i3 := min(ib, n-i-kd)
|
||||||
|
if i3 > 0 {
|
||||||
|
// Copy the upper triangle of A31 into the work array.
|
||||||
|
for ii := 0; ii < i3; ii++ {
|
||||||
|
for jj := ii; jj < ib; jj++ {
|
||||||
|
work[ii*ldwork+jj] = ab[(ii+i+kd)*ldab+jj-ii]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Update A31 (in the work array).
|
||||||
|
bi.Dtrsm(blas.Right, blas.Lower, blas.Trans, blas.NonUnit, i3, ib,
|
||||||
|
1, ab[i*ldab+kd:], ldab-1, work, ldwork)
|
||||||
|
// Update A32.
|
||||||
|
if i2 > 0 {
|
||||||
|
bi.Dgemm(blas.NoTrans, blas.Trans, i3, i2, ib,
|
||||||
|
-1, work, ldwork, ab[(i+ib)*ldab+kd-ib:], ldab-1,
|
||||||
|
1, ab[(i+kd)*ldab+ib:], ldab-1)
|
||||||
|
}
|
||||||
|
// Update A33.
|
||||||
|
bi.Dsyrk(blas.Lower, blas.NoTrans, i3, ib,
|
||||||
|
-1, work, ldwork, 1, ab[(i+kd)*ldab+kd:], ldab-1)
|
||||||
|
// Copy the upper triangle of A31 back into place.
|
||||||
|
for ii := 0; ii < i3; ii++ {
|
||||||
|
for jj := ii; jj < ib; jj++ {
|
||||||
|
ab[(ii+i+kd)*ldab+jj-ii] = work[ii*ldwork+jj]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user