numo-linalg-randsvd 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/LICENSE.txt +1 -1
- data/README.md +3 -17
- data/lib/numo/linalg/randsvd.rb +1 -0
- metadata +18 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54197940689661dde76b8173396cd1ce16c0b01762b35b34eed370000bf05afe
|
4
|
+
data.tar.gz: d62d131b087e0250af6a1afbc2fd3268d42c1fb043b31e9efa55a5f7313bd1bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aae03d1319d5dbdeda0755ec22961cef75c8f6b369f48a1d8e9dc07506f71b52fd4ceacf8b04926ee00762f9d4b32800ea9bf2741e9076ebcbbede6f7e03e58c
|
7
|
+
data.tar.gz: 05ea844bb64fcce21033cf5304b1b8925b91d98b1f7b11971942ce4b62c49357fdaebe160cabfd00d06a7fee629214cebdfc6e793487b3e14bec4cec60f050c1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## [0.4.0] - 2025-10-02
|
2
|
+
**Breaking Changes**
|
3
|
+
|
4
|
+
- Change dependency from numo-narray to [numo-narray-alt](https://github.com/yoshoku/numo-narray-alt).
|
5
|
+
- Add [numo-linalg-alt](https://github.com/yoshoku/numo-linalg-alt) to runtime dependencies.
|
6
|
+
|
1
7
|
## [0.3.0] - 2023-08-15
|
2
8
|
**Breaking Changes**
|
3
9
|
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -3,29 +3,20 @@
|
|
3
3
|
[](https://github.com/yoshoku/numo-linalg-randsvd/actions/workflows/main.yml)
|
4
4
|
[](https://badge.fury.io/rb/numo-linalg-randsvd)
|
5
5
|
[](https://github.com/yoshoku/numo-linalg-randsvd/blob/main/LICENSE.txt)
|
6
|
-
[](https://
|
6
|
+
[](https://gemdocs.org/gems/numo-linalg-randsvd/)
|
7
7
|
|
8
8
|
Numo::Linalg.randsvd is a module function on Numo::Linalg for truncated singular value decomposition with randomized algorithm.
|
9
9
|
This gem re-implements [RandSVD](https://github.com/yoshoku/randsvd) using [Numo::NArray](https://github.com/ruby-numo/numo-narray) and
|
10
10
|
[Numo::Linalg](https://github.com/ruby-numo/numo-linalg) instead of [NMatrix](https://github.com/SciRuby/nmatrix).
|
11
11
|
|
12
|
+
Note: Since v0.4.0, this gem uses [Numo::NArray Alternative](https://github.com/yoshoku/numo-narray-alt) instead of Numo::NArray as a dependency.
|
13
|
+
|
12
14
|
References:
|
13
15
|
|
14
16
|
- P.-G. Martinsson, A. Szlam, M. Tygert, "Normalized power iterations for the computation of SVD," Proc. of NIPS Workshop on Low-Rank Methods for Large-Scale Machine Learning, 2011.
|
15
17
|
- P.-G. Martinsson, V. Rokhlin, M. Tygert, "A randomized algorithm for the approximation of matrices," Tech. Rep., 1361, Yale University Department of Computer Science, 2006.
|
16
18
|
|
17
19
|
## Installation
|
18
|
-
This gem requires Numo::Linalg, so install numo-linalg or numo-tiny_linalg:
|
19
|
-
|
20
|
-
```sh
|
21
|
-
$ gem install numo-linalg
|
22
|
-
```
|
23
|
-
|
24
|
-
Or:
|
25
|
-
|
26
|
-
```sh
|
27
|
-
$ gem install numo-tiny_linalg
|
28
|
-
```
|
29
20
|
|
30
21
|
Add this line to your application's Gemfile:
|
31
22
|
|
@@ -44,11 +35,6 @@ Or install it yourself as:
|
|
44
35
|
## Usage
|
45
36
|
|
46
37
|
```ruby
|
47
|
-
require 'numo/linalg/autoloader'
|
48
|
-
# # Or
|
49
|
-
# require 'numo/tiny_linalg'
|
50
|
-
# Numo::Linalg = Numo::TinyLinalg
|
51
|
-
|
52
38
|
require 'numo/linalg/randsvd'
|
53
39
|
|
54
40
|
# An example of matrix decomposition is as follows:
|
data/lib/numo/linalg/randsvd.rb
CHANGED
metadata
CHANGED
@@ -1,71 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: numo-linalg-randsvd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yoshoku
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: numo-
|
13
|
+
name: numo-linalg-alt
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- - "
|
16
|
+
- - "~>"
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
18
|
+
version: 0.2.0
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
|
-
- - "
|
23
|
+
- - "~>"
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
25
|
+
version: 0.2.0
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: numo-
|
27
|
+
name: numo-narray-alt
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - "~>"
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
32
|
+
version: 0.9.3
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - "~>"
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
39
|
+
version: 0.9.3
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: numo-
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: numo-tiny_linalg
|
41
|
+
name: numo-random
|
57
42
|
requirement: !ruby/object:Gem::Requirement
|
58
43
|
requirements:
|
59
|
-
- - "
|
44
|
+
- - "~>"
|
60
45
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
46
|
+
version: 0.6.0
|
47
|
+
type: :runtime
|
63
48
|
prerelease: false
|
64
49
|
version_requirements: !ruby/object:Gem::Requirement
|
65
50
|
requirements:
|
66
|
-
- - "
|
51
|
+
- - "~>"
|
67
52
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
53
|
+
version: 0.6.0
|
69
54
|
description: |
|
70
55
|
Numo::Linalg.randsvd is a module function on Numo::Linalg for
|
71
56
|
truncated singular value decomposition with randomized algorithm.
|
@@ -87,9 +72,8 @@ metadata:
|
|
87
72
|
homepage_uri: https://github.com/yoshoku/numo-linalg-randsvd
|
88
73
|
source_code_uri: https://github.com/yoshoku/numo-linalg-randsvd
|
89
74
|
changelog_uri: https://github.com/yoshoku/numo-linalg-randsvd/blob/main/CHANGELOG.md
|
90
|
-
documentation_uri: https://
|
75
|
+
documentation_uri: https://gemdocs.org/gems/numo-linalg-randsvd/0.4.0/
|
91
76
|
rubygems_mfa_required: 'true'
|
92
|
-
post_install_message:
|
93
77
|
rdoc_options: []
|
94
78
|
require_paths:
|
95
79
|
- lib
|
@@ -104,8 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
88
|
- !ruby/object:Gem::Version
|
105
89
|
version: '0'
|
106
90
|
requirements: []
|
107
|
-
rubygems_version: 3.
|
108
|
-
signing_key:
|
91
|
+
rubygems_version: 3.6.9
|
109
92
|
specification_version: 4
|
110
93
|
summary: Numo::Linalg.randsvd is a module function on Numo::Linalg for truncated singular
|
111
94
|
value decomposition with randomized algorithm.
|