ApasScript.

Calculus

dsolveLinear

Solves the first-order linear equation y' + p(x) y = q(x) by the integrating factor. Gives y with the constant C. Refused when integrate cannot do an integral on the way.

dsolveSeparable

Solves y' = f(x) g(y) implicitly: left (the integral of 1/g in y) equals right (the integral of f in x, plus C). A constant solution, where g(y) = 0, is not in this form.

dsolveExact

Solves the exact equation M dx + N dy = 0: gives F, with the solution F(x, y) = C. Refused unless dM/dy = dN/dx.

dsolve2

Solves a y'' + b y' + c y = f(x) with constant coefficients: the general solution with C1 and C2, exact. f is 0, or a sum of polynomial times exp(kx) times cos(wx) or sin(wx), sinh and cosh included (undetermined coefficients, resonance included). Other f is refused.

laplace

The Laplace transform of f(t), for f a sum of polynomial times exp(kt) times cos(wt) or sin(wt), sinh and cosh included; valid for s larger than every k. Other f is refused.

inverseLaplace

The inverse Laplace transform of a proper rational F(s), by partial fractions over the rationals. Refused: a top of degree not below the bottom's, a quadratic factor repeated more than twice, a root known only as a decimal.

sumSeries

The exact sum of a series, n from a to b or to inf. To inf: geometric, c/n^p for even p up to 10, telescoping rational terms, x^n/n!, x^n/n; the arithmetico-geometric family n^m x^n and sums of such terms (sumSeries(k^2/2^k, k, 1, inf) is 6, k^3/2^k is 26); any term that obeys a linear recurrence of order up to 4, found from exact samples and checked on more; shift-telescoping terms N(n)/(g(n) g(n + 1)) with a constant, polynomial or exponential numerator, the tail's limit taken; and alternating or repeating signs over 1/n, which periodicSeries sums ((-1)^(n + 1)/n is ln(2)). Names bound to numbers in the script are put in first, the index excepted: after s = 2, sumSeries(1/k^s, k, 1, inf) is pi^2/6. A letter as the upper bound gives the closed form in it, as sumClosed: sumSeries(1/(k*(k + 1)), k, 1, n) is 1 - 1/(n + 1). A series shown divergent is an error; one outside these families is refused, not estimated: seriesTest says whether it converges, and fsum adds a long partial sum in doubles.

periodicSeries

The sum over k >= 1 of c_k/k with the numerators repeating a pattern that adds to 0: periodicSeries([1, -1]) is ln(2), [1, 0, -1, 0] is pi/4, [1, 0, 1, 0, -1, 0, -1, 0] is pi/(2 sqrt 2), [1, 1, -2] is ln(3). Exact in pi, ln and sin where the calculator has the values (Gauss's theorem on the digamma function).

sumClosed

The sum of an expression over an index from a whole number to an upper bound that is a letter or an expression, as a closed form in that bound: sumClosed(k^2, k, 1, n) is Faulhaber's polynomial, 2^k from 0 is 2^(n + 1) - 1, 1/(k*(k + 1)) is 1 - 1/(n + 1). Terms of the form k^m x^k (and sums of such) and telescoping rational terms; sumSeries and sum do the same with such a bound.

apart

Partial fractions: the polynomial part plus A/(x - r)^j for each rational root r of the denominator, with multiplicities. apart(1/(x*(x + 1)), x) is 1/x - 1/(x + 1); (x^2 + 1)/(x - 1)^2 is 1 + 2/(x - 1) + 2/(x - 1)^2. A denominator with an irreducible quadratic factor is refused.

harmonicNumber

H_n = 1 + 1/2 + ... + 1/n as an exact fraction: harmonicNumber(5) is 137/60, harmonicNumber(100) a 41-digit over 40-digit fraction (approx() of it is 5.187377518). sum(1/k, k, 1, n) has no closed form in n; this function is its name.

seriesTest

Whether a series converges, and by which test: geometric, p-series, limit comparison, alternating series, nth term, ratio or integral. Fields verdict (converges, diverges or inconclusive) and test_used. It says nothing about absolute against conditional convergence. Inconclusive means only that these tests did not decide it.

limit

The exact limit of an expression as a variable approaches a point. Gives a value, inf or -inf, divergent (the one-sided limits differ), or unsupported when gtmath cannot decide -- never a numeric guess. A 0/0 or c/0 form is decided by the orders of vanishing of the top and the bottom (L'Hospital's rule done exactly: sin(3x)/(5x), (1 - cos x)/x^2); abs(g) by its sign on each side; a sin/cos factor times a part tending to 0 by the squeeze theorem; a product with an infinite factor, exp of an infinite limit and f^g as e^(g ln f) (x^(1/x) at 0 from the right is 0). The answer stays exact: (2^t - 1)/t at 0 is ln(2), ((2^t + 3^t + 5^t)/3)^(3/t) is 30, (1 + 2/x)^(x/5) at inf is exp(2/5); round(raw, 5), approx(raw) and {{raw:3dp}} in a page give its decimal (1.49182), {{raw}} shows it as it is. floor, ceil, frac and fracPart of a moving part are replaced by the constant they take on the side approached, found from the argument's own limit and the side it comes from: limit(floor(x), x, 1, "left") is 0 and "right" 1, x*floor(x) at 2 is 2 and 4, floor(sin(x)/x) at 0 from the right is 0, (floor(x)^2 + sin(floor(x)))/floor(x) at 0 from the left is -1 + sin(1); the two-sided limit compares the sides (divergent at an integer, 1 at 3/2). An if piece is chosen by its condition just beside the point: limit(if(x < 1, x^2, 2*x), x, 1, "left") is 1, "right" 2, two-sided divergent; ifs nest. A sum(f, k, a, n) inside is replaced by its closed form first: sum(k, k, 1, n)/n^2 as n -> inf is 1/2. The point may be inf, -inf or oo, which is limitInf.

taylor

The Taylor polynomial of an expression about a point, through the given order (at most 32). Only the truncated polynomial -- no claim about the remainder.

defint

The exact definite integral between two bounds; a bound may be inf or -inf, a multiple of pi (defint(sin(x)^2, x, 0, 2*pi) = pi) or a symbol (defint(x^2, x, 0, a) = a^3/3). With letter bounds or a letter in the integrand the bounds are put in, and ln|u| at the two ends is written as the ratio: defint(k/V, V, V_1, V_2) = k ln(V_2/V_1), defint(1/V^g, V, V_1, V_2) = (V_2^(1 - g) - V_1^(1 - g))/(1 - g). The Gaussian moments over (0, inf), (-inf, 0) or the whole line come in closed form: defint(x^2*exp(-x^2), x, 0, inf) = sqrt(pi)/4, defint(v^2*exp(-b*v^2), v, 0, inf) = sqrt(pi)/(4 b^(3/2)) (b taken positive); with a finite bound these have no closed form, use nintegrate. With number bounds the range is checked first: a blow-up inside is never crossed by F(b) - F(a). If any piece is infinite the integral diverges, with no cancelling (the principal value is another thing). Every failure is an error that says in full what happened, from what was computed: the verdict, the function and range, the point or stretch at fault, each piece's limit, and what to try. defint(1/x^2, x, -1, 1) says it diverges, is undefined at x = 0, both limits +inf, and that plain F(b) - F(a) = -2 is not valid. So does an integral with no real value on part of the range, one whose bad points cannot be found surely, and one whose F jumps inside the range. A value still prints as a plain value. With a letter in the bounds the integral is taken to exist, as physics writes it, and the range is not checked.

limitInf

The limit as the variable goes to inf (default) or -inf: exact for polynomials and rational functions, and for leading terms with roots ((2x + 1)/sqrt(x^2 + 3) is 2, at -inf -2), e^g, ln, arctan, a bounded sin or cos factor over a growing one (sin(x)/x is 0), L'Hospital's rule (ln(x)/x, x^2*e^(-x), e^x/x^3) and the conjugate (sqrt(x^2 + x) - x is 1/2); an infinite limit is the number inf or -inf, a limit of sin(x) divergent. Exponential terms c*b^(kx) are divided by the dominant base: 2^k/(3^k - 2^k) is 0, ln(2^x + 3^x)/x is ln(3), 3^k - 2^k is inf. Where these rules stop, x = 1/t is put in and the limit at 0 from the right taken, with the leading power pulled out of each radical and the lowest power of t scaled out of top and bottom: the 1^inf form (1 + 3/x)^(2*x) is exp(6), (3x + 2 sin x)/(5x + 4 cos x) 3/5, sqrt(x)*(sqrt(x + 1) - sqrt(x)) 1/2, x^(1/x) 1, ((2^t + 3^t + 5^t)/3)^(3/t) 125, the 0*inf forms x*sin(3/x) 3 and x*(exp(2/x) - 1) 2, sqrt(4x^2 + 9)*sin(3/x) 6, a quotient of radicals of unlike orders 0. A sum(f, k, a, n) inside is replaced by its closed form first: (1/n^100)*sum(r^99, r, 1, n) is 1/100. limit(expr, x, inf) and limit(expr, x, oo) are the same call.

limitSeq

The limit as n grows of an expression whose n stands only in exponents of the letter x, case by case in x: a record with inside (|x| < 1, where x^n tends to 0), one (x = 1), minus_one (x = -1), above (x > 1) and below (x < -1). limitSeq((x^(2*n) - 1)/(x^(2*n) + 1), n, x) is {inside = -1, one = 0, minus_one = 0, above = 1, below = 1}; a case may keep x: (ln(2 + x) - x^(2n) sin x)/(1 + x^(2n)) has inside ln(2 + x), one -1/2 sin(1) + ln(sqrt(3)), above and below -sin(x). An odd power x^n alternates at -1 (divergent), tends to inf above and -inf below. A case is used on as any value, the function of x the limit defines: limit(L.inside, x, 1, "left") is -1. n anywhere but in an exponent of x (x^n/(n + 1)): every case unsupported. limit(expr, n, inf) alone reads x as a number above 1.

laurentLead

The leading term of the Laurent expansion of a rational expression at a pole.

principalPart

The principal part (all negative-power terms) of a rational expression's Laurent expansion at a pole.

signedArea

The signed area between a curve and the axis over an interval (area below the axis counts negative).

areaBetween

The signed area between an upper and a lower curve over an interval.

absAreaBetween

The total (unsigned) area between two polynomial curves, splitting the interval where they cross.

arcLength

The exact arc length of y = f(x) over an interval, when the integral is one gtmath can do exactly.

riemannSum

A Riemann sum, exact wherever the function's values are: riemannSum(f, x, a, b, n, method) with n equal parts of [a, b] (sin(x) on [0, pi] with 2 left parts is pi/2), or riemannSum(xs, ys, method) for a table of values with parts of any width (a midpoint sum of a table takes [x0, x2], [x2, x4], ... at heights y1, y3, ...). The method is "left" (the default), "right", "midpoint" or "trapezoid". riemann(g, ...) draws it.

lineIntegral

The line integral of a scalar field along a parameterized curve (with respect to arc length).

vectorLineIntegral

The line integral (work) of a vector field along a parameterized curve: the integral of F . dr.

fluxIntegral

The flux of a vector field through a parameterized surface r(u, v), oriented by r_u x r_v.

surfaceArea

The area of a parameterized surface r(u, v) over a parameter rectangle.

volumeIntegral

The integral of a scalar field over a parameterized volume; orientation says whether the Jacobian is "nonnegative" or "nonpositive".

criticalPoints

The critical points of a function, each with whether it is a local minimum, maximum or neither (by the second derivative, or where f'' = 0 by the first derivative test). A polynomial: its stationary points with their multiplicity, roots gtmath cannot find exactly reported as an unresolved factor. P/Q*e^L (P, Q, L polynomials: x*e^(-x), x/(x^2 + 1)): exactly, over the whole line. Any other function needs an interval [a, b]: the points inside where f' = 0 or f' does not exist (|x|, x^(2/3)), found numerically and given exactly when a fraction p/q or p/q*pi (q <= 12) fits, else as a decimal; classified by the first derivative test.

rationalFeatures

What the graph of a rational function P/Q has, each value exact: zeros, vertical_asymptotes, holes (holes_x, and holes_y the height the graph would have there: a factor of P and Q cancelled), horizontal_asymptote (0 when P's degree is less than Q's, the ratio of leading coefficients when equal, none when greater) and slant_asymptote (the quotient P/Q when P's degree is one more, else none). A list with nothing in it means none of that kind.

curveAnalysis

Where a function is increasing/decreasing and concave up/down, as intervals: over the whole line for a polynomial or P/Q*e^L (x*e^(-x)), on [a, b] for any function (the breaks found as criticalPoints finds them).

extrema

The absolute minimum and maximum of a function on a closed interval, with where they occur (the candidates test: the ends and the critical points inside). Exact for a polynomial; for other functions exact where the point and the value are (sin x + cos x on [0, 2pi]: sqrt(2) at pi/4), else decimals.

tangentLine

The tangent line to y = p(x) at a point, for a function p. Any function (E43): f(a) and f'(a) exact where the engine has them (sin, cos, tan at multiples of pi, roots), else decimals.

normalLine

The normal line to y = p(x) at a point, for a function p (a vertical line when the tangent is horizontal). Any function (E43): f(a) and f'(a) exact where the engine has them (sin, cos, tan at multiples of pi, roots), else decimals.

linearApprox

The linear approximation of a function at a point. Any function (E43): f(a) and f'(a) exact where the engine has them (sin, cos, tan at multiples of pi, roots), else decimals.

implicitDiff

dy/dx for a relation F(x, y) = 0, by implicit differentiation.

substAll

Substitutes several variables at once: substAll(e, [x, y], [1, t]).