@johnhenry/math 0.0.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.
Files changed (242) hide show
  1. package/README.md +165 -0
  2. package/dist/Bivector4.d.ts +52 -0
  3. package/dist/Bivector4.d.ts.map +1 -0
  4. package/dist/Bivector4.js +105 -0
  5. package/dist/Bivector4.js.map +1 -0
  6. package/dist/CellGraph.d.ts +259 -0
  7. package/dist/CellGraph.d.ts.map +1 -0
  8. package/dist/CellGraph.js +637 -0
  9. package/dist/CellGraph.js.map +1 -0
  10. package/dist/Clifford4Internal.d.ts +35 -0
  11. package/dist/Clifford4Internal.d.ts.map +1 -0
  12. package/dist/Clifford4Internal.js +86 -0
  13. package/dist/Clifford4Internal.js.map +1 -0
  14. package/dist/Combinatorics.d.ts +61 -0
  15. package/dist/Combinatorics.d.ts.map +1 -0
  16. package/dist/Combinatorics.js +186 -0
  17. package/dist/Combinatorics.js.map +1 -0
  18. package/dist/CombinatoricsGenerators.d.ts +44 -0
  19. package/dist/CombinatoricsGenerators.d.ts.map +1 -0
  20. package/dist/CombinatoricsGenerators.js +148 -0
  21. package/dist/CombinatoricsGenerators.js.map +1 -0
  22. package/dist/ComplexMath.d.ts +46 -0
  23. package/dist/ComplexMath.d.ts.map +1 -0
  24. package/dist/ComplexMath.js +98 -0
  25. package/dist/ComplexMath.js.map +1 -0
  26. package/dist/ComplexNumber.d.ts +174 -0
  27. package/dist/ComplexNumber.d.ts.map +1 -0
  28. package/dist/ComplexNumber.js +443 -0
  29. package/dist/ComplexNumber.js.map +1 -0
  30. package/dist/Cycle.d.ts +42 -0
  31. package/dist/Cycle.d.ts.map +1 -0
  32. package/dist/Cycle.js +120 -0
  33. package/dist/Cycle.js.map +1 -0
  34. package/dist/Decimal.d.ts +45 -0
  35. package/dist/Decimal.d.ts.map +1 -0
  36. package/dist/Decimal.js +135 -0
  37. package/dist/Decimal.js.map +1 -0
  38. package/dist/Distributions.d.ts +55 -0
  39. package/dist/Distributions.d.ts.map +1 -0
  40. package/dist/Distributions.js +222 -0
  41. package/dist/Distributions.js.map +1 -0
  42. package/dist/DualNumber.d.ts +42 -0
  43. package/dist/DualNumber.d.ts.map +1 -0
  44. package/dist/DualNumber.js +91 -0
  45. package/dist/DualNumber.js.map +1 -0
  46. package/dist/Environment.d.ts +44 -0
  47. package/dist/Environment.d.ts.map +1 -0
  48. package/dist/Environment.js +129 -0
  49. package/dist/Environment.js.map +1 -0
  50. package/dist/Expression.d.ts +19 -0
  51. package/dist/Expression.d.ts.map +1 -0
  52. package/dist/Expression.js +43 -0
  53. package/dist/Expression.js.map +1 -0
  54. package/dist/FFT.d.ts +21 -0
  55. package/dist/FFT.d.ts.map +1 -0
  56. package/dist/FFT.js +136 -0
  57. package/dist/FFT.js.map +1 -0
  58. package/dist/GeometricAlgebra4.d.ts +73 -0
  59. package/dist/GeometricAlgebra4.d.ts.map +1 -0
  60. package/dist/GeometricAlgebra4.js +115 -0
  61. package/dist/GeometricAlgebra4.js.map +1 -0
  62. package/dist/Geometry.d.ts +41 -0
  63. package/dist/Geometry.d.ts.map +1 -0
  64. package/dist/Geometry.js +167 -0
  65. package/dist/Geometry.js.map +1 -0
  66. package/dist/Graph.d.ts +72 -0
  67. package/dist/Graph.d.ts.map +1 -0
  68. package/dist/Graph.js +337 -0
  69. package/dist/Graph.js.map +1 -0
  70. package/dist/Graph3DUtils.d.ts +80 -0
  71. package/dist/Graph3DUtils.d.ts.map +1 -0
  72. package/dist/Graph3DUtils.js +156 -0
  73. package/dist/Graph3DUtils.js.map +1 -0
  74. package/dist/GraphUtils.d.ts +67 -0
  75. package/dist/GraphUtils.d.ts.map +1 -0
  76. package/dist/GraphUtils.js +72 -0
  77. package/dist/GraphUtils.js.map +1 -0
  78. package/dist/GroupTheory.d.ts +73 -0
  79. package/dist/GroupTheory.d.ts.map +1 -0
  80. package/dist/GroupTheory.js +194 -0
  81. package/dist/GroupTheory.js.map +1 -0
  82. package/dist/IntUtils.d.ts +33 -0
  83. package/dist/IntUtils.d.ts.map +1 -0
  84. package/dist/IntUtils.js +185 -0
  85. package/dist/IntUtils.js.map +1 -0
  86. package/dist/Interval.d.ts +44 -0
  87. package/dist/Interval.d.ts.map +1 -0
  88. package/dist/Interval.js +165 -0
  89. package/dist/Interval.js.map +1 -0
  90. package/dist/Lattice.d.ts +48 -0
  91. package/dist/Lattice.d.ts.map +1 -0
  92. package/dist/Lattice.js +65 -0
  93. package/dist/Lattice.js.map +1 -0
  94. package/dist/Logic.d.ts +22 -0
  95. package/dist/Logic.d.ts.map +1 -0
  96. package/dist/Logic.js +34 -0
  97. package/dist/Logic.js.map +1 -0
  98. package/dist/MatrixMath.d.ts +71 -0
  99. package/dist/MatrixMath.d.ts.map +1 -0
  100. package/dist/MatrixMath.js +302 -0
  101. package/dist/MatrixMath.js.map +1 -0
  102. package/dist/NumberTheory.d.ts +49 -0
  103. package/dist/NumberTheory.d.ts.map +1 -0
  104. package/dist/NumberTheory.js +230 -0
  105. package/dist/NumberTheory.js.map +1 -0
  106. package/dist/Numerical.d.ts +85 -0
  107. package/dist/Numerical.d.ts.map +1 -0
  108. package/dist/Numerical.js +343 -0
  109. package/dist/Numerical.js.map +1 -0
  110. package/dist/Permutation.d.ts +43 -0
  111. package/dist/Permutation.d.ts.map +1 -0
  112. package/dist/Permutation.js +142 -0
  113. package/dist/Permutation.js.map +1 -0
  114. package/dist/Polygon.d.ts +64 -0
  115. package/dist/Polygon.d.ts.map +1 -0
  116. package/dist/Polygon.js +221 -0
  117. package/dist/Polygon.js.map +1 -0
  118. package/dist/PolynomialRing.d.ts +74 -0
  119. package/dist/PolynomialRing.d.ts.map +1 -0
  120. package/dist/PolynomialRing.js +231 -0
  121. package/dist/PolynomialRing.js.map +1 -0
  122. package/dist/Quaternion.d.ts +37 -0
  123. package/dist/Quaternion.d.ts.map +1 -0
  124. package/dist/Quaternion.js +106 -0
  125. package/dist/Quaternion.js.map +1 -0
  126. package/dist/Rational.d.ts +34 -0
  127. package/dist/Rational.d.ts.map +1 -0
  128. package/dist/Rational.js +136 -0
  129. package/dist/Rational.js.map +1 -0
  130. package/dist/RealMath.d.ts +112 -0
  131. package/dist/RealMath.d.ts.map +1 -0
  132. package/dist/RealMath.js +262 -0
  133. package/dist/RealMath.js.map +1 -0
  134. package/dist/Rotor4.d.ts +180 -0
  135. package/dist/Rotor4.d.ts.map +1 -0
  136. package/dist/Rotor4.js +388 -0
  137. package/dist/Rotor4.js.map +1 -0
  138. package/dist/SpecialFunctions.d.ts +32 -0
  139. package/dist/SpecialFunctions.d.ts.map +1 -0
  140. package/dist/SpecialFunctions.js +161 -0
  141. package/dist/SpecialFunctions.js.map +1 -0
  142. package/dist/SpecialOperator.d.ts +21 -0
  143. package/dist/SpecialOperator.d.ts.map +1 -0
  144. package/dist/SpecialOperator.js +26 -0
  145. package/dist/SpecialOperator.js.map +1 -0
  146. package/dist/Statistics.d.ts +50 -0
  147. package/dist/Statistics.d.ts.map +1 -0
  148. package/dist/Statistics.js +131 -0
  149. package/dist/Statistics.js.map +1 -0
  150. package/dist/StringEvaluator.d.ts +48 -0
  151. package/dist/StringEvaluator.d.ts.map +1 -0
  152. package/dist/StringEvaluator.js +190 -0
  153. package/dist/StringEvaluator.js.map +1 -0
  154. package/dist/Structure.d.ts +130 -0
  155. package/dist/Structure.d.ts.map +1 -0
  156. package/dist/Structure.js +394 -0
  157. package/dist/Structure.js.map +1 -0
  158. package/dist/Symbolic.d.ts +501 -0
  159. package/dist/Symbolic.d.ts.map +1 -0
  160. package/dist/Symbolic.js +4077 -0
  161. package/dist/Symbolic.js.map +1 -0
  162. package/dist/Type.d.ts +31 -0
  163. package/dist/Type.d.ts.map +1 -0
  164. package/dist/Type.js +47 -0
  165. package/dist/Type.js.map +1 -0
  166. package/dist/Utilities.d.ts +27 -0
  167. package/dist/Utilities.d.ts.map +1 -0
  168. package/dist/Utilities.js +47 -0
  169. package/dist/Utilities.js.map +1 -0
  170. package/dist/Vec4.d.ts +39 -0
  171. package/dist/Vec4.d.ts.map +1 -0
  172. package/dist/Vec4.js +82 -0
  173. package/dist/Vec4.js.map +1 -0
  174. package/dist/Vector.d.ts +83 -0
  175. package/dist/Vector.d.ts.map +1 -0
  176. package/dist/Vector.js +173 -0
  177. package/dist/Vector.js.map +1 -0
  178. package/dist/VectorCalculus.d.ts +42 -0
  179. package/dist/VectorCalculus.d.ts.map +1 -0
  180. package/dist/VectorCalculus.js +82 -0
  181. package/dist/VectorCalculus.js.map +1 -0
  182. package/dist/VectorUtils.d.ts +172 -0
  183. package/dist/VectorUtils.d.ts.map +1 -0
  184. package/dist/VectorUtils.js +706 -0
  185. package/dist/VectorUtils.js.map +1 -0
  186. package/dist/differentiation-rules.d.ts +21 -0
  187. package/dist/differentiation-rules.d.ts.map +1 -0
  188. package/dist/differentiation-rules.js +52 -0
  189. package/dist/differentiation-rules.js.map +1 -0
  190. package/dist/index.d.ts +52 -0
  191. package/dist/index.d.ts.map +1 -0
  192. package/dist/index.js +66 -0
  193. package/dist/index.js.map +1 -0
  194. package/package.json +68 -0
  195. package/src/Bivector4.ts +136 -0
  196. package/src/CellGraph.ts +669 -0
  197. package/src/Clifford4Internal.ts +90 -0
  198. package/src/Combinatorics.ts +183 -0
  199. package/src/CombinatoricsGenerators.ts +144 -0
  200. package/src/ComplexMath.ts +162 -0
  201. package/src/ComplexNumber.ts +491 -0
  202. package/src/Cycle.ts +126 -0
  203. package/src/Decimal.ts +145 -0
  204. package/src/Distributions.ts +269 -0
  205. package/src/DualNumber.ts +105 -0
  206. package/src/Environment.ts +127 -0
  207. package/src/Expression.ts +48 -0
  208. package/src/FFT.ts +146 -0
  209. package/src/GeometricAlgebra4.ts +157 -0
  210. package/src/Geometry.ts +173 -0
  211. package/src/Graph.ts +337 -0
  212. package/src/Graph3DUtils.ts +269 -0
  213. package/src/GraphUtils.ts +159 -0
  214. package/src/GroupTheory.ts +214 -0
  215. package/src/IntUtils.ts +200 -0
  216. package/src/Interval.ts +171 -0
  217. package/src/Lattice.ts +87 -0
  218. package/src/Logic.ts +38 -0
  219. package/src/MatrixMath.ts +326 -0
  220. package/src/NumberTheory.ts +228 -0
  221. package/src/Numerical.ts +390 -0
  222. package/src/Permutation.ts +148 -0
  223. package/src/Polygon.ts +229 -0
  224. package/src/PolynomialRing.ts +242 -0
  225. package/src/Quaternion.ts +125 -0
  226. package/src/Rational.ts +148 -0
  227. package/src/RealMath.ts +346 -0
  228. package/src/Rotor4.ts +440 -0
  229. package/src/SpecialFunctions.ts +152 -0
  230. package/src/SpecialOperator.ts +28 -0
  231. package/src/Statistics.ts +170 -0
  232. package/src/StringEvaluator.ts +208 -0
  233. package/src/Structure.ts +481 -0
  234. package/src/Symbolic.ts +4313 -0
  235. package/src/Type.ts +48 -0
  236. package/src/Utilities.ts +49 -0
  237. package/src/Vec4.ts +98 -0
  238. package/src/Vector.ts +189 -0
  239. package/src/VectorCalculus.ts +87 -0
  240. package/src/VectorUtils.ts +797 -0
  241. package/src/differentiation-rules.ts +73 -0
  242. package/src/index.ts +140 -0
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Data-driven derivative rules for single-argument elementary functions --
3
+ * the `func` `Expr` variant (`sin`, `exp`, `asinh`, etc.). This is the
4
+ * "declarative rewrite-rule table" from the Woxi-study design note
5
+ * (github.com/johnhenry/math#15): each `FuncName` maps to a pure function
6
+ * from (the function's argument `u`, its already-differentiated form `du`)
7
+ * to d/dx[f(u)]. The chain-rule wrapping itself (computing `du` and
8
+ * dispatching on `e.name`) stays in Symbolic.ts, since that's structural
9
+ * recursion over the `Expr` union, not a per-function identity.
10
+ *
11
+ * Keeping this as a `Record<FuncName, ...>` rather than a `switch` means:
12
+ * adding/fixing one function's derivative touches one line here, not the
13
+ * differentiation engine; TypeScript enforces every `FuncName` has an entry
14
+ * (no `throw new Error("Unhandled function")` needed); and each rule is
15
+ * independently unit-testable (see differentiation-rules.test.ts).
16
+ */
17
+ import type { Expr, FuncName } from "./Symbolic.ts";
18
+
19
+ const num = (value: number): Expr => ({ type: "const", value });
20
+ const add = (left: Expr, right: Expr): Expr => ({ type: "add", left, right });
21
+ const sub = (left: Expr, right: Expr): Expr => ({ type: "sub", left, right });
22
+ const mul = (left: Expr, right: Expr): Expr => ({ type: "mul", left, right });
23
+ const div = (left: Expr, right: Expr): Expr => ({ type: "div", left, right });
24
+ const pow = (base: Expr, exp: Expr): Expr => ({ type: "pow", base, exp });
25
+ const neg = (arg: Expr): Expr => ({ type: "neg", arg });
26
+ const fn = (name: FuncName, arg: Expr): Expr => ({ type: "func", name, arg });
27
+
28
+ /** d/dx[f(u)] given `u` and `du` (= du/dx, already computed by the caller). */
29
+ export type FuncDerivativeRule = (u: Expr, du: Expr) => Expr;
30
+
31
+ export const FUNC_DERIVATIVE_RULES: Record<FuncName, FuncDerivativeRule> = {
32
+ sin: (u, du) => mul(fn("cos", u), du),
33
+ cos: (u, du) => neg(mul(fn("sin", u), du)),
34
+ tan: (u, du) => div(du, pow(fn("cos", u), num(2))),
35
+ exp: (u, du) => mul(fn("exp", u), du),
36
+ ln: (u, du) => div(du, u),
37
+ sqrt: (u, du) => div(du, mul(num(2), fn("sqrt", u))),
38
+ asin: (u, du) => div(du, fn("sqrt", sub(num(1), pow(u, num(2))))),
39
+ acos: (u, du) => neg(div(du, fn("sqrt", sub(num(1), pow(u, num(2)))))),
40
+ atan: (u, du) => div(du, add(num(1), pow(u, num(2)))),
41
+ sinh: (u, du) => mul(fn("cosh", u), du),
42
+ cosh: (u, du) => mul(fn("sinh", u), du),
43
+ tanh: (u, du) => div(du, pow(fn("cosh", u), num(2))),
44
+ cot: (u, du) => neg(mul(pow(fn("csc", u), num(2)), du)),
45
+ sec: (u, du) => mul(mul(fn("sec", u), fn("tan", u)), du),
46
+ csc: (u, du) => neg(mul(mul(fn("csc", u), fn("cot", u)), du)),
47
+ asinh: (u, du) => div(du, fn("sqrt", add(pow(u, num(2)), num(1)))),
48
+ acosh: (u, du) => div(du, fn("sqrt", sub(pow(u, num(2)), num(1)))),
49
+ atanh: (u, du) => div(du, sub(num(1), pow(u, num(2)))),
50
+ coth: (u, du) => neg(mul(pow(fn("csch", u), num(2)), du)),
51
+ sech: (u, du) => neg(mul(mul(fn("sech", u), fn("tanh", u)), du)),
52
+ csch: (u, du) => neg(mul(mul(fn("csch", u), fn("coth", u)), du)),
53
+ acot: (u, du) => neg(div(du, add(num(1), pow(u, num(2))))),
54
+ asec: (u, du) => div(du, mul(fn("abs", u), fn("sqrt", sub(pow(u, num(2)), num(1))))),
55
+ acsc: (u, du) => neg(div(du, mul(fn("abs", u), fn("sqrt", sub(pow(u, num(2)), num(1)))))),
56
+ acoth: (u, du) => div(du, sub(num(1), pow(u, num(2)))),
57
+ asech: (u, du) => neg(div(du, mul(u, fn("sqrt", sub(num(1), pow(u, num(2))))))),
58
+ acsch: (u, du) => neg(div(du, mul(fn("abs", u), fn("sqrt", add(num(1), pow(u, num(2))))))),
59
+ abs: (u, du) => mul(fn("sign", u), du),
60
+ log10: (u, du) => div(du, mul(u, fn("ln", num(10)))),
61
+ log2: (u, du) => div(du, mul(u, fn("ln", num(2)))),
62
+ cbrt: (u, du) => div(du, mul(num(3), pow(fn("cbrt", u), num(2)))),
63
+ floor: () => num(0),
64
+ ceil: () => num(0),
65
+ round: () => num(0),
66
+ sign: () => num(0),
67
+ trunc: () => num(0),
68
+ expm1: (u, du) => mul(fn("exp", u), du),
69
+ log1p: (u, du) => div(du, add(num(1), u)),
70
+ sigmoid: (u, du) => mul(mul(fn("sigmoid", u), sub(num(1), fn("sigmoid", u))), du),
71
+ erf: (u, du) => mul(mul(div(num(2), fn("sqrt", num(Math.PI))), fn("exp", neg(pow(u, num(2))))), du),
72
+ relu: (u, du) => mul(div(add(num(1), fn("sign", u)), num(2)), du),
73
+ };
package/src/index.ts ADDED
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @johnhenry/math — advanced college-level mathematics for TypeScript.
3
+ *
4
+ * A modern, tested TypeScript port of the Mallory ActionScript 3 library.
5
+ */
6
+
7
+ // 4D geometric algebra (vectors, bivectors, rotors) -- see report/MIEGAKURE_REPORT.md
8
+ // in johnhenry/miegakure-archive for the design context this was built for.
9
+ export { Bivector4 } from "./Bivector4.ts";
10
+ // Reactive, pull-based dependency graph -- promoted from johnhenry/mallory
11
+ // (its src/lib/cell-graph.ts), which math-grapher also vendored a frozen
12
+ // copy of; both now import it from here instead. See johnhenry/math#56.
13
+ export { CellGraph, type CellRole, CircularDependencyError, structuralEqual } from "./CellGraph.ts";
14
+ // Counting mathematics
15
+ export { Combinatorics } from "./Combinatorics.ts";
16
+ export {
17
+ combinations,
18
+ combinationsWithReplacement,
19
+ permutations,
20
+ product,
21
+ } from "./CombinatoricsGenerators.ts";
22
+ export * as ComplexMath from "./ComplexMath.ts";
23
+ export { ComplexNumber } from "./ComplexNumber.ts";
24
+ export { Cycle } from "./Cycle.ts";
25
+ export { Decimal } from "./Decimal.ts";
26
+ export {
27
+ type ContinuousDistribution,
28
+ type DiscreteDistribution,
29
+ Distributions,
30
+ HypothesisTests,
31
+ type TestResult,
32
+ } from "./Distributions.ts";
33
+ export { DualNumber } from "./DualNumber.ts";
34
+ export { FUNC_DERIVATIVE_RULES, type FuncDerivativeRule } from "./differentiation-rules.ts";
35
+ // Expression evaluation
36
+ export { Environment } from "./Environment.ts";
37
+ export { Expression } from "./Expression.ts";
38
+ export { FFT } from "./FFT.ts";
39
+ export {
40
+ type BivectorGeometricProduct,
41
+ commutatorProduct,
42
+ dotProduct as dotProduct4,
43
+ dual as dual4,
44
+ geometricProductBivectors,
45
+ geometricProductVectors,
46
+ leftContraction,
47
+ type VectorGeometricProduct,
48
+ wedgeProduct as wedgeProduct4,
49
+ } from "./GeometricAlgebra4.ts";
50
+ export { Geometry, type Point, Transform2D } from "./Geometry.ts";
51
+ export { type Edge, Graph } from "./Graph.ts";
52
+ export {
53
+ type Face,
54
+ Graph3DUtils,
55
+ type Material,
56
+ type Mesh,
57
+ type Placement3D,
58
+ type Vec3,
59
+ } from "./Graph3DUtils.ts";
60
+ // Graphing (renderer-agnostic geometry)
61
+ export {
62
+ type BarPlacement2D,
63
+ type FillStyle,
64
+ GraphUtils,
65
+ type Path2D,
66
+ type PathCommand,
67
+ type Placement2D,
68
+ type StrokeStyle,
69
+ } from "./GraphUtils.ts";
70
+ export { GroupTheory } from "./GroupTheory.ts";
71
+ // Combinatorics & number theory
72
+ export { Interval } from "./Interval.ts";
73
+ export { IntUtils } from "./IntUtils.ts";
74
+ export {
75
+ HEX_AXIAL_DIRECTIONS,
76
+ type HexDirection,
77
+ hexNeighbor,
78
+ hexNeighbors,
79
+ type TriDirection,
80
+ type TriOrientation,
81
+ triNeighbor,
82
+ triNeighbors,
83
+ triOrientation,
84
+ } from "./Lattice.ts";
85
+ export { Logic } from "./Logic.ts";
86
+ export {
87
+ type EigenResult,
88
+ type LUResult,
89
+ MatrixMath,
90
+ type QRResult,
91
+ type SVDResult,
92
+ } from "./MatrixMath.ts";
93
+ export { NumberTheory } from "./NumberTheory.ts";
94
+ export { type LevenbergMarquardtResult, Numerical, type ODEStep } from "./Numerical.ts";
95
+ export { Permutation } from "./Permutation.ts";
96
+ export { Polygon } from "./Polygon.ts";
97
+ export { PolynomialRing, parsePolynomial, polynomialToString } from "./PolynomialRing.ts";
98
+ export { Quaternion } from "./Quaternion.ts";
99
+ export { Rational } from "./Rational.ts";
100
+ // Numeric cores
101
+ export * as RealMath from "./RealMath.ts";
102
+ export { Rotor4 } from "./Rotor4.ts";
103
+ export { SpecialFunctions } from "./SpecialFunctions.ts";
104
+ export { SpecialOperator } from "./SpecialOperator.ts";
105
+ export * as Statistics from "./Statistics.ts";
106
+ export { StringEvaluator } from "./StringEvaluator.ts";
107
+ // Algebraic structures & geometry
108
+ export { Structure, type StructureOptions } from "./Structure.ts";
109
+ export {
110
+ type Assumption,
111
+ type BinaryFuncName,
112
+ type CmpOp,
113
+ DegenerateOdeError,
114
+ type DifferentiationStep,
115
+ type Expr,
116
+ FUNCTION_NAMES,
117
+ type FuncName,
118
+ InfiniteSolutionsError,
119
+ IntegrationSingularityError,
120
+ NoClosedFormError,
121
+ NonLinearSystemError,
122
+ NotIntegrableError,
123
+ NotSeparableError,
124
+ type OdeClosedFormResult,
125
+ ProductNotDifferentiableError,
126
+ SeriesDivergesError,
127
+ SingularSystemError,
128
+ Symbolic,
129
+ SystemDidNotConvergeError,
130
+ UndeclaredVariableError,
131
+ } from "./Symbolic.ts";
132
+ export { Type, TypeTag } from "./Type.ts";
133
+ // Utilities & leaves
134
+ export { Utilities } from "./Utilities.ts";
135
+ export { Vec4 } from "./Vec4.ts";
136
+ // Foundations
137
+ export { Vector } from "./Vector.ts";
138
+ export { VectorCalculus } from "./VectorCalculus.ts";
139
+ // Linear algebra
140
+ export { type Matrix, VectorUtils } from "./VectorUtils.ts";