Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
3 of 9 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Keywords
Repository
Fast Combinatorial Non-negative Least Squares
Basic Info
Statistics
- Stars: 6
- Watchers: 8
- Forks: 4
- Open Issues: 1
- Releases: 7
Topics
Metadata Files
README.md
fcnnls
Fast Combinatorial Non-negative Least Squares.
As described in the publication by Van Benthem and Keenan (10.1002/cem.889), which is in turn based on the active-set method algorithm previously published by Lawson and Hanson. The basic active-set method is implemented in the nnls repository.
Given the matrices $\mathbf{X}$ and $\mathbf{Y}$, the code finds the matrix $\mathbf{K}$ that minimises the squared Frobenius norm $$\mathrm{argmin}K ||\mathbf{XK} -\mathbf{Y}||^2F$$ subject to $\mathbf{K}\geq 0$.
https://en.wikipedia.org/wiki/Non-negativeleastsquares
Installation
bash
npm i ml-fcnnls
Usage Example
- Single $y$, using arrays as inputs.
```js import { fcnnlsVector } from 'ml-fcnnls';
const X = [ [1, 1, 2], [10, 11, -9], [-1, 0, 0], [-5, 6, -7], ]; const y = [-1, 11, 0, 1];
const k = fcnnlsVector(X, y).K.to1DArray(); /* k = [0.4610, 0.5611, 0] */ ```
- Multiple RHS, using
Matrixinstances as inputs.
```js import { fcnnls } from 'ml-fcnnls'; import { Matrix } from 'ml-matrix'; //npm i ml-matrix
// Example with multiple RHS
const X = new Matrix([ [1, 1, 2], [10, 11, -9], [-1, 0, 0], [-5, 6, -7], ]);
// Y can either be a Matrix or an array of arrays const Y = new Matrix([ [-1, 0, 0, 9], [11, -20, 103, 5], [0, 0, 0, 0], [1, 2, 3, 4], ]);
const K = fcnnls(X, Y).K;
// K.to2DArray() converts the matrix to array.
/*
K = Matrix([
[0.4610, 0, 4.9714, 0],
[0.5611, 0, 4.7362, 2.2404],
[0, 1.2388, 0, 1.9136],
])
*/
```
- Using the options
js
const K = fcnnls(X, Y, {
info: true, // returns the error/iteration.
maxIterations: 5,
gradientTolerance: 0,
});
/* same result than 2*/
API Documentation
License
Owner
- Name: ml.js
- Login: mljs
- Kind: organization
- Repositories: 112
- Profile: https://github.com/mljs
Machine learning and numerical analysis tools in JavaScript for Node.js and the Browser
Citation (CITATION.cff)
cff-version: 1.2.0
title: 'Javascript library for Fast Combinatorial Non-negative Least Squares.'
repository-artifact: https://mljs.github.io/fcnnls/
repository-code: https://github.com/mljs/fcnnls
authors:
- family-names: 'Zasso'
given-names: 'Michaël'
affiliation: 'Zakodium Sàrl, Switzerland'
orcid: 'https://orcid.org/0000-0001-5295-2159'
- family-names: 'Patiny'
given-names: 'Luc'
affiliation: 'Zakodium Sàrl, Switzerland'
orcid: 'https://orcid.org/0000-0002-4943-2643'
- family-names: 'Miranda'
given-names: 'Santiago'
affiliation: 'Zakodium Sàrl, Switzerland'
orcid: 'https://orcid.org/0009-0002-2276-0265'
license: MIT
keywords:
- FCNNLS
doi: 10.5281/zenodo.8189402
GitHub Events
Total
- Issues event: 2
- Issue comment event: 1
Last Year
- Issues event: 2
- Issue comment event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 61
- Total Committers: 9
- Avg Commits per committer: 6.778
- Development Distribution Score (DDS): 0.656
Top Committers
| Name | Commits | |
|---|---|---|
| Jeremy Weymann | j****n@e****h | 21 |
| Luc Patiny | l****c@p****m | 16 |
| Michaël Zasso | t****s@p****m | 9 |
| Jérémy Weymann | j****n@t****h | 6 |
| Luc Patiny | l****y@u****m | 3 |
| Jérémy Weymann | j****n@t****h | 3 |
| Wadjih Bencheikh | j****h@e****z | 1 |
| Jérémy Weymann | j****n@M****l | 1 |
| mljs-bot | 7****t@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 18
- Average time to close issues: 11 months
- Average time to close pull requests: 3 months
- Total issue authors: 4
- Total pull request authors: 5
- Average comments per issue: 0.71
- Average comments per pull request: 2.0
- Merged pull requests: 15
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- lpatiny (3)
- santimirandarp (2)
- dbehringer (1)
- targos (1)
- matiasmorant (1)
Pull Request Authors
- mljs-bot (7)
- santimirandarp (6)
- jeremyweymann (3)
- wadjih-bencheikh18 (1)
- targos (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 1,082 last-month
- Total docker downloads: 16
- Total dependent packages: 4
- Total dependent repositories: 9
- Total versions: 9
- Total maintainers: 5
npmjs.org: ml-fcnnls
Fast Combinatorial Non-negative Least Squares
- Homepage: https://github.com/mljs/fcnnls#readme
- License: MIT
-
Latest release: 3.0.0
published over 2 years ago
Rankings
Maintainers (5)
Dependencies
- @babel/plugin-transform-modules-commonjs ^7.16.8 development
- eslint ^8.10.0 development
- eslint-config-cheminfo ^7.2.2 development
- esm ^3.2.25 development
- jest ^27.5.1 development
- jest-matcher-deep-close-to ^3.0.2 development
- prettier ^2.5.1 development
- rollup ^2.69.0 development
- ml-matrix ^6.9.0
- JamesIves/github-pages-deploy-action releases/v4 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- zakodium/typedoc-action v2 composite