UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

29 lines 663 B
/** * Permutes a vector; x = P'b. In MATLAB notation, x(p)=b. * * @param {Array} p The permutation vector of length n. null value denotes identity * @param {Array} b The input vector * * @return {Array} The output vector x = P'b */ export function csIpvec(p, b) { // vars var k; var n = b.length; var x = []; // check permutation vector was provided, p = null denotes identity if (p) { // loop vector for (k = 0; k < n; k++) { // apply permutation x[p[k]] = b[k]; } } else { // loop vector for (k = 0; k < n; k++) { // x[i] = b[i] x[k] = b[k]; } } return x; }