mathjs 12.3.2 → 12.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/HISTORY.md +28 -0
  2. package/README.md +28 -0
  3. package/bin/cli.js +1 -1
  4. package/bin/repl.js +1 -1
  5. package/lib/browser/math.js +1 -1
  6. package/lib/browser/math.js.LICENSE.txt +2 -2
  7. package/lib/browser/math.js.map +1 -1
  8. package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -0
  9. package/lib/cjs/expression/node/ConstantNode.js +5 -3
  10. package/lib/cjs/expression/parse.js +8 -4
  11. package/lib/cjs/function/algebra/simplifyCore.js +3 -0
  12. package/lib/cjs/function/algebra/sparse/csAmd.js +4 -2
  13. package/lib/cjs/function/algebra/sparse/csChol.js +4 -2
  14. package/lib/cjs/function/algebra/sparse/csCounts.js +4 -2
  15. package/lib/cjs/function/algebra/sparse/csCumsum.js +4 -2
  16. package/lib/cjs/function/algebra/sparse/csDfs.js +4 -2
  17. package/lib/cjs/function/algebra/sparse/csEreach.js +4 -2
  18. package/lib/cjs/function/algebra/sparse/csEtree.js +4 -2
  19. package/lib/cjs/function/algebra/sparse/csFkeep.js +4 -2
  20. package/lib/cjs/function/algebra/sparse/csFlip.js +4 -2
  21. package/lib/cjs/function/algebra/sparse/csIpvec.js +4 -0
  22. package/lib/cjs/function/algebra/sparse/csLeaf.js +4 -2
  23. package/lib/cjs/function/algebra/sparse/csLu.js +4 -2
  24. package/lib/cjs/function/algebra/sparse/csMark.js +4 -2
  25. package/lib/cjs/function/algebra/sparse/csMarked.js +4 -2
  26. package/lib/cjs/function/algebra/sparse/csPermute.js +4 -2
  27. package/lib/cjs/function/algebra/sparse/csPost.js +4 -2
  28. package/lib/cjs/function/algebra/sparse/csReach.js +4 -2
  29. package/lib/cjs/function/algebra/sparse/csSpsolve.js +4 -2
  30. package/lib/cjs/function/algebra/sparse/csSqr.js +4 -2
  31. package/lib/cjs/function/algebra/sparse/csSymperm.js +4 -2
  32. package/lib/cjs/function/algebra/sparse/csTdfs.js +4 -2
  33. package/lib/cjs/function/algebra/sparse/csUnflip.js +4 -2
  34. package/lib/cjs/function/arithmetic/multiply.js +30 -29
  35. package/lib/cjs/function/arithmetic/round.js +38 -7
  36. package/lib/cjs/function/matrix/dot.js +3 -3
  37. package/lib/cjs/header.js +2 -2
  38. package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +4 -4
  39. package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +4 -4
  40. package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +4 -4
  41. package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +4 -4
  42. package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +4 -4
  43. package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +4 -4
  44. package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +4 -4
  45. package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +4 -4
  46. package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +4 -4
  47. package/lib/cjs/type/unit/Unit.js +6 -2
  48. package/lib/cjs/utils/map.js +2 -0
  49. package/lib/cjs/version.js +1 -1
  50. package/lib/esm/entry/pureFunctionsAny.generated.js +1 -0
  51. package/lib/esm/expression/node/ConstantNode.js +5 -3
  52. package/lib/esm/expression/parse.js +8 -4
  53. package/lib/esm/function/algebra/simplifyCore.js +3 -0
  54. package/lib/esm/function/algebra/sparse/csAmd.js +3 -2
  55. package/lib/esm/function/algebra/sparse/csChol.js +3 -2
  56. package/lib/esm/function/algebra/sparse/csCounts.js +3 -2
  57. package/lib/esm/function/algebra/sparse/csCumsum.js +4 -2
  58. package/lib/esm/function/algebra/sparse/csDfs.js +3 -2
  59. package/lib/esm/function/algebra/sparse/csEreach.js +3 -2
  60. package/lib/esm/function/algebra/sparse/csEtree.js +4 -2
  61. package/lib/esm/function/algebra/sparse/csFkeep.js +4 -2
  62. package/lib/esm/function/algebra/sparse/csFlip.js +4 -2
  63. package/lib/esm/function/algebra/sparse/csIpvec.js +4 -0
  64. package/lib/esm/function/algebra/sparse/csLeaf.js +4 -2
  65. package/lib/esm/function/algebra/sparse/csLu.js +4 -2
  66. package/lib/esm/function/algebra/sparse/csMark.js +4 -2
  67. package/lib/esm/function/algebra/sparse/csMarked.js +4 -2
  68. package/lib/esm/function/algebra/sparse/csPermute.js +4 -2
  69. package/lib/esm/function/algebra/sparse/csPost.js +3 -2
  70. package/lib/esm/function/algebra/sparse/csReach.js +4 -2
  71. package/lib/esm/function/algebra/sparse/csSpsolve.js +3 -2
  72. package/lib/esm/function/algebra/sparse/csSqr.js +3 -2
  73. package/lib/esm/function/algebra/sparse/csSymperm.js +3 -2
  74. package/lib/esm/function/algebra/sparse/csTdfs.js +4 -2
  75. package/lib/esm/function/algebra/sparse/csUnflip.js +3 -2
  76. package/lib/esm/function/arithmetic/multiply.js +30 -29
  77. package/lib/esm/function/arithmetic/round.js +38 -7
  78. package/lib/esm/function/matrix/dot.js +3 -3
  79. package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +4 -4
  80. package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +4 -4
  81. package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +4 -4
  82. package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +4 -4
  83. package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +4 -4
  84. package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +4 -4
  85. package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +4 -4
  86. package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +4 -4
  87. package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +4 -4
  88. package/lib/esm/type/unit/Unit.js +6 -2
  89. package/lib/esm/utils/map.js +2 -0
  90. package/lib/esm/version.js +1 -1
  91. package/package.json +16 -16
  92. package/types/index.d.ts +5 -5
@@ -3281,6 +3281,7 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
3281
3281
  };
3282
3282
 
3283
3283
  // aliases (formerly plurals)
3284
+ // note that ALIASES is only used at creation to create more entries in UNITS by copying the aliased units
3284
3285
  var ALIASES = {
3285
3286
  meters: 'meter',
3286
3287
  inches: 'inch',
@@ -3926,13 +3927,16 @@ var createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fact
3926
3927
  _alias.name = aliasName;
3927
3928
  Unit.UNITS[aliasName] = _alias;
3928
3929
  }
3929
- // delete the memoization cache, since adding a new unit to the array
3930
- // invalidates all old results
3930
+
3931
+ // delete the memoization cache because we created a new unit
3931
3932
  delete _findUnit.cache;
3932
3933
  return new Unit(null, name);
3933
3934
  };
3934
3935
  Unit.deleteUnit = function (name) {
3935
3936
  delete Unit.UNITS[name];
3937
+
3938
+ // delete the memoization cache because we deleted a unit
3939
+ delete _findUnit.cache;
3936
3940
  };
3937
3941
 
3938
3942
  // expose arrays with prefixes, dimensions, units, systems
@@ -30,6 +30,7 @@ var ObjectWrappingMap = exports.ObjectWrappingMap = /*#__PURE__*/function () {
30
30
  function ObjectWrappingMap(object) {
31
31
  (0, _classCallCheck2["default"])(this, ObjectWrappingMap);
32
32
  this.wrappedObject = object;
33
+ this[Symbol.iterator] = this.entries;
33
34
  }
34
35
  (0, _createClass2["default"])(ObjectWrappingMap, [{
35
36
  key: "keys",
@@ -130,6 +131,7 @@ var PartitionedMap = exports.PartitionedMap = /*#__PURE__*/function () {
130
131
  this.a = a;
131
132
  this.b = b;
132
133
  this.bKeys = bKeys;
134
+ this[Symbol.iterator] = this.entries;
133
135
  }
134
136
  (0, _createClass2["default"])(PartitionedMap, [{
135
137
  key: "get",
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = exports.version = '12.3.2';
7
+ var version = exports.version = '12.4.1';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
@@ -593,6 +593,7 @@ export var rightArithShift = /* #__PURE__ */createRightArithShift({
593
593
  export var round = /* #__PURE__ */createRound({
594
594
  BigNumber,
595
595
  DenseMatrix,
596
+ config,
596
597
  equalScalar,
597
598
  matrix,
598
599
  typed,
@@ -142,21 +142,23 @@ export var createConstantNode = /* #__PURE__ */factory(name, dependencies, _ref
142
142
  */
143
143
  _toTex(options) {
144
144
  var value = this._toString(options);
145
- switch (typeOf(this.value)) {
145
+ var type = typeOf(this.value);
146
+ switch (type) {
146
147
  case 'string':
147
148
  return '\\mathtt{' + escapeLatex(value) + '}';
148
149
  case 'number':
149
150
  case 'BigNumber':
150
151
  {
151
- if (!isFinite(this.value)) {
152
+ var finite = type === 'BigNumber' ? this.value.isFinite() : isFinite(this.value);
153
+ if (!finite) {
152
154
  return this.value.valueOf() < 0 ? '-\\infty' : '\\infty';
153
155
  }
154
156
  var index = value.toLowerCase().indexOf('e');
155
157
  if (index !== -1) {
156
158
  return value.substring(0, index) + '\\cdot10^{' + value.substring(index + 1) + '}';
157
159
  }
160
+ return value;
158
161
  }
159
- return value;
160
162
  case 'Fraction':
161
163
  return this.value.toLatex();
162
164
  default:
@@ -1409,8 +1409,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
1409
1409
  while (state.token === ';') {
1410
1410
  // eslint-disable-line no-unmodified-loop-condition
1411
1411
  getToken(state);
1412
- params[rows] = parseRow(state);
1413
- rows++;
1412
+ if (state.token !== ']') {
1413
+ params[rows] = parseRow(state);
1414
+ rows++;
1415
+ }
1414
1416
  }
1415
1417
  if (state.token !== ']') {
1416
1418
  throw createSyntaxError(state, 'End of matrix ] expected');
@@ -1458,8 +1460,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
1458
1460
  getToken(state);
1459
1461
 
1460
1462
  // parse expression
1461
- params[len] = parseAssignment(state);
1462
- len++;
1463
+ if (state.token !== ']' && state.token !== ';') {
1464
+ params[len] = parseAssignment(state);
1465
+ len++;
1466
+ }
1463
1467
  }
1464
1468
  return new ArrayNode(params);
1465
1469
  }
@@ -229,6 +229,9 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
229
229
  if (isConstantNode(_a)) {
230
230
  if (_a.value) {
231
231
  if (isAlwaysBoolean(a1)) return a1;
232
+ if (isConstantNode(a1)) {
233
+ return a1.value ? nodeT : nodeF;
234
+ }
232
235
  } else {
233
236
  return nodeF;
234
237
  }
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { factory } from '../../../utils/factory.js';
2
5
  import { csFkeep } from './csFkeep.js';
3
6
  import { csFlip } from './csFlip.js';
@@ -16,8 +19,6 @@ export var createCsAmd = /* #__PURE__ */factory(name, dependencies, _ref => {
16
19
  * than A. It is a gready method that selects the sparsest pivot row and column during the course
17
20
  * of a right looking sparse Cholesky factorization.
18
21
  *
19
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
20
- *
21
22
  * @param {Number} order 0: Natural, 1: Cholesky, 2: LU, 3: QR
22
23
  * @param {Matrix} m Sparse Matrix
23
24
  */
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { factory } from '../../../utils/factory.js';
2
5
  import { csEreach } from './csEreach.js';
3
6
  import { createCsSymperm } from './csSymperm.js';
@@ -29,8 +32,6 @@ export var createCsChol = /* #__PURE__ */factory(name, dependencies, _ref => {
29
32
  * @param {Object} s The symbolic analysis from cs_schol()
30
33
  *
31
34
  * @return {Number} The numeric Cholesky factorization of A or null
32
- *
33
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
34
35
  */
35
36
  return function csChol(m, s) {
36
37
  // validate input
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { factory } from '../../../utils/factory.js';
2
5
  import { csLeaf } from './csLeaf.js';
3
6
  var name = 'csCounts';
@@ -15,8 +18,6 @@ export var createCsCounts = /* #__PURE__ */factory(name, dependencies, _ref => {
15
18
  * @param {Matrix} ata Count the columns of A'A instead
16
19
  *
17
20
  * @return An array of size n of the column counts or null on error
18
- *
19
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
20
21
  */
21
22
  return function (a, parent, post, ata) {
22
23
  // check inputs
@@ -1,11 +1,13 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * It sets the p[i] equal to the sum of c[0] through c[i-1].
3
7
  *
4
8
  * @param {Array} ptr The Sparse Matrix ptr array
5
9
  * @param {Array} c The Sparse Matrix ptr array
6
10
  * @param {Number} n The number of columns
7
- *
8
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
9
11
  */
10
12
  export function csCumsum(ptr, c, n) {
11
13
  // variables
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csMarked } from './csMarked.js';
2
5
  import { csMark } from './csMark.js';
3
6
  import { csUnflip } from './csUnflip.js';
@@ -15,8 +18,6 @@ import { csUnflip } from './csUnflip.js';
15
18
  * @param {Array} pinv The inverse row permutation vector, must be null for L * x = b
16
19
  *
17
20
  * @return {Number} New value of top
18
- *
19
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
20
21
  */
21
22
  export function csDfs(j, g, top, xi, pinv) {
22
23
  // g arrays
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csMark } from './csMark.js';
2
5
  import { csMarked } from './csMarked.js';
3
6
 
@@ -11,8 +14,6 @@ import { csMarked } from './csMarked.js';
11
14
  * The first n entries is the nonzero pattern, the last n entries is the stack
12
15
  *
13
16
  * @return {Number} The index for the nonzero pattern
14
- *
15
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
16
17
  */
17
18
  export function csEreach(a, k, parent, w) {
18
19
  // a arrays
@@ -1,11 +1,13 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Computes the elimination tree of Matrix A (using triu(A)) or the
3
7
  * elimination tree of A'A without forming A'A.
4
8
  *
5
9
  * @param {Matrix} a The A Matrix
6
10
  * @param {boolean} ata A value of true the function computes the etree of A'A
7
- *
8
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
9
11
  */
10
12
  export function csEtree(a, ata) {
11
13
  // check inputs
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Keeps entries in the matrix when the callback function returns true, removes the entry otherwise
3
7
  *
@@ -10,8 +14,6 @@
10
14
  * @param {any} other The state
11
15
  *
12
16
  * @return The number of nonzero elements in the matrix
13
- *
14
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
15
17
  */
16
18
  export function csFkeep(a, callback, other) {
17
19
  // a arrays
@@ -1,9 +1,11 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * This function "flips" its input about the integer -1.
3
7
  *
4
8
  * @param {Number} i The value to flip
5
- *
6
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
7
9
  */
8
10
  export function csFlip(i) {
9
11
  // flip the value
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Permutes a vector; x = P'b. In MATLAB notation, x(p)=b.
3
7
  *
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * This function determines if j is a leaf of the ith row subtree.
3
7
  * Consider A(i,j), node j in ith row subtree and return lca(jprev,j)
@@ -11,8 +15,6 @@
11
15
  * @param {Number} ancestor The index offset within the workspace for the ancestor array
12
16
  *
13
17
  * @return {Object}
14
- *
15
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
16
18
  */
17
19
  export function csLeaf(i, j, w, first, maxfirst, prevleaf, ancestor) {
18
20
  var s, sparent;
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  import { factory } from '../../../utils/factory.js';
2
6
  import { createCsSpsolve } from './csSpsolve.js';
3
7
  var name = 'csLu';
@@ -30,8 +34,6 @@ export var createCsLu = /* #__PURE__ */factory(name, dependencies, _ref => {
30
34
  * @param {Number} tol Partial pivoting threshold (1 for partial pivoting)
31
35
  *
32
36
  * @return {Number} The numeric LU factorization of A or null
33
- *
34
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
35
37
  */
36
38
  return function csLu(m, s, tol) {
37
39
  // validate input
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  import { csFlip } from './csFlip.js';
2
6
 
3
7
  /**
@@ -5,8 +9,6 @@ import { csFlip } from './csFlip.js';
5
9
  *
6
10
  * @param {Array} w The array
7
11
  * @param {Number} j The array index
8
- *
9
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
10
12
  */
11
13
  export function csMark(w, j) {
12
14
  // mark w[j]
@@ -1,10 +1,12 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Checks if the node at w[j] is marked
3
7
  *
4
8
  * @param {Array} w The array
5
9
  * @param {Number} j The array index
6
- *
7
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
8
10
  */
9
11
  export function csMarked(w, j) {
10
12
  // check node is marked
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Permutes a sparse matrix C = P * A * Q
3
7
  *
@@ -7,8 +11,6 @@
7
11
  * @param {boolean} values Create a pattern matrix (false), values and pattern otherwise
8
12
  *
9
13
  * @return {Matrix} C = P * A * Q, null on error
10
- *
11
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
12
14
  */
13
15
  export function csPermute(a, pinv, q, values) {
14
16
  // a arrays
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csTdfs } from './csTdfs.js';
2
5
 
3
6
  /**
@@ -5,8 +8,6 @@ import { csTdfs } from './csTdfs.js';
5
8
  *
6
9
  * @param {Array} parent The tree or forest
7
10
  * @param {Number} n Number of columns
8
- *
9
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
10
11
  */
11
12
  export function csPost(parent, n) {
12
13
  // check inputs
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  import { csMarked } from './csMarked.js';
2
6
  import { csMark } from './csMark.js';
3
7
  import { csDfs } from './csDfs.js';
@@ -15,8 +19,6 @@ import { csDfs } from './csDfs.js';
15
19
  * @param {Array} pinv The inverse row permutation vector
16
20
  *
17
21
  * @return {Number} The index for the nonzero pattern
18
- *
19
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
20
22
  */
21
23
  export function csReach(g, b, k, xi, pinv) {
22
24
  // g arrays
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csReach } from './csReach.js';
2
5
  import { factory } from '../../../utils/factory.js';
3
6
  var name = 'csSpsolve';
@@ -24,8 +27,6 @@ export var createCsSpsolve = /* #__PURE__ */factory(name, dependencies, _ref =>
24
27
  * @param {boolean} lo The lower (true) upper triangular (false) flag
25
28
  *
26
29
  * @return {Number} The index for the nonzero pattern
27
- *
28
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
29
30
  */
30
31
  return function csSpsolve(g, b, k, xi, x, pinv, lo) {
31
32
  // g arrays
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csPermute } from './csPermute.js';
2
5
  import { csPost } from './csPost.js';
3
6
  import { csEtree } from './csEtree.js';
@@ -30,8 +33,6 @@ export var createCsSqr = /* #__PURE__ */factory(name, dependencies, _ref => {
30
33
  * symbolic ordering and analysis for LU decomposition (false)
31
34
  *
32
35
  * @return {Object} The Symbolic ordering and analysis for matrix A
33
- *
34
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
35
36
  */
36
37
  return function csSqr(order, a, qr) {
37
38
  // a arrays
@@ -1,3 +1,6 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csCumsum } from './csCumsum.js';
2
5
  import { factory } from '../../../utils/factory.js';
3
6
  var name = 'csSymperm';
@@ -18,8 +21,6 @@ export var createCsSymperm = /* #__PURE__ */factory(name, dependencies, _ref =>
18
21
  * @param {boolean} values Process matrix values (true)
19
22
  *
20
23
  * @return {Matrix} The C matrix, C = P * A * P'
21
- *
22
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
23
24
  */
24
25
  return function csSymperm(a, pinv, values) {
25
26
  // A matrix arrays
@@ -1,3 +1,7 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
4
+
1
5
  /**
2
6
  * Depth-first search and postorder of a tree rooted at node j
3
7
  *
@@ -8,8 +12,6 @@
8
12
  * @param {Number} next The index offset within the workspace for the next array
9
13
  * @param {Array} post The post ordering array
10
14
  * @param {Number} stack The index offset within the workspace for the stack array
11
- *
12
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
13
15
  */
14
16
  export function csTdfs(j, k, w, head, next, post, stack) {
15
17
  // variables
@@ -1,11 +1,12 @@
1
+ // Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
2
+ // SPDX-License-Identifier: LGPL-2.1+
3
+ // https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source
1
4
  import { csFlip } from './csFlip.js';
2
5
 
3
6
  /**
4
7
  * Flips the value if it is negative of returns the same value otherwise.
5
8
  *
6
9
  * @param {Number} i The value to flip
7
- *
8
- * Reference: http://faculty.cse.tamu.edu/davis/publications.html
9
10
  */
10
11
  export function csUnflip(i) {
11
12
  // flip the value if it is negative