283 Commits

Author SHA1 Message Date
Dan Kortschak
bc349ecfab all: replace internal rand shim with math/rand/v2 2025-02-01 22:18:04 +10:30
Dan Kortschak
cf3307fa63 all: partially migrate to math/rand/v2
This is not intended to be a completed transition since it leaves the
libraries unusable to external client code, but rather as a step towards
use of math/rand/v2. This initial step allows repair of sequence change
failures without having to worry about API difference.
2025-02-01 22:18:04 +10:30
Dan Kortschak
f42c07e8cb all: fix typos 2025-01-01 08:26:48 +10:30
Tristan Nicholls
1f29d7b1d1 mat: calculate Q elements lazily when calling QR.At
When a matrix is very tall, calculating Q will currently allocate a
large Q at the end of the factorisation, even if it is not going to be
used, and a large Q matrix can lead to out of memory issues.

For this reason, Q is never eagerly computed unless explicitly required
to by the user, with QR.ToQ.
To keep fulfilling the Matrix interface, the QR.At method will compute
the requested element only, which only require computing a single row of
Q.
2024-08-17 06:04:00 +09:30
Tristan Nicholls
f1a62e187e mat: fix dst matrix shape check in QR.RTo
Fixed a typo in row/column size check, the
expected row size was incorrectly checked against
the column size.
2024-08-17 06:04:00 +09:30
Dan Kortschak
affaa34094 all: fix doc comments identified by staticcheck
All complaints in mathext/internal are ignored, and an unfortunate naming
of methods in spatial/{r2,r3} is now permanent.
2024-04-23 17:11:29 +09:30
Eng Zer Jun
e44948ca04 all: replace min/max helpers with min/max builtins 2024-04-06 20:24:32 +10:30
Vladimir Chalupecky
83fd3a6dd2 mat: add RawValues and RawQ to EigenSym 2023-10-24 12:38:34 +02:00
Vladimir Chalupecky
1c74ed86ae mat: clean up docs for EigenSym 2023-10-24 12:38:34 +02:00
Vladimir Chalupecky
999e48d0a2 mat: make EigenSym satisfy Matrix 2023-10-21 20:52:40 +02:00
Vladimir Chalupecky
71ca02b769 mat: delegate to SolveTo method in *Dense.Solve 2023-10-20 11:38:09 +02:00
Vladimir Chalupecky
b2722176dd mat: make LQ satisfy Matrix 2023-10-08 09:26:29 +02:00
Vladimir Chalupecky
78bc3a48bf mat: add VecDense.Permute 2023-10-06 22:11:17 +02:00
Vladimir Chalupecky
bd767ae5eb mat: don't panic in Dims on zero Cholesky types
Also, panic in At in a way that is consistent with other matrix types.
2023-10-06 12:15:41 +02:00
Vladimir Chalupecky
45b74210d6 mat: make QR satisfy Matrix 2023-10-06 12:12:39 +02:00
Vladimir Chalupecky
aef3c5f344 mat: make LU satisfy Matrix
Updates #926
2023-10-05 10:50:37 +02:00
Vladimir Chalupecky
2d1137f1a3 mat: add LU.RowPivots and deprecate LU.Pivot 2023-10-03 10:03:38 +02:00
Vladimir Chalupecky
ef75f4dd07 mat: return U and ColumnPivots from PivotedCholesky 2023-10-03 08:33:29 +02:00
Vladimir Chalupecky
5f74663ec0 mat: add Dense.PermuteRows and PermuteCols 2023-10-03 08:33:29 +02:00
Vladimir Chalupecky
93ea0834e6 mat: clean up docs and handling of row swaps in LU 2023-10-03 08:33:29 +02:00
Vladimir Chalupecky
82e11dfec8 mat: add PivotedCholesky 2023-08-19 13:00:55 +02:00
Jes Cok
bd727a9e14 all: fix typos 2023-07-16 13:37:17 +09:30
Chris Nobody
45b800a8c6 all: add pkg.go.dev reference README badges
As discussed during the review of the immediately preceding changesets.
2023-03-16 06:40:50 +10:30
Chris Nobody
f040f6bd07 all: replace godoc.org README badges with godocs.io ones
The links have been redirecting to `pkg.go.dev` for a while now. In the
case of the main README, that made the badge a virtual duplicate of the
"go.dev reference" one.
2023-03-16 06:40:50 +10:30
Jonathan Chan Kwan Yin
2d7eec07c1 mat: fixed typo in mat.Solve/mat.SolveVec
It seems the extra `A` here is unintended.
2022-11-17 22:01:33 +10:30
Dan Kortschak
5f0141ca4c all: run gofmt and generate all packages
Changes made in dsp/fourier/internal/fftpack break the formatting used
there, so these are reverted. There will be complaints in CI.

[git-generate]
gofmt -w .
go generate gonum.org/v1/gonum/blas
go generate gonum.org/v1/gonum/blas/gonum
go generate gonum.org/v1/gonum/unit
go generate gonum.org/v1/gonum/unit/constant
go generate gonum.org/v1/gonum/graph/formats/dot
go generate gonum.org/v1/gonum/graph/formats/rdf
go generate gonum.org/v1/gonum/stat/card

git checkout -- dsp/fourier/internal/fftpack
2022-08-06 07:05:17 +09:30
Dan Kortschak
143fb433a9 mat: add non-zero doers for TriBandDense 2022-06-21 19:12:35 +09:30
Dan Kortschak
a2c6f817bf ci: replace golangci-lint with staticcheck 2022-05-18 21:35:57 +09:30
Dan Kortschak
d8ad7756b6 all: fix spelling and typos 2022-03-14 21:32:06 +10:30
Sebastien Binet
99041dcffe mat: add example for polynomial regression with QR factorization
Fixes #1759.

Signed-off-by: Sebastien Binet <binet@cern.ch>
2022-01-16 11:44:36 +01:00
Vladimir Chalupecky
5c9be58381 mat,stat: refer to SymmetricDim in docs 2021-09-11 23:11:30 +02:00
Dan Kortschak
5dcc4befa0 mat: simplify Diagonal interface expression 2021-08-23 16:10:45 +09:30
Dan Kortschak
40ee0e69c1 mat: simplify redundant selector expression 2021-08-23 07:14:23 +09:30
Dan Kortschak
3d32334f97 mat: rename Symmetric method to SymmetricDim 2021-08-23 07:02:27 +09:30
Dan Kortschak
af39aebcaa all: replace uses of deprecated ioutil functions 2021-08-17 20:06:07 +09:30
Dan Kortschak
85ca8969b8 all: remove or clarify repeated words in comments 2021-08-08 16:39:38 +09:30
Dan Kortschak
054da3c55f mat: remove blank line 2021-07-19 15:45:48 +09:30
Yasuhiro Matsumoto
23653ebacb mat: fix typo 2021-07-14 12:07:06 +09:30
Roman Werpachowski
4bb8d0269a interp: Add NaturalCubic spline interpolator (#1657) 2021-06-11 19:03:45 +02:00
Vladimir Chalupecky
7a7717c859 mat: clarify docs for EigenSym.Values
Document that EigenSym.Values gives eigenvalues in ascending order.
2021-05-27 11:31:28 +02:00
Vladimir Chalupecky
2ea969e78c mat: remove testing with blas/netlib package 2021-05-27 11:31:01 +02:00
Dan Kortschak
efbee9bf28 mat: rename pool helpers to be consistent with type names 2021-05-27 17:07:31 +09:30
Dan Kortschak
608b72c3f0 mat: rename pools to be more consistent with handled types 2021-05-27 17:07:31 +09:30
Dan Kortschak
2efb5158f1 mat: use math/bits for calculating pool sizes 2021-05-27 17:07:31 +09:30
Vladimir Chalupecky
b4dd4cfbca mat: remove from docs references to "matrix" package 2021-05-13 09:37:55 +02:00
Vladimir Chalupecky
41e3de04ce mat: document Normer 2021-05-13 09:37:55 +02:00
Vladimir Chalupecky
3de5d6c644 mat: return ErrZeroLength when size is zero and document it 2021-05-13 09:37:55 +02:00
Vladimir Chalupecky
e99241cb7d mat: remove unused BandWidther interface 2021-05-12 12:37:43 +02:00
Vladimir Chalupecky
7d9d51f30f mat: add DiagDense.Norm 2021-05-12 10:57:51 +02:00
Vladimir Chalupecky
39cb21da6b mat: remove TestTridiagNorm
Tridiag.Norm is now covered by TestNorm
2021-05-11 16:23:27 +02:00