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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6aef3ecbc4a381503c8f24a20e120ff39dcd8d7d1c485e0bb2e69de76fbee5db
4
- data.tar.gz: d394e7284ad14dadea13eeea68d38dd07bc2e3c256dfcfd5cc5d22f34f1db527
3
+ metadata.gz: 54197940689661dde76b8173396cd1ce16c0b01762b35b34eed370000bf05afe
4
+ data.tar.gz: d62d131b087e0250af6a1afbc2fd3268d42c1fb043b31e9efa55a5f7313bd1bc
5
5
  SHA512:
6
- metadata.gz: b3c4626c9025a1f8a660798932cf7115181cd8bcb5b180a86f5889b9b6cf22d86afadcca920f675a92487ff5bc39b55a96aaddc10a268fde5464ed4b6d78a9a5
7
- data.tar.gz: 5f5c363bd5f5445eef62e7bfdaa7746b1541b050c6da88629b766c591088b77b343855161eca33ffb5c2b0159704be1f15366d4284d8ef11ee6dfadab05ed158
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
@@ -1,4 +1,4 @@
1
- Copyright (c) 2022-2023 Atsushi Tatsuma
1
+ Copyright (c) 2022-2025 Atsushi Tatsuma
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -3,29 +3,20 @@
3
3
  [![Build Status](https://github.com/yoshoku/numo-linalg-randsvd/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/yoshoku/numo-linalg-randsvd/actions/workflows/main.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/numo-linalg-randsvd.svg)](https://badge.fury.io/rb/numo-linalg-randsvd)
5
5
  [![BSD 3-Clause License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://github.com/yoshoku/numo-linalg-randsvd/blob/main/LICENSE.txt)
6
- [![Documentation](https://img.shields.io/badge/api-reference-blue.svg)](https://yoshoku.github.io/numo-linalg-randsvd/doc/)
6
+ [![Documentation](https://img.shields.io/badge/api-reference-blue.svg)](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:
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'numo/narray'
4
+ require 'numo/linalg'
4
5
  require 'numo/random'
5
6
 
6
7
  # Ruby/Numo (NUmerical MOdules)
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.3.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: 2023-08-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: numo-narray
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.9.1
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.9.1
25
+ version: 0.2.0
27
26
  - !ruby/object:Gem::Dependency
28
- name: numo-random
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: '0.4'
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: '0.4'
39
+ version: 0.9.3
41
40
  - !ruby/object:Gem::Dependency
42
- name: numo-linalg
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: '0'
62
- type: :development
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: '0'
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://yoshoku.github.io/numo-linalg-randsvd/doc/
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.3.26
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.