nerdamer 1.1.13 → 2.0.0-rc.1

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 (341) hide show
  1. package/LICENSE.md +184 -0
  2. package/README.md +293 -312
  3. package/dist/bundle.js +2 -0
  4. package/dist/bundle.js.LICENSE.txt +7 -0
  5. package/dist/parser.js +2 -0
  6. package/dist/parser.js.LICENSE.txt +7 -0
  7. package/docs-data/parser-functions.json +1960 -0
  8. package/index.d.ts +10 -426
  9. package/output/algebra/adapters.d.ts +33 -0
  10. package/output/algebra/adapters.js +109 -0
  11. package/output/algebra/algorithms/arith.d.ts +84 -0
  12. package/output/algebra/algorithms/arith.js +323 -0
  13. package/output/algebra/algorithms/factor.d.ts +3 -0
  14. package/output/algebra/algorithms/factor.js +5 -0
  15. package/output/algebra/algorithms/factorMultivariate.d.ts +23 -0
  16. package/output/algebra/algorithms/factorMultivariate.js +2393 -0
  17. package/output/algebra/algorithms/factorUnivariate.d.ts +72 -0
  18. package/output/algebra/algorithms/factorUnivariate.js +1072 -0
  19. package/output/algebra/algorithms/gcd.d.ts +22 -0
  20. package/output/algebra/algorithms/gcd.js +690 -0
  21. package/output/algebra/algorithms/groebnerBase.d.ts +157 -0
  22. package/output/algebra/algorithms/groebnerBase.js +1166 -0
  23. package/output/algebra/algorithms/multiPoly/MultiPoly.d.ts +137 -0
  24. package/output/algebra/algorithms/multiPoly/MultiPoly.js +346 -0
  25. package/output/algebra/algorithms/poly.d.ts +228 -0
  26. package/output/algebra/algorithms/poly.js +1299 -0
  27. package/output/algebra/algorithms/rational.d.ts +17 -0
  28. package/output/algebra/algorithms/rational.js +115 -0
  29. package/output/algebra/factor/factor.d.ts +62 -0
  30. package/output/algebra/factor/factor.js +158 -0
  31. package/output/algebra/gcd/gcd.d.ts +29 -0
  32. package/output/algebra/gcd/gcd.js +141 -0
  33. package/output/algebra/groebner.d.ts +21 -0
  34. package/output/algebra/groebner.js +42 -0
  35. package/output/algebra/partfrac.d.ts +19 -0
  36. package/output/algebra/partfrac.js +398 -0
  37. package/output/algebra/polynomialize.d.ts +20 -0
  38. package/output/algebra/polynomialize.js +24 -0
  39. package/output/algebra/simplify/complexsimp.d.ts +7 -0
  40. package/output/algebra/simplify/complexsimp.js +24 -0
  41. package/output/algebra/simplify/factorCommon.d.ts +13 -0
  42. package/output/algebra/simplify/factorCommon.js +136 -0
  43. package/output/algebra/simplify/funcsimp.d.ts +26 -0
  44. package/output/algebra/simplify/funcsimp.js +633 -0
  45. package/output/algebra/simplify/invtrigrewrite.d.ts +10 -0
  46. package/output/algebra/simplify/invtrigrewrite.js +96 -0
  47. package/output/algebra/simplify/ratsimp.d.ts +21 -0
  48. package/output/algebra/simplify/ratsimp.js +140 -0
  49. package/output/algebra/simplify/simplify.d.ts +25 -0
  50. package/output/algebra/simplify/simplify.js +228 -0
  51. package/output/algebra/simplify/trigreduce.d.ts +38 -0
  52. package/output/algebra/simplify/trigreduce.js +424 -0
  53. package/output/algebra/simplify/trigrewrite.d.ts +17 -0
  54. package/output/algebra/simplify/trigrewrite.js +156 -0
  55. package/output/algebra/simplify/trigsimp.d.ts +11 -0
  56. package/output/algebra/simplify/trigsimp.js +369 -0
  57. package/output/algebra/simplify/utils.d.ts +32 -0
  58. package/output/algebra/simplify/utils.js +56 -0
  59. package/output/algebra/utils.d.ts +32 -0
  60. package/output/algebra/utils.js +48 -0
  61. package/output/api/advanced.d.ts +7 -0
  62. package/output/api/advanced.js +18 -0
  63. package/output/api/algebra.d.ts +17 -0
  64. package/output/api/algebra.js +32 -0
  65. package/output/api/assumptions.d.ts +4 -0
  66. package/output/api/assumptions.js +11 -0
  67. package/output/api/calculus.d.ts +9 -0
  68. package/output/api/calculus.js +21 -0
  69. package/output/api/core.d.ts +17 -0
  70. package/output/api/core.js +41 -0
  71. package/output/api/debug.d.ts +16 -0
  72. package/output/api/debug.js +23 -0
  73. package/output/api/parser.d.ts +85 -0
  74. package/output/api/parser.js +16 -0
  75. package/output/api/solve.d.ts +10 -0
  76. package/output/api/solve.js +16 -0
  77. package/output/api/structures.d.ts +10 -0
  78. package/output/api/structures.js +22 -0
  79. package/output/calculus/derivative/diff.d.ts +30 -0
  80. package/output/calculus/derivative/diff.js +238 -0
  81. package/output/calculus/fresnel.d.ts +16 -0
  82. package/output/calculus/fresnel.js +39 -0
  83. package/output/calculus/integrate/byParts.d.ts +18 -0
  84. package/output/calculus/integrate/byParts.js +339 -0
  85. package/output/calculus/integrate/bySubstitution.d.ts +135 -0
  86. package/output/calculus/integrate/bySubstitution.js +411 -0
  87. package/output/calculus/integrate/integrate.d.ts +38 -0
  88. package/output/calculus/integrate/integrate.js +652 -0
  89. package/output/calculus/integrate/integrationTable.d.ts +2 -0
  90. package/output/calculus/integrate/integrationTable.js +914 -0
  91. package/output/calculus/integrate/utils.d.ts +28 -0
  92. package/output/calculus/integrate/utils.js +96 -0
  93. package/output/calculus/laplace/ilaplace.d.ts +31 -0
  94. package/output/calculus/laplace/ilaplace.js +192 -0
  95. package/output/calculus/laplace/ilaplaceTable.d.ts +2 -0
  96. package/output/calculus/laplace/ilaplaceTable.js +200 -0
  97. package/output/calculus/laplace/laplace.d.ts +22 -0
  98. package/output/calculus/laplace/laplace.js +109 -0
  99. package/output/calculus/laplace/laplaceTable.d.ts +2 -0
  100. package/output/calculus/laplace/laplaceTable.js +187 -0
  101. package/output/calculus/limit/limit.d.ts +35 -0
  102. package/output/calculus/limit/limit.js +1183 -0
  103. package/output/calculus/limit/limitsTable.d.ts +2 -0
  104. package/output/calculus/limit/limitsTable.js +7 -0
  105. package/output/core/Settings.d.ts +32 -0
  106. package/output/core/Settings.js +68 -0
  107. package/output/core/adapters.d.ts +18 -0
  108. package/output/core/adapters.js +40 -0
  109. package/output/core/classes/assumption/Assumption.d.ts +218 -0
  110. package/output/core/classes/assumption/Assumption.js +605 -0
  111. package/output/core/classes/assumption/assertiveFunctions.d.ts +6 -0
  112. package/output/core/classes/assumption/assertiveFunctions.js +64 -0
  113. package/output/core/classes/assumption/assume.d.ts +90 -0
  114. package/output/core/classes/assumption/assume.js +145 -0
  115. package/output/core/classes/collection/Collection.d.ts +107 -0
  116. package/output/core/classes/collection/Collection.js +231 -0
  117. package/output/core/classes/complex/Complex.d.ts +99 -0
  118. package/output/core/classes/complex/Complex.js +135 -0
  119. package/output/core/classes/decimalSet/DecimalSet.d.ts +226 -0
  120. package/output/core/classes/decimalSet/DecimalSet.js +453 -0
  121. package/output/core/classes/dictionary/Dictionary.d.ts +102 -0
  122. package/output/core/classes/dictionary/Dictionary.js +213 -0
  123. package/output/core/classes/equation/Equation.d.ts +256 -0
  124. package/output/core/classes/equation/Equation.js +350 -0
  125. package/output/core/classes/expression/CoeffObject.d.ts +100 -0
  126. package/output/core/classes/expression/CoeffObject.js +198 -0
  127. package/output/core/classes/expression/Expression.d.ts +1674 -0
  128. package/output/core/classes/expression/Expression.js +2332 -0
  129. package/output/core/classes/expression/analysis.d.ts +25 -0
  130. package/output/core/classes/expression/analysis.js +218 -0
  131. package/output/core/classes/expression/collect.d.ts +9 -0
  132. package/output/core/classes/expression/collect.js +49 -0
  133. package/output/core/classes/expression/format.d.ts +45 -0
  134. package/output/core/classes/expression/format.js +217 -0
  135. package/output/core/classes/expression/products.d.ts +23 -0
  136. package/output/core/classes/expression/products.js +115 -0
  137. package/output/core/classes/expression/shortcuts.d.ts +35 -0
  138. package/output/core/classes/expression/shortcuts.js +129 -0
  139. package/output/core/classes/expression/traversal.d.ts +31 -0
  140. package/output/core/classes/expression/traversal.js +216 -0
  141. package/output/core/classes/expression/trig.d.ts +25 -0
  142. package/output/core/classes/expression/trig.js +40 -0
  143. package/output/core/classes/expression/utils.d.ts +52 -0
  144. package/output/core/classes/expression/utils.js +189 -0
  145. package/output/core/classes/lookupTable/LookupTable.d.ts +12 -0
  146. package/output/core/classes/lookupTable/LookupTable.js +55 -0
  147. package/output/core/classes/matrix/Matrix.d.ts +227 -0
  148. package/output/core/classes/matrix/Matrix.js +889 -0
  149. package/output/core/classes/matrix/Sylvester.d.ts +11 -0
  150. package/output/core/classes/matrix/Sylvester.js +54 -0
  151. package/output/core/classes/matrix/functions.d.ts +26 -0
  152. package/output/core/classes/matrix/functions.js +52 -0
  153. package/output/core/classes/matrix/utils.d.ts +9 -0
  154. package/output/core/classes/matrix/utils.js +22 -0
  155. package/output/core/classes/parser/Parser.d.ts +480 -0
  156. package/output/core/classes/parser/Parser.js +1812 -0
  157. package/output/core/classes/parser/Token.d.ts +58 -0
  158. package/output/core/classes/parser/Token.js +137 -0
  159. package/output/core/classes/parser/constants.d.ts +160 -0
  160. package/output/core/classes/parser/constants.js +227 -0
  161. package/output/core/classes/parser/helpers.d.ts +21 -0
  162. package/output/core/classes/parser/helpers.js +42 -0
  163. package/output/core/classes/parser/operations/add.d.ts +15 -0
  164. package/output/core/classes/parser/operations/add.js +238 -0
  165. package/output/core/classes/parser/operations/comma.d.ts +7 -0
  166. package/output/core/classes/parser/operations/comma.js +11 -0
  167. package/output/core/classes/parser/operations/compare.d.ts +21 -0
  168. package/output/core/classes/parser/operations/compare.js +461 -0
  169. package/output/core/classes/parser/operations/divide.d.ts +2 -0
  170. package/output/core/classes/parser/operations/divide.js +72 -0
  171. package/output/core/classes/parser/operations/functions.d.ts +46 -0
  172. package/output/core/classes/parser/operations/functions.js +430 -0
  173. package/output/core/classes/parser/operations/multiply.d.ts +11 -0
  174. package/output/core/classes/parser/operations/multiply.js +321 -0
  175. package/output/core/classes/parser/operations/power.d.ts +48 -0
  176. package/output/core/classes/parser/operations/power.js +673 -0
  177. package/output/core/classes/parser/operations/subtract.d.ts +3 -0
  178. package/output/core/classes/parser/operations/subtract.js +35 -0
  179. package/output/core/classes/parser/preprocess.d.ts +14 -0
  180. package/output/core/classes/parser/preprocess.js +259 -0
  181. package/output/core/classes/parser/scripting/controlFlow.d.ts +121 -0
  182. package/output/core/classes/parser/scripting/controlFlow.js +355 -0
  183. package/output/core/classes/parser/scripting/evaluate.d.ts +10 -0
  184. package/output/core/classes/parser/scripting/evaluate.js +112 -0
  185. package/output/core/classes/parser/scripting/functions.d.ts +14 -0
  186. package/output/core/classes/parser/scripting/functions.js +59 -0
  187. package/output/core/classes/parser/scripting/scope.d.ts +35 -0
  188. package/output/core/classes/parser/scripting/scope.js +155 -0
  189. package/output/core/classes/parser/types.d.ts +125 -0
  190. package/output/core/classes/parser/types.js +2 -0
  191. package/output/core/classes/parser/wrappers/IndexedReference.d.ts +31 -0
  192. package/output/core/classes/parser/wrappers/IndexedReference.js +68 -0
  193. package/output/core/classes/parser/wrappers/KeyValuePair.d.ts +24 -0
  194. package/output/core/classes/parser/wrappers/KeyValuePair.js +51 -0
  195. package/output/core/classes/polynomial/Polynomial.d.ts +500 -0
  196. package/output/core/classes/polynomial/Polynomial.js +1149 -0
  197. package/output/core/classes/polynomial/Term.d.ts +222 -0
  198. package/output/core/classes/polynomial/Term.js +430 -0
  199. package/output/core/classes/polynomial/functions.d.ts +69 -0
  200. package/output/core/classes/polynomial/functions.js +126 -0
  201. package/output/core/classes/polynomial/utils.d.ts +62 -0
  202. package/output/core/classes/polynomial/utils.js +206 -0
  203. package/output/core/classes/rational/Rational.d.ts +504 -0
  204. package/output/core/classes/rational/Rational.js +779 -0
  205. package/output/core/classes/seq/SEQ.d.ts +13 -0
  206. package/output/core/classes/seq/SEQ.js +137 -0
  207. package/output/core/classes/valuesSet/ValuesSet.d.ts +179 -0
  208. package/output/core/classes/valuesSet/ValuesSet.js +381 -0
  209. package/output/core/classes/vector/Vector.d.ts +222 -0
  210. package/output/core/classes/vector/Vector.js +497 -0
  211. package/output/core/classes/vector/functions.d.ts +28 -0
  212. package/output/core/classes/vector/functions.js +47 -0
  213. package/output/core/common/classes/MathematicalAggregate.d.ts +53 -0
  214. package/output/core/common/classes/MathematicalAggregate.js +140 -0
  215. package/output/core/common/classes/Scope.d.ts +62 -0
  216. package/output/core/common/classes/Scope.js +122 -0
  217. package/output/core/common/classes/StructuredEntity.d.ts +55 -0
  218. package/output/core/common/classes/StructuredEntity.js +151 -0
  219. package/output/core/common/common.d.ts +63 -0
  220. package/output/core/common/common.js +279 -0
  221. package/output/core/common/functions/functions.d.ts +14 -0
  222. package/output/core/common/functions/functions.js +33 -0
  223. package/output/core/common/functions/structuredEntityUtils.d.ts +27 -0
  224. package/output/core/common/functions/structuredEntityUtils.js +40 -0
  225. package/output/core/converters/BaseConverter.d.ts +97 -0
  226. package/output/core/converters/BaseConverter.js +405 -0
  227. package/output/core/converters/Converter.d.ts +111 -0
  228. package/output/core/converters/Converter.js +802 -0
  229. package/output/core/converters/Pattern.d.ts +71 -0
  230. package/output/core/converters/Pattern.js +302 -0
  231. package/output/core/dispatch.d.ts +34 -0
  232. package/output/core/dispatch.js +304 -0
  233. package/output/core/errors.d.ts +531 -0
  234. package/output/core/errors.js +621 -0
  235. package/output/core/functions/bigint/bigint.d.ts +121 -0
  236. package/output/core/functions/bigint/bigint.js +392 -0
  237. package/output/core/functions/bigint/primeFactor.d.ts +49 -0
  238. package/output/core/functions/bigint/primeFactor.js +267 -0
  239. package/output/core/functions/bigint/primes.d.ts +1 -0
  240. package/output/core/functions/bigint/primes.js +11 -0
  241. package/output/core/functions/build/definitions.d.ts +12 -0
  242. package/output/core/functions/build/definitions.js +133 -0
  243. package/output/core/functions/build/index.d.ts +32 -0
  244. package/output/core/functions/build/index.js +136 -0
  245. package/output/core/functions/complex.d.ts +90 -0
  246. package/output/core/functions/complex.js +482 -0
  247. package/output/core/functions/decimal.d.ts +24 -0
  248. package/output/core/functions/decimal.js +664 -0
  249. package/output/core/functions/expand/expand.d.ts +42 -0
  250. package/output/core/functions/expand/expand.js +376 -0
  251. package/output/core/functions/fresnelNumeric.d.ts +12 -0
  252. package/output/core/functions/fresnelNumeric.js +123 -0
  253. package/output/core/functions/numeric.d.ts +140 -0
  254. package/output/core/functions/numeric.js +790 -0
  255. package/output/core/functions/rationalNormalization.d.ts +11 -0
  256. package/output/core/functions/rationalNormalization.js +117 -0
  257. package/output/core/functions/setFunction.d.ts +19 -0
  258. package/output/core/functions/setFunction.js +75 -0
  259. package/output/core/functions/string.d.ts +26 -0
  260. package/output/core/functions/string.js +101 -0
  261. package/output/core/functions/subst.d.ts +90 -0
  262. package/output/core/functions/subst.js +498 -0
  263. package/output/core/functions/utils.d.ts +24 -0
  264. package/output/core/functions/utils.js +51 -0
  265. package/output/core/types.d.ts +48 -0
  266. package/output/core/types.js +2 -0
  267. package/output/index.d.ts +339 -0
  268. package/output/index.js +715 -0
  269. package/output/math/defint/defintDecimal.d.ts +37 -0
  270. package/output/math/defint/defintDecimal.js +320 -0
  271. package/output/math/defint/defintNative.d.ts +57 -0
  272. package/output/math/defint/defintNative.js +292 -0
  273. package/output/math/geometry.d.ts +8 -0
  274. package/output/math/geometry.js +32 -0
  275. package/output/math/math.d.ts +655 -0
  276. package/output/math/math.js +1811 -0
  277. package/output/math/trig.d.ts +518 -0
  278. package/output/math/trig.js +1444 -0
  279. package/output/math/trunc.d.ts +19 -0
  280. package/output/math/trunc.js +36 -0
  281. package/output/math/utils.d.ts +60 -0
  282. package/output/math/utils.js +180 -0
  283. package/output/solve/classes/DecimalMatrix.d.ts +17 -0
  284. package/output/solve/classes/DecimalMatrix.js +86 -0
  285. package/output/solve/classes/FunctionSolver.d.ts +135 -0
  286. package/output/solve/classes/FunctionSolver.js +433 -0
  287. package/output/solve/classes/MultivariateSolver.d.ts +84 -0
  288. package/output/solve/classes/MultivariateSolver.js +240 -0
  289. package/output/solve/classes/PolynomialSolver.d.ts +85 -0
  290. package/output/solve/classes/PolynomialSolver.js +292 -0
  291. package/output/solve/classes/SolutionSet.d.ts +153 -0
  292. package/output/solve/classes/SolutionSet.js +357 -0
  293. package/output/solve/classes/Solver.d.ts +17 -0
  294. package/output/solve/classes/Solver.js +132 -0
  295. package/output/solve/classes/SymbolicSolver.d.ts +74 -0
  296. package/output/solve/classes/SymbolicSolver.js +601 -0
  297. package/output/solve/linsolve.d.ts +51 -0
  298. package/output/solve/linsolve.js +225 -0
  299. package/output/solve/solve.d.ts +34 -0
  300. package/output/solve/solve.js +260 -0
  301. package/output/solve/solveSystem.d.ts +31 -0
  302. package/output/solve/solveSystem.js +290 -0
  303. package/output/solve/utils.d.ts +9 -0
  304. package/output/solve/utils.js +62 -0
  305. package/output/utils/array.d.ts +42 -0
  306. package/output/utils/array.js +98 -0
  307. package/output/utils/debug.d.ts +131 -0
  308. package/output/utils/debug.js +295 -0
  309. package/output/utils/decimal.d.ts +3 -0
  310. package/output/utils/decimal.js +16 -0
  311. package/output/utils/numeric.d.ts +14 -0
  312. package/output/utils/numeric.js +51 -0
  313. package/output/utils/object.d.ts +26 -0
  314. package/output/utils/object.js +56 -0
  315. package/package.json +213 -57
  316. package/.travis.yml +0 -3
  317. package/Algebra.js +0 -4568
  318. package/BREAKING_CHANGES.md +0 -5
  319. package/CODE_OF_CONDUCT.md +0 -46
  320. package/CONTRIBUTING.md +0 -14
  321. package/Calculus.js +0 -2675
  322. package/Extra.js +0 -622
  323. package/Solve.js +0 -1783
  324. package/all.js +0 -16
  325. package/all.min.js +0 -1
  326. package/gulpfile.js +0 -16
  327. package/index.html +0 -158
  328. package/license.txt +0 -19
  329. package/nerdamer.core.js +0 -12510
  330. package/spec/LaTeX.spec.js +0 -302
  331. package/spec/TeXConvert.spec.js +0 -8
  332. package/spec/algebra.spec.js +0 -287
  333. package/spec/basic_parser.spec.js +0 -134
  334. package/spec/build.spec.js +0 -131
  335. package/spec/calculus.spec.js +0 -183
  336. package/spec/core.spec.js +0 -2970
  337. package/spec/extra.spec.js +0 -54
  338. package/spec/solve.spec.js +0 -126
  339. package/spec/support/jasmine.json +0 -11
  340. package/spec/support/utils.js +0 -42
  341. package/spec/text.spec.js +0 -132
@@ -0,0 +1,518 @@
1
+ import { Expression } from '../core/classes/expression/Expression';
2
+ import type { ExpressionInput } from '../core/types';
3
+ export { TRIG_FUNCTION_NAMES, COS, SIN, TAN, ASIN, ACOS, SEC, CSC, COT, ATAN, ASEC, ACSC, ACOT, ATAN2, SINH, COSH, TANH, SECH, CSCH, COTH, ACOSH, ASINH, ATANH, ASECH, ACSCH, ACOTH, TRIG, INVERSE_TRIG, HYPERBOLIC_TRIG, INVERSE_HYPERBOLIC_TRIG, } from '../core/classes/parser/constants';
4
+ /**
5
+ * Computes the cosine of an expression. Returns exact symbolic values for
6
+ * well-known multiples of π (π/6, π/4, π/3, π/2, π, etc.).
7
+ *
8
+ * Cosine is an even function: `cos(-x)` automatically simplifies to `cos(x)`.
9
+ * Inverse trig compositions are resolved:
10
+ * - `cos(acos(x))` returns `x`
11
+ * - `cos(asin(x))` returns `sqrt(1 − x²)`
12
+ * - `cos(atan(x))` returns `1/sqrt(1 + x²)`
13
+ *
14
+ * @param x - The angle in radians.
15
+ * @returns The cosine of `x`.
16
+ * @throws {@link core!UndefinedError} If `x` is `±∞`.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * cos(0).text() // "1"
21
+ * cos('pi').text() // "-1"
22
+ * cos('pi/2').text() // "0"
23
+ * cos('pi/3').text() // "1/2"
24
+ * cos('pi/4').text() // "1/2*sqrt(2)"
25
+ * cos('pi/6').text() // "1/2*sqrt(3)"
26
+ *
27
+ * // Symbolic
28
+ * cos('x').text() // "cos(x)"
29
+ * ```
30
+ */
31
+ export declare function cos(x: ExpressionInput): Expression;
32
+ /**
33
+ * Computes the sine of an expression. Returns exact symbolic values for
34
+ * well-known multiples of π (π/6, π/4, π/3, π/2, π, etc.).
35
+ *
36
+ * Sine is an odd function: `sin(-x)` automatically simplifies to `-sin(x)`.
37
+ * Inverse trig compositions are resolved:
38
+ * - `sin(asin(x))` returns `x`
39
+ * - `sin(acos(x))` returns `sqrt(1 − x²)`
40
+ * - `sin(atan(x))` returns `x/sqrt(1 + x²)`
41
+ *
42
+ * @param x - The angle in radians.
43
+ * @returns The sine of `x`.
44
+ * @throws {@link core!UndefinedError} If `x` is `±∞`.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * sin(0).text() // "0"
49
+ * sin('pi').text() // "0"
50
+ * sin('pi/2').text() // "1"
51
+ * sin('pi/6').text() // "1/2"
52
+ * sin('pi/4').text() // "1/2*sqrt(2)"
53
+ * sin('pi/3').text() // "1/2*sqrt(3)"
54
+ *
55
+ * // Symbolic
56
+ * sin('x').text() // "sin(x)"
57
+ * ```
58
+ */
59
+ export declare function sin(x: ExpressionInput): Expression;
60
+ /**
61
+ * Computes the tangent of an expression.
62
+ *
63
+ * Tangent is an odd function: `tan(-x)` automatically simplifies to `-tan(x)`.
64
+ * Returns `0` for all integer multiples of π.
65
+ * Inverse trig compositions are resolved:
66
+ * - `tan(atan(x))` returns `x`
67
+ * - `tan(asin(x))` returns `x/sqrt(1 − x²)`
68
+ * - `tan(acos(x))` returns `sqrt(1 − x²)/x`
69
+ *
70
+ * @param x - The angle in radians.
71
+ * @returns The tangent of `x`.
72
+ * @throws {@link core!UndefinedError} If `x` is `±∞` or an odd multiple of `π/2`.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * tan(0).text() // "0"
77
+ * tan('pi').text() // "0"
78
+ * tan('pi/4').text() // "1"
79
+ *
80
+ * // Symbolic
81
+ * tan('x').text() // "tan(x)"
82
+ * ```
83
+ */
84
+ export declare function tan(x: ExpressionInput): Expression;
85
+ /**
86
+ * Computes the secant of an expression: `sec(x) = 1/cos(x)`.
87
+ *
88
+ * Returns exact values at well-known angles by inverting the result of {@link cos}.
89
+ *
90
+ * @param x - The angle in radians.
91
+ * @returns The secant of `x`.
92
+ * @throws {@link core!UndefinedError} If `x` is `±∞` or an odd multiple of `π/2` (where `cos(x) = 0`).
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * sec(0).text() // "1"
97
+ * sec('pi').text() // "-1"
98
+ * sec('pi/3').text() // "2"
99
+ * sec('pi/4').text() // "sqrt(2)"
100
+ *
101
+ * // Symbolic
102
+ * sec('x').text() // "sec(x)"
103
+ * ```
104
+ */
105
+ export declare function sec(x: ExpressionInput): Expression;
106
+ /**
107
+ * Computes the cosecant of an expression: `csc(x) = 1/sin(x)`.
108
+ *
109
+ * Returns exact values at well-known angles by inverting the result of {@link sin}.
110
+ *
111
+ * @param x - The angle in radians.
112
+ * @returns The cosecant of `x`.
113
+ * @throws {@link core!UndefinedError} If `x` is `±∞` or an integer multiple of `π` (where `sin(x) = 0`).
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * csc('pi/2').text() // "1"
118
+ * csc('pi/6').text() // "2"
119
+ * csc('pi/4').text() // "sqrt(2)"
120
+ *
121
+ * // Symbolic
122
+ * csc('x').text() // "csc(x)"
123
+ * ```
124
+ */
125
+ export declare function csc(x: ExpressionInput): Expression;
126
+ /**
127
+ * Computes the cotangent of an expression: `cot(x) = cos(x)/sin(x)`.
128
+ *
129
+ * Returns exact values at well-known angles by dividing {@link cos} by {@link sin}.
130
+ *
131
+ * @param x - The angle in radians.
132
+ * @returns The cotangent of `x`.
133
+ * @throws {@link core!UndefinedError} If `x` is `±∞` or an integer multiple of `π` (where `sin(x) = 0`).
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * cot('pi/4').text() // "1"
138
+ * cot('pi/3').text() // "1/3*sqrt(3)"
139
+ *
140
+ * // Symbolic
141
+ * cot('x').text() // "cot(x)"
142
+ * ```
143
+ */
144
+ export declare function cot(x: ExpressionInput): Expression;
145
+ /**
146
+ * Computes the arccosine (inverse cosine) of an expression.
147
+ *
148
+ * Returns exact symbolic values involving π for well-known inputs:
149
+ * `0 → π/2`, `1/2 → π/3`, `1/√2 → π/4`, `√3/2 → π/6`, `1 → 0`.
150
+ * Uses the identity `acos(-x) = π − acos(x)` for negative arguments.
151
+ *
152
+ * For numeric inputs outside `[-1, 1]`, returns a complex result via
153
+ * `π/2 + asin(|x|)` with the appropriate sign adjustment.
154
+ *
155
+ * @param x - The input expression (domain `[-1, 1]` for real results).
156
+ * @returns The arccosine of `x` in radians.
157
+ * @throws {@link core!UndefinedError} If `x` is `±∞`.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * acos(1).text() // "0"
162
+ * acos(0).text() // "1/2*pi"
163
+ * acos('1/2').text() // "1/3*pi"
164
+ * acos('sqrt(2)^(-1)').text() // "1/4*pi"
165
+ * acos(-1).text() // "pi"
166
+ *
167
+ * // Symbolic
168
+ * acos('x').text() // "acos(x)"
169
+ * ```
170
+ */
171
+ export declare function acos(x: ExpressionInput): Expression;
172
+ /**
173
+ * Computes the arcsine (inverse sine) of an expression.
174
+ *
175
+ * Returns exact symbolic values involving π for well-known inputs:
176
+ * `0 → 0`, `1/2 → π/6`, `1/√2 → π/4`, `√3/2 → π/3`, `1 → π/2`.
177
+ * Uses the identity `asin(-x) = -asin(x)` for negative arguments.
178
+ *
179
+ * For numeric inputs outside `[-1, 1]`, returns a complex result.
180
+ *
181
+ * @param x - The input expression (domain `[-1, 1]` for real results).
182
+ * @returns The arcsine of `x` in radians.
183
+ * @throws {@link core!UndefinedError} If `x` is `±∞`.
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * asin(0).text() // "0"
188
+ * asin(1).text() // "1/2*pi"
189
+ * asin('1/2').text() // "1/6*pi"
190
+ * asin('sqrt(2)^(-1)').text() // "1/4*pi"
191
+ *
192
+ * // Symbolic
193
+ * asin('x').text() // "asin(x)"
194
+ * ```
195
+ */
196
+ export declare function asin(x: ExpressionInput): Expression;
197
+ /**
198
+ * Computes the arctangent (inverse tangent) of an expression.
199
+ *
200
+ * Returns exact symbolic values involving π for well-known inputs:
201
+ * `0 → 0`, `1/√3 → π/6`, `1 → π/4`, `√3 → π/3`.
202
+ * Uses the identity `atan(-x) = -atan(x)` for negative arguments.
203
+ *
204
+ * At infinity: `atan(+∞) = π/2`, `atan(−∞) = −π/2`.
205
+ *
206
+ * @param x - The input expression.
207
+ * @returns The arctangent of `x` in radians.
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * atan(0).text() // "0"
212
+ * atan(1).text() // "1/4*pi"
213
+ * atan('sqrt(3)').text() // "1/3*pi"
214
+ *
215
+ * // Symbolic
216
+ * atan('x').text() // "atan(x)"
217
+ * ```
218
+ */
219
+ export declare function atan(x: ExpressionInput): Expression;
220
+ /**
221
+ * Computes the arcsecant (inverse secant) of an expression: `asec(x) = acos(1/x)`.
222
+ *
223
+ * At infinity: `asec(±∞) = π/2`.
224
+ *
225
+ * @param x - The input expression (domain `|x| ≥ 1` for real results).
226
+ * @returns The arcsecant of `x` in radians.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * asec(1).text() // "0"
231
+ * asec(2).text() // "1/3*pi"
232
+ *
233
+ * // Symbolic
234
+ * asec('x').text() // "asec(x)"
235
+ * ```
236
+ */
237
+ export declare function asec(x: ExpressionInput): Expression;
238
+ /**
239
+ * Computes the arccosecant (inverse cosecant) of an expression: `acsc(x) = asin(1/x)`.
240
+ *
241
+ * At infinity: `acsc(±∞) = 0`.
242
+ *
243
+ * @param x - The input expression (domain `|x| ≥ 1` for real results).
244
+ * @returns The arccosecant of `x` in radians.
245
+ *
246
+ * @example
247
+ * ```ts
248
+ * acsc(1).text() // "1/2*pi"
249
+ * acsc(2).text() // "1/6*pi"
250
+ *
251
+ * // Symbolic
252
+ * acsc('x').text() // "acsc(x)"
253
+ * ```
254
+ */
255
+ export declare function acsc(x: ExpressionInput): Expression;
256
+ /**
257
+ * Computes the arccotangent (inverse cotangent) of an expression: `acot(x) = atan(1/x)`.
258
+ *
259
+ * At infinity: `acot(+∞) = 0`, `acot(−∞) = π`.
260
+ *
261
+ * @param x - The input expression.
262
+ * @returns The arccotangent of `x` in radians.
263
+ *
264
+ * @example
265
+ * ```ts
266
+ * acot(1).text() // "1/4*pi"
267
+ *
268
+ * // Symbolic
269
+ * acot('x').text() // "acot(x)"
270
+ * ```
271
+ */
272
+ export declare function acot(x: ExpressionInput): Expression;
273
+ /**
274
+ * Computes the two-argument arctangent `atan2(y, x)`, which returns the angle
275
+ * in radians between the positive x-axis and the point `(x, y)`.
276
+ *
277
+ * Unlike {@link atan}, `atan2` correctly handles all four quadrants and returns
278
+ * values in the range `(−π, π]`. Returns exact multiples of π where possible.
279
+ *
280
+ * @param y - The y-coordinate.
281
+ * @param x - The x-coordinate.
282
+ * @returns The angle in radians.
283
+ * @throws {@link core!UndefinedError} If both `x` and `y` are zero, or both are `±∞`.
284
+ *
285
+ * @see https://en.wikipedia.org/wiki/Atan2
286
+ *
287
+ * @example
288
+ * ```ts
289
+ * atan2(1, 1).text() // "1/4*pi"
290
+ * atan2(0, 1).text() // "0"
291
+ * atan2(1, 0).text() // "1/2*pi"
292
+ * atan2(-1, 0).text() // "-1/2*pi"
293
+ *
294
+ * // Symbolic
295
+ * atan2('y', 'x').text() // "atan2(y, x)"
296
+ * ```
297
+ */
298
+ export declare function atan2(y: ExpressionInput, x: ExpressionInput): Expression;
299
+ /**
300
+ * Computes the hyperbolic cosine of an expression.
301
+ *
302
+ * - `cosh(0) = 1`
303
+ * - `cosh(±∞) = +∞`
304
+ * - For complex inputs: `cosh(a + bi) = cosh(a)·cos(b) + i·sinh(a)·sin(b)`
305
+ *
306
+ * @param x - The input expression.
307
+ * @returns The hyperbolic cosine of `x`.
308
+ *
309
+ * @example
310
+ * ```ts
311
+ * cosh(0).text() // "1"
312
+ *
313
+ * // Symbolic
314
+ * cosh('x').text() // "cosh(x)"
315
+ * ```
316
+ */
317
+ export declare function cosh(x: ExpressionInput): Expression;
318
+ /**
319
+ * Computes the hyperbolic sine of an expression.
320
+ *
321
+ * - `sinh(0) = 0`
322
+ * - `sinh(+∞) = +∞`, `sinh(−∞) = −∞`
323
+ * - For complex inputs: `sinh(a + bi) = sinh(a)·cos(b) + i·cosh(a)·sin(b)`
324
+ *
325
+ * @param x - The input expression.
326
+ * @returns The hyperbolic sine of `x`.
327
+ *
328
+ * @example
329
+ * ```ts
330
+ * sinh(0).text() // "0"
331
+ *
332
+ * // Symbolic
333
+ * sinh('x').text() // "sinh(x)"
334
+ * ```
335
+ */
336
+ export declare function sinh(x: ExpressionInput): Expression;
337
+ /**
338
+ * Computes the hyperbolic tangent of an expression.
339
+ *
340
+ * - `tanh(0) = 0`
341
+ * - `tanh(+∞) = 1`, `tanh(−∞) = −1`
342
+ * - For complex inputs, uses the identity `tanh(z) = sinh(z)/cosh(z)` with
343
+ * component-wise evaluation.
344
+ *
345
+ * @param x - The input expression.
346
+ * @returns The hyperbolic tangent of `x`.
347
+ *
348
+ * @example
349
+ * ```ts
350
+ * tanh(0).text() // "0"
351
+ *
352
+ * // Symbolic
353
+ * tanh('x').text() // "tanh(x)"
354
+ * ```
355
+ */
356
+ export declare function tanh(x: ExpressionInput): Expression;
357
+ /**
358
+ * Computes the hyperbolic secant of an expression: `sech(x) = 1/cosh(x)`.
359
+ *
360
+ * - `sech(0) = 1`
361
+ * - `sech(±∞) = 0`
362
+ *
363
+ * @param x - The input expression.
364
+ * @returns The hyperbolic secant of `x`.
365
+ *
366
+ * @example
367
+ * ```ts
368
+ * sech(0).text() // "1"
369
+ *
370
+ * // Symbolic
371
+ * sech('x').text() // "sech(x)"
372
+ * ```
373
+ */
374
+ export declare function sech(x: ExpressionInput): Expression;
375
+ /**
376
+ * Computes the hyperbolic cosecant of an expression: `csch(x) = 1/sinh(x)`.
377
+ *
378
+ * - `csch(±∞) = 0`
379
+ * - `csch(0)` is undefined.
380
+ *
381
+ * @param x - The input expression.
382
+ * @returns The hyperbolic cosecant of `x`.
383
+ * @throws {@link core!UndefinedError} If `x` is `0`.
384
+ *
385
+ * @example
386
+ * ```ts
387
+ * // Symbolic
388
+ * csch('x').text() // "csch(x)"
389
+ * ```
390
+ */
391
+ export declare function csch(x: ExpressionInput): Expression;
392
+ /**
393
+ * Computes the hyperbolic cotangent of an expression: `coth(x) = 1/tanh(x)`.
394
+ *
395
+ * - `coth(+∞) = 1`, `coth(−∞) = −1`
396
+ * - `coth(0)` is undefined.
397
+ *
398
+ * @param x - The input expression.
399
+ * @returns The hyperbolic cotangent of `x`.
400
+ * @throws {@link core!UndefinedError} If `x` is `0`.
401
+ *
402
+ * @example
403
+ * ```ts
404
+ * // Symbolic
405
+ * coth('x').text() // "coth(x)"
406
+ * ```
407
+ */
408
+ export declare function coth(x: ExpressionInput): Expression;
409
+ /**
410
+ * Computes the inverse hyperbolic cosine of an expression.
411
+ *
412
+ * - `acosh(1) = 0`
413
+ * - `acosh(0) = iπ/2`
414
+ * - `acosh(+∞) = +∞`
415
+ * - For inputs less than 1, returns a complex result via `log(x + sqrt(x²−1))`.
416
+ *
417
+ * @param x - The input expression (domain `[1, ∞)` for real results).
418
+ * @returns The inverse hyperbolic cosine of `x`.
419
+ * @throws {@link core!UndefinedError} If `x` is `−∞`.
420
+ *
421
+ * @example
422
+ * ```ts
423
+ * acosh(1).text() // "0"
424
+ *
425
+ * // Symbolic
426
+ * acosh('x').text() // "acosh(x)"
427
+ * ```
428
+ */
429
+ export declare function acosh(x: ExpressionInput): Expression;
430
+ /**
431
+ * Computes the inverse hyperbolic sine of an expression.
432
+ *
433
+ * - `asinh(0) = 0`
434
+ * - `asinh(+∞) = +∞`, `asinh(−∞) = −∞`
435
+ * - For complex inputs, uses `log(x + sqrt(x² + 1))`.
436
+ *
437
+ * @param x - The input expression.
438
+ * @returns The inverse hyperbolic sine of `x`.
439
+ *
440
+ * @example
441
+ * ```ts
442
+ * asinh(0).text() // "0"
443
+ *
444
+ * // Symbolic
445
+ * asinh('x').text() // "asinh(x)"
446
+ * ```
447
+ */
448
+ export declare function asinh(x: ExpressionInput): Expression;
449
+ /**
450
+ * Computes the inverse hyperbolic tangent of an expression.
451
+ *
452
+ * - `atanh(0) = 0`
453
+ * - For inputs outside `(-1, 1)` or complex inputs, uses the identity
454
+ * `atanh(z) = (1/2)·ln((1 + z)/(1 − z))`.
455
+ *
456
+ * @param x - The input expression (domain `(-1, 1)` for real results).
457
+ * @returns The inverse hyperbolic tangent of `x`.
458
+ * @throws {@link core!UndefinedError} If `x` is `±∞` or exactly `1`.
459
+ *
460
+ * @example
461
+ * ```ts
462
+ * atanh(0).text() // "0"
463
+ *
464
+ * // Symbolic
465
+ * atanh('x').text() // "atanh(x)"
466
+ * ```
467
+ */
468
+ export declare function atanh(x: ExpressionInput): Expression;
469
+ /**
470
+ * Computes the inverse hyperbolic secant of an expression: `asech(x) = acosh(1/x)`.
471
+ *
472
+ * For real evaluation, uses the identity `asech(x) = ln((1 + sqrt(1/x² − 1))/x)`.
473
+ *
474
+ * @param x - The input expression (domain `(0, 1]` for real results).
475
+ * @returns The inverse hyperbolic secant of `x`.
476
+ * @throws {@link core!UndefinedError} If `x` is `±∞`.
477
+ *
478
+ * @example
479
+ * ```ts
480
+ * asech(1).text() // "0"
481
+ *
482
+ * // Symbolic
483
+ * asech('x').text() // "asech(x)"
484
+ * ```
485
+ */
486
+ export declare function asech(x: ExpressionInput): Expression;
487
+ /**
488
+ * Computes the inverse hyperbolic cosecant of an expression: `acsch(x) = asinh(1/x)`.
489
+ *
490
+ * - `acsch(±∞) = 0`
491
+ * - For real evaluation, uses the identity `acsch(x) = ln((1 + sqrt(1/x² + 1))/x)`.
492
+ *
493
+ * @param x - The input expression.
494
+ * @returns The inverse hyperbolic cosecant of `x`.
495
+ *
496
+ * @example
497
+ * ```ts
498
+ * // Symbolic
499
+ * acsch('x').text() // "acsch(x)"
500
+ * ```
501
+ */
502
+ export declare function acsch(x: ExpressionInput): Expression;
503
+ /**
504
+ * Computes the inverse hyperbolic cotangent of an expression: `acoth(x) = atanh(1/x)`.
505
+ *
506
+ * - `acoth(±∞) = 0`
507
+ * - For real evaluation, uses the identity `acoth(x) = (1/2)·ln((x + 1)/(x − 1))`.
508
+ *
509
+ * @param x - The input expression (domain `|x| > 1` for real results).
510
+ * @returns The inverse hyperbolic cotangent of `x`.
511
+ *
512
+ * @example
513
+ * ```ts
514
+ * // Symbolic
515
+ * acoth('x').text() // "acoth(x)"
516
+ * ```
517
+ */
518
+ export declare function acoth(x: ExpressionInput): Expression;