
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Unconstrained function minimization in javascript.
This package implements some basic numerical optimization algorithms: Nelder-Mead, Gradient Descent, Wolf Line Search and Non-Linear Conjugate Gradient methods are all provided.
Interactive visualizations with D3 explaining how these algorithms work are also included in this package. Descriptions of the algorithms as well as most of the visualizations are available on my blog post An Interactive Tutorial on Numerical Optimization.
If you use NPM, npm install fmin
. Otherwise, download the latest release.
# nelderMead(f, initial)
Uses the Nelder-Mead method to minimize a function f starting at location initial.
Example usage minimizing the function f(x, y) = x2 + y2 + x sin y + y
sin x is:
function loss(X) {
var x = X[0], y = X[1];
return Math.sin(y) * x + Math.sin(x) * y + x * x + y *y;
}
var solution = fmin.nelderMead(loss, [-3.5, 3.5]);
console.log("solution is at " + solution.x);
# conjugateGradient(f, initial)
Minimizes a function using the Polak–Ribière non-linear conjugate gradient method . The function f should compute both the loss and the gradient.
An example minimizing Rosenbrock's Banana function is:
function banana(X, fxprime) {
fxprime = fxprime || [0, 0];
var x = X[0], y = X[1];
fxprime[0] = 400 * x * x * x - 400 * y * x + 2 * x - 2;
fxprime[1] = 200 * y - 200 * x * x;
return (1 - x) * (1 - x) + 100 * (y - x * x) * (y - x * x);
}
var solution = fmin.conjugateGradient(banana, [-1, 1]);
console.log("solution is at " + solution.x);
FAQs
Unconstrained funcion minimization in Javascript
The npm package fmin receives a total of 109,245 weekly downloads. As such, fmin popularity was classified as popular.
We found that fmin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.