You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using go version go1.15.5 windows/amd64,
on an up-to-date version of Windows 10.
See details listing below.
I have supported a state-of-the-art C++ package for a decade that automatically
regularizes (and solves) ill-conditioned linear systems of equations.
Recently I converted this package to Python. It is under consideration currently for adding to their curated matrix library.
Now I have converted the main functions from those libraries to Go.
Please see the attached README file for some details.
Also please see my web page at http://www.rejtrix.net/ for the current versions I am offering for these three libraries.
Since you probably have not heard of this auto-regularizing package please see the links on http://www.rejtrix.net/ for some tutorial material.
LAPACK is of course the definitive package for linear equation solutions.
But it is quite old, and was defined before usable auto-regularizing methods were available. My package provides a significant new capability which would impact absolutely nothing else in the Go libraries. It would just sit above gonum's svd decompostion, perhaps in a parallel package. Obviously you might want to initially place it in your "experimental" package. That would be fine with me.
It also provides an updated version of the classic "nnls" algorithm for producing non-negative solutions. I do not believe Go has an implementation of nnls, which is just as well as it often fails to converge, and when it does converge it is too casual about deleting variables. My version cannot fail to converge, unless the svd itself fails, which is very rare, and it generally zeros fewer of the columns of the matrix.
I should mention that this class of methods, based on the Picard Condition (see web site) is inherently free of error states. These routines simply have no error conditions to report, except for failure of the SVD. They always work, if the SVD works.
I do not mean that they always produce a pleasing regularized solution... all such algorithms contain heuristic parameter, and will fail to please the user sometimes. But this package has been "tuned" on many problems, over more than a decade.
For example applications, please see the Python and Go sections of www.rejtrix.net
(I need to rearrange my web site now that I have 3 versions... haven't done that yet.)
C:\Go\hello>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\rejon\AppData\Local\go-build
set GOENV=C:\Users\rejon\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\rejon\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\rejon\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Go\hello\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\rejon\AppData\Local\Temp\go-build288389150=/tmp/go-build -gno-record-gcc-switches
The text was updated successfully, but these errors were encountered:
PROPOSAL
I am using go version go1.15.5 windows/amd64,
on an up-to-date version of Windows 10.
See details listing below.
I have supported a state-of-the-art C++ package for a decade that automatically
regularizes (and solves) ill-conditioned linear systems of equations.
Recently I converted this package to Python. It is under consideration currently for adding to their curated matrix library.
Now I have converted the main functions from those libraries to Go.
Please see the attached README file for some details.
Also please see my web page at http://www.rejtrix.net/ for the current versions I am offering for these three libraries.
Since you probably have not heard of this auto-regularizing package please see the links on http://www.rejtrix.net/ for some tutorial material.
LAPACK is of course the definitive package for linear equation solutions.
But it is quite old, and was defined before usable auto-regularizing methods were available. My package provides a significant new capability which would impact absolutely nothing else in the Go libraries. It would just sit above gonum's svd decompostion, perhaps in a parallel package. Obviously you might want to initially place it in your "experimental" package. That would be fine with me.
It also provides an updated version of the classic "nnls" algorithm for producing non-negative solutions. I do not believe Go has an implementation of nnls, which is just as well as it often fails to converge, and when it does converge it is too casual about deleting variables. My version cannot fail to converge, unless the svd itself fails, which is very rare, and it generally zeros fewer of the columns of the matrix.
I should mention that this class of methods, based on the Picard Condition (see web site) is inherently free of error states. These routines simply have no error conditions to report, except for failure of the SVD. They always work, if the SVD works.
I do not mean that they always produce a pleasing regularized solution... all such algorithms contain heuristic parameter, and will fail to please the user sometimes. But this package has been "tuned" on many problems, over more than a decade.
For example applications, please see the Python and Go sections of www.rejtrix.net
(I need to rearrange my web site now that I have 3 versions... haven't done that yet.)
Interested?
README.txt
Ron Jones rejones7@gmail.com
C:\Go\hello>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\rejon\AppData\Local\go-build
set GOENV=C:\Users\rejon\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\rejon\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\rejon\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Go\hello\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\rejon\AppData\Local\Temp\go-build288389150=/tmp/go-build -gno-record-gcc-switches
The text was updated successfully, but these errors were encountered: