API Reference
SymbolicIntegration — Module
SymbolicIntegrationSymbolic antiderivatives for expressions built with Symbolics.jl.
The package provides the integrate interface and two built-in backends, RuleBasedMethod and RischMethod. Backends are selected automatically for the two-argument form or explicitly by passing a method object. The AbstractIntegrationMethod interface can be implemented by packages that provide another integration backend.
Examples
using SymbolicIntegration, Symbolics
@variables x
integrate(exp(x), x)
integrate(1 / (x^2 + 1), x, RischMethod())Integration Interface
SymbolicIntegration.AbstractIntegrationMethod — Type
AbstractIntegrationMethodAbstract interface for symbolic integration backends.
A concrete method must subtype AbstractIntegrationMethod and provide an integrate(f, x, method; kwargs...) dispatch for symbolic f and x. The method owns backend-specific keyword arguments; callers can use the two-argument form when the backend is selected automatically, or pass a concrete method to select one implementation explicitly. Implementations should return a Symbolics.Num antiderivative or an unevaluated symbolic integral when the backend cannot solve the problem.
Minimal interface
struct MyMethod <: AbstractIntegrationMethod end
function integrate(f::Symbolics.Num, x::Symbolics.Num, ::MyMethod; kwargs...)
# Return a symbolic antiderivative or an unevaluated integral.
endThe generic interface is intentionally based on dispatch rather than a registration table. Do not mutate the built-in method types or rely on internal rule functions when implementing a backend.
Interface rules
- Define a concrete subtype with only configuration state needed by the backend.
- Add an
integrate(f, x, method; kwargs...)method; do not replace the generic two-argument dispatch. - Accept symbolic integrands and variables as
Symbolics.Numvalues and return a symbolic result, including an unevaluated integral when the backend cannot solve the input. - Keep backend-specific keywords on the concrete method and forward only keywords that the backend understands.
Generic usage
struct MyMethod <: AbstractIntegrationMethod end
function integrate(f::Symbolics.Num, x::Symbolics.Num, ::MyMethod; kwargs...)
return f * x
end
@variables x
integrate(x, x, MyMethod())SymbolicIntegration.integrate — Function
integrate(f, x, method::MaximaMethod; kwargs...)
integrate(f, x, a, b, method::MaximaMethod; kwargs...)Extend SymbolicIntegration.integrate with a Maxima backend. The returned value is a Symbolics.Num expression when the Maxima output is supported by the bridge.
Arguments
f::Symbolics.Num: Symbolic integrand.x::Symbolics.Num: Integration variable.a,b: Optional lower and upper bounds.method::MaximaMethod: Backend configuration.
Keyword Arguments
validate::Bool=method.validate: Check an indefinite result by differentiation.kwargs...: Per-call options forwarded to the Maxima backend.
Returns
A Symbolics.Num antiderivative or definite integral result.
Examples
@variables x
integrate(exp(x), x, MaximaMethod())integrate(f, x; verbose=false, kwargs...)Compute the symbolic antiderivative of f with respect to x, trying the available rule-based and Risch backends in order.
Arguments
f::Symbolics.Num: Symbolic integrand.x::Symbolics.Num: Symbolic integration variable.
Keyword Arguments
verbose::Bool=false: Print backend and rule progress.kwargs...: Forwarded to the selected backend implementations.
Returns
A symbolic antiderivative, or an unevaluated integral when no backend can complete the calculation.
Examples
using SymbolicIntegration, Symbolics
@variables x
integrate(2x, x)
integrate(exp(x), x)integrate(f::Symbolics.Num, method=nothing; kwargs...)Integrate a symbolic expression without explicitly passing its variable.
This overload is valid only when f contains exactly one symbolic variable. That variable is selected and the call is forwarded to integrate(f, variable, method). Expressions with zero or multiple variables return nothing after emitting a warning.
Arguments
f::Symbolics.Num: Symbolic integrand.method:nothingfor automatic selection or anAbstractIntegrationMethodinstance.
Keyword Arguments
kwargs...: Forwarded to the selected integration method.
Returns
A symbolic antiderivative when f has exactly one variable, or nothing with a warning when it has zero or multiple variables.
Examples
@variables x
integrate(exp(x))integrate(f, x, method::RischMethod; kwargs...)Compute the symbolic antiderivative of f with respect to x using the Risch algorithm and the configuration in method.
Arguments
f::Symbolics.Num: Symbolic integrand.x::Symbolics.Num: Symbolic integration variable.method::RischMethod: Risch configuration.
Keyword Arguments
kwargs...: Additional backend options forwarded to the Risch implementation.
Returns
A symbolic antiderivative or an unevaluated integral.
Examples
using SymbolicIntegration, Symbolics
@variables x
method = RischMethod(catch_errors=false)
integrate(1 / (x^2 + 1), x, method)integrate(f, x, method::RuleBasedMethod; kwargs...)Compute the symbolic antiderivative of f with respect to x using the rule-based backend and the configuration in method.
Arguments
f::Symbolics.Num: Symbolic integrand.x::Symbolics.Num: Symbolic integration variable.method::RuleBasedMethod: Rule-based configuration.
Keyword Arguments
kwargs...: Additional backend options forwarded to the rule engine.
Returns
A symbolic antiderivative or an unevaluated integral.
Examples
using SymbolicIntegration, Symbolics
@variables x
method = RuleBasedMethod(verbose=true)
integrate(1 / sqrt(1 + x), x, method)SymbolicIntegration.RischMethod — Type
RischMethod(; use_algebraic_closure=false, catch_errors=true)Configure the Risch algorithm for symbolic integration of elementary functions.
Keyword Arguments
use_algebraic_closure::Bool=false: Whether algebraic roots may be computed in an algebraic closure when needed.catch_errors::Bool=true: Whether recoverable algorithm failures should be caught and returned as an unevaluated integral.
Fields
use_algebraic_closure::Bool: Value ofuse_algebraic_closure.catch_errors::Bool: Value ofcatch_errors.
Examples
method = RischMethod(catch_errors=false)
integrate(1 / (x^2 + 1), x, method)SymbolicIntegration.RuleBasedMethod — Type
RuleBasedMethod(; use_gamma=false, verbose=false)Configure the rule-based symbolic integration backend.
Keyword Arguments
use_gamma::Bool=false: Allow gamma-function forms in rule results.verbose::Bool=false: Print each rule application while integrating.
Fields
use_gamma::Bool: Value ofuse_gamma.verbose::Bool: Value ofverbose.
Examples
method = RuleBasedMethod(verbose=true)
integrate(sqrt(1 + x), x, method)SymbolicIntegration.reload_rules — Function
reload_rules(path; verbose=true)Reload rule definitions from a Julia source file into the active rule table.
Arguments
path::AbstractString: Path to a rule file. The file must define the localfile_rulescollection used by the rule loader.
Keyword Arguments
verbose::Bool=true: Print replacements, insertions, and deletions.
Rules with identifiers already in the global table are replaced; new rules are inserted in identifier order, and rules removed from the file are deleted. This function is intended for rule development and should not be needed by ordinary integration calls.
reload_rules(; verbose=true)Reload all rule files shipped with SymbolicIntegration and rebuild the global rule table.
Keyword Arguments
verbose::Bool=true: Print loader progress and rule counts.
Use this after editing a rule file in a development session. It mutates the package's internal rule table and is not required for normal use of integrate.
Differential Fields
SymbolicIntegration.Derivation — Type
DerivationAbstract interface for a derivation used by the Risch integration algorithm.
A concrete derivation represents a differential field with a distinguished domain. It must store or otherwise provide a domain and be callable on elements of that domain. Implementations should also define BaseDerivation and MonomialDerivative. The latter must be a polynomial in the field generator and determines degree(D) and leading_coefficient(D) through AbstractAlgebra.
For a new derivation type, preserve these rules:
D(p)returns the derivative of every compatible polynomial or fractionpand throws an error for an incompatible parent.domain(D)is the polynomial ring on which the derivation is defined.BaseDerivation(D)is the derivation on the coefficient field.MonomialDerivative(D)is the derivative ofgen(domain(D)).constant_field(D)returns the field whose elements are fixed byD.
The exported predicates in this file inspect these operations; they are not additional dispatch requirements for every concrete derivation.
Examples
R, x = polynomial_ring(QQ, :x)
D = BasicDerivation(R)
D(x^2) == 2xSymbolicIntegration.NullDerivation — Type
NullDerivation(domain)Construct the zero derivation on domain.
Fields
domain: Ring whose elements are fixed by the derivation.
The fraction-field constructor stores its base polynomial ring. Calling the derivation on a compatible element returns zero(element).
Examples
R, x = polynomial_ring(QQ, :x)
D = NullDerivation(R)
D(x^2) == 0SymbolicIntegration.BasicDerivation — Type
BasicDerivation(domain)Construct the ordinary derivative d/dx on a univariate polynomial ring.
Fields
domain: Polynomial ring whose generator is differentiated.
BasicDerivation(R) differentiates polynomials in R and fractions over R. Its base derivation is NullDerivation and its monomial derivative is one(domain).
Examples
R, x = polynomial_ring(QQ, :x)
D = BasicDerivation(R)
D(x^3 + x) == 3x^2 + 1SymbolicIntegration.ExtensionDerivation — Type
ExtensionDerivation(domain, D, H)Extend a derivation D to a polynomial ring with generator t by setting D(t) = H.
Arguments
domain: Polynomial ring extendingdomain(D).D: Derivation on the coefficient ring ofdomain.H: Polynomial indomaingiving the derivative of its generator.
Fields
domain: Extended polynomial ring.D: Base derivation.H: Monomial derivative of the new generator.
The coefficient ring of domain must match domain(D). Use CoefficientLiftingDerivation when the new generator has zero derivative.
SymbolicIntegration.CoefficientLiftingDerivation — Function
CoefficientLiftingDerivation(domain, D)Extend D to domain while keeping the newly added generator constant.
Arguments
domain: Polynomial ring or fraction field extendingdomain(D).D: Derivation on the coefficient ring.
This is equivalent to ExtensionDerivation(domain, D, zero(domain)).
SymbolicIntegration.TowerOfDifferentialFields — Function
TowerOfDifferentialFields(Hs) -> K, gs, DConstruct tower of differential fields.
Given Hs = [H₁,...,Hₙ] with Hᵢ in C(x,t₁,...,tₙ) (i.e., they are fractions of multivariate polynomials in variables x, t₁,...,tₙ over a field C) such that Hᵢ can be represented as a polynomial in tᵢ with coefficients in C(x, t₁,...,tᵢ₋₁) (in particular, Hᵢ does not depend on tᵢ₊₁,...,tₙ), return a field K = C(x)(t₁)...(tₙ) isomorphic to C(x, t₁,...,tₙ) and a derivation D on K such that K is constructed by iteratively adjoining the indeterminates x, t₁,...,tₙ, C is the constant field of D, D is d/dx on C(x), and D is iteratively extended from C(x)(t₁)...(tᵢ₋₁) to C(x)(t₁)...(tᵢ) such that tᵢ is monomial over C(x)(t₁)...(tᵢ₋₁) with D(tᵢ)=Hᵢ=Hᵢ(x, t₁,....,tᵢ). The generators x of C(x) over C and tᵢ of C(x)(t₁)...(tᵢ) over C(x)(t₁)...(tᵢ₋₁) are returned as gs=[x, t₁,...,tₙ]. (Note that these generators, although here denoted by the same symbols for simplicity, are isomorphic but not identical to the generators x, t₁,...,tₙ of C(x,t₁,...,tₙ) given implicitly as the variables of the rational functions Hᵢ.)
Example
R, (x, t1, t2) = polynomial_ring(QQ, [:x, :t1, :t2])
Z = zero(R)//1 # zero element of the fraction field of R
K, gs, D = TowerOfDifferentialFields([t1//x, (t2^2+1)*x*t1 + Z])(Note: by adding Z to a polynomial we explicitly transform it to an element of the fraction field.)
SymbolicIntegration.BaseDerivation — Function
BaseDerivation(D::Derivation)Return the derivation on the coefficient field from which D was extended.
Returns
The base derivation used to construct D.
Examples
R, x = polynomial_ring(QQ, :x)
BaseDerivation(BasicDerivation(R)) isa NullDerivationSymbolicIntegration.MonomialDerivative — Function
MonomialDerivative(D::Derivation)Return the derivative of the generator of domain(D).
For an ExtensionDerivation, this is the stored H; for a BasicDerivation, it is one(domain(D)).
Returns
The derivative of the generator of domain(D).
Examples
R, x = polynomial_ring(QQ, :x)
isone(MonomialDerivative(BasicDerivation(R)))SymbolicIntegration.domain — Function
domain(D::Derivation)Return the polynomial ring on which D is defined.
All values passed to D, iscompatible, and the differential-field predicates must be elements of this domain or of its fraction field.
Returns
The polynomial ring stored by the derivation.
Examples
R, x = polynomial_ring(QQ, :x)
domain(BasicDerivation(R)) === RSymbolicIntegration.constant_field — Function
constant_field(D::Derivation)Return the coefficient field fixed by D.
For a null or basic derivation this is the fraction field of the coefficient ring when the stored domain is not already a field. Extension derivations delegate to their base derivation.
Returns
The coefficient field fixed by the derivation.
Examples
R, x = polynomial_ring(QQ, :x)
constant_field(BasicDerivation(R))SymbolicIntegration.iscompatible — Function
iscompatible(p, D::Derivation) -> BoolReturn whether p belongs to the domain of D.
The method accepts ring elements and fraction-field elements. It compares the parent ring of p with domain(D) and does not coerce p.
SymbolicIntegration.is_Sirr1_eq_Sirr — Function
is_Sirr1_eq_Sirr(D::Derivation) -> BoolReport whether the derivation assumes that the first irreducible special factor set equals the special factor set. The default implementation returns true, which is the assumption used by the current Risch routines.
SymbolicIntegration.isbasic — Function
isbasic(D::Derivation) -> BoolReturn true when D is the ordinary derivative on its polynomial domain. Extension derivations are basic only when their base derivation is zero and their monomial derivative is one.
SymbolicIntegration.isprimitive — Function
isprimitive(D::Derivation) -> BoolReturn whether the monomial derivative of D has degree zero.
SymbolicIntegration.ishyperexponential — Function
ishyperexponential(D::Derivation) -> BoolReturn whether D has degree one and zero constant coefficient in its monomial derivative.
SymbolicIntegration.isnonlinear — Function
isnonlinear(D::Derivation) -> BoolReturn whether the monomial derivative of D has degree at least two.
SymbolicIntegration.ishypertangent — Function
ishypertangent(D::Derivation) -> BoolReturn whether D is nonlinear and its monomial derivative is a constant multiple of t^2 + 1, where t = gen(domain(D)).
SymbolicIntegration.isnormal — Function
isnormal(p, D::Derivation) -> BoolReturn whether the compatible polynomial p is normal with respect to D.
Normality means gcd(p, D(p)) has degree zero.
SymbolicIntegration.isspecial — Function
isspecial(p, D::Derivation) -> BoolReturn whether the compatible polynomial p is special with respect to D.
Speciality means p divides D(p).
SymbolicIntegration.issimple — Function
issimple(f, D::Derivation) -> BoolReturn whether the denominator of compatible fraction f is normal with respect to D.
SymbolicIntegration.isreduced — Function
isreduced(f, D::Derivation) -> BoolReturn whether the denominator of compatible fraction f is special with respect to D.
Maxima Backend
SymbolicIntegrationMaxima.SymbolicIntegrationMaxima — Module
SymbolicIntegrationMaximaMaxima-backed symbolic integration and simplification for Symbolics.Num expressions.
The backend is selected explicitly with MaximaMethod, so installing this package does not require a Maxima executable until a Maxima operation is called. The conversion functions are also available for workflows that need to exchange Maxima syntax directly.
Example
using Symbolics, SymbolicIntegrationMaxima
@variables x
method = MaximaMethod(timeout=10)
integrate(exp(x), x, method)
maxima_simplify((x + 1)^2; method)SymbolicIntegrationMaxima.MaximaMethod — Type
MaximaMethod(; command="maxima", timeout=5.0, validate=false,
simplify_result=true, expand_special_functions=true,
assumptions=())Integration backend that delegates symbolic integration to a local Maxima process. The method is explicit by design:
integrate(f, x, MaximaMethod())
integrate(f, x, a, b, MaximaMethod())Keyword Arguments
command::AbstractString="maxima": Executable used to start Maxima.timeout::Real=5.0: Maximum seconds allowed for each Maxima process.validate::Bool=false: Differentiate an indefinite result and warn when it does not simplify to the original integrand.simplify_result::Bool=true: Apply Maxima'sratsimpbefore parsing.expand_special_functions::Bool=true: Ask Maxima to expand exact gamma, beta, and Bessel identities before parsing.assumptions::Tuple=(): Facts and statements applied to every call; a per-callassumptionskeyword replaces this tuple.
Fields
command::String: Maxima executable name or path.timeout::Float64: Per-call timeout in seconds.validate::Bool: Whether indefinite results are checked by differentiation.simplify_result::Bool: Whether Maxima appliesratsimpto results.expand_special_functions::Bool: Whether exact special-function identities are expanded before conversion.assumptions::Tuple: Persistent Maxima facts and statements.
Examples
@variables x
method = MaximaMethod(timeout=10, validate=true)
integrate(1 / (x^2 + 1), x, method)SymbolicIntegrationMaxima.MaximaError — Type
MaximaError(message)Exception thrown when Maxima execution, conversion, or parsing fails. The kind field distinguishes :assumption, :timeout, :process, :syntax, :evaluation, :protocol, :serialization, :conversion, :unevaluated, :conditional, and :numeric failures.
Fields
message::String: Human-readable description of the failure.kind::Symbol: Machine-readable failure category.
Examples
err = MaximaError("Maxima was not found", :process)
err.kind == :processSymbolicIntegrationMaxima.MaximaFunction — Type
MaximaFunction(name)Opaque symbolic function returned for a valid Maxima function that has no explicit Julia mapping yet. It preserves the exact function name and supports roundtripping through to_maxima and maxima_simplify. maxima_numeric can evaluate it when Maxima knows a numerical value.
Fields
name::Symbol: Maxima function name used for serialization and display.
Examples
f = MaximaFunction(:my_special_function)
to_maxima(f(2)) == "my_special_function(2)"SymbolicIntegrationMaxima.maxima_available — Function
maxima_available(command="maxima") -> BoolReturn whether a Maxima executable can be launched.
Arguments
command::AbstractString="maxima": Executable name or path to test.
Returns
true when command --version exits successfully; otherwise false.
Examples
maxima_available()
maxima_available("/usr/local/bin/maxima")SymbolicIntegrationMaxima.maxima_call — Function
maxima_call(expr; command="maxima", timeout=5)Evaluate a Maxima expression and return Maxima's one-line string representation. This function starts a fresh Maxima process per call. That is slower than a long-lived session, but avoids shared-state bugs from assumptions and previous calculations.
Arguments
expr::AbstractString: Maxima expression or command to evaluate.
Keyword Arguments
command::AbstractString="maxima": Executable used to start Maxima.timeout::Real=5: Maximum seconds to wait for the process.
Returns
The extracted one-line Maxima result as a String.
Throws
MaximaError when Maxima cannot be started, times out, requests an unsupported assumption, or reports an evaluation/protocol error.
Examples
maxima_call("integrate(x^2, x)")SymbolicIntegrationMaxima.to_maxima — Function
to_maxima(expr)Serialize a supported Julia or Symbolics expression to Maxima syntax. Unsupported operations throw MaximaError.
Arguments
expr: Integer, real, rational, complex, collection, or symbolic expression supported by the conversion table.
Returns
A Maxima syntax String.
Examples
@variables x
to_maxima((x^2 + 1) / 2) == "((x^2+1)/2)"SymbolicIntegrationMaxima.from_maxima — Function
from_maxima(text, vars)Parse a Maxima result string into a Symbolics expression. vars must contain the symbolic variables that may appear in text.
Arguments
text::AbstractString: Maxima result in the syntax emitted bymaxima_call.vars: Iterable ofSymbolics.Numvariables used to build the evaluation environment.
Returns
A Symbolics.Num expression with Maxima functions represented by native Symbolics operations or exported symbolic placeholders.
Throws
MaximaError for unevaluated integrals, unsupported conditionals, or malformed Maxima syntax.
Examples
@variables x
from_maxima("x^2 + 1", (x,))SymbolicIntegrationMaxima.maxima_integrate — Function
maxima_integrate(f, x; method=MaximaMethod(), kwargs...)
maxima_integrate(f, x, a, b; method=MaximaMethod(), kwargs...)Convenience wrappers around integrate(..., MaximaMethod()).
Arguments
f: Symbolic integrand.x: Symbolic integration variable.a,b: Lower and upper bounds for definite integration.
Keyword Arguments
method::MaximaMethod=MaximaMethod(): Backend configuration.kwargs...: Options forwarded to the selected integration method.
Returns
A symbolic antiderivative or definite integral result as a Symbolics.Num.
Examples
@variables x
maxima_integrate(exp(x), x)
maxima_integrate(x, x, 0, 1)SymbolicIntegrationMaxima.maxima_simplify — Function
maxima_simplify(expr; method=MaximaMethod(), assumptions=method.assumptions,
expand_special_functions=method.expand_special_functions)Simplify a Symbolics expression with Maxima and parse the exact result back into Julia. Exact special-function identities are enabled by default.
Arguments
expr: Symbolic expression to simplify.
Keyword Arguments
method::MaximaMethod=MaximaMethod(): Backend configuration.assumptions=method.assumptions: Facts applied by Maxima.timeout=method.timeout: Maximum seconds for the Maxima process.expand_special_functions::Bool=method.expand_special_functions: Expand exact special-function identities.
Returns
The simplified result as a Symbolics.Num.
Examples
@variables x
maxima_simplify((x + 1)^2)SymbolicIntegrationMaxima.maxima_numeric — Function
maxima_numeric(expr; method=MaximaMethod(), assumptions=method.assumptions,
digits=16)Numerically evaluate a constant Symbolics expression with Maxima. Substitute all free variables first. Up to 16 decimal digits returns a Julia Float64 or ComplexF64; larger values of digits return BigFloat or Complex{BigFloat} values.
Arguments
expr: Symbolic expression with no free variables.
Keyword Arguments
method::MaximaMethod=MaximaMethod(): Backend configuration.assumptions=method.assumptions: Facts applied by Maxima.timeout=method.timeout: Maximum seconds for the Maxima process.digits::Integer=16: Requested decimal precision; values above 16 use arbitrary precision.
Returns
A real or complex floating-point value at the requested precision.
Throws
ArgumentError when digits < 2, or MaximaError when the expression is not constant or cannot be converted to a number.
Examples
maxima_numeric(sin(pi / 4)^2)
maxima_numeric(1 / 3; digits=32)SymbolicIntegrationMaxima.maxima_help — Function
maxima_help([io=stdout])Print a compact REPL guide. Julia's help mode also provides detailed entries: ?MaximaMethod, ?maxima_integrate, ?maxima_simplify, and ?maxima_numeric.
Arguments
io::IO=stdout: Destination for the guide.
Returns
nothing after writing the guide.
Examples
maxima_help()SymbolicIntegrationMaxima.maxima_status — Function
maxima_status([method=MaximaMethod()]; io=stdout) -> BoolPrint the backend and Maxima versions and return whether Maxima is available.
Arguments
method::MaximaMethod=MaximaMethod(): Configuration whose executable is queried.
Keyword Arguments
io::IO=stdout: Destination for the status lines.
Returns
true when the configured Maxima executable is available; otherwise false.
Examples
maxima_status(MaximaMethod(timeout=10))SymbolicIntegrationMaxima.maxima_declare — Function
maxima_declare(var, property)Create a Maxima declaration such as declare(n,integer) for an assumptions tuple. Pass the property as a symbol, for example :integer.
Arguments
var: Value to declare in Maxima.property::Symbol: Maxima declaration property, such as:integer.
Returns
A MaximaStatement for use in a Maxima assumptions tuple.
Examples
@variables n
MaximaMethod(assumptions=(maxima_declare(n, :integer),))SymbolicIntegrationMaxima.maxima_notequal — Function
maxima_notequal(lhs, rhs)Create a Maxima notequal(lhs,rhs) fact for an assumptions tuple.
Arguments
lhs,rhs: Values that can be serialized withto_maxima.
Returns
A MaximaFact suitable for the assumptions field of MaximaMethod or an individual Maxima call.
Examples
@variables n
method = MaximaMethod(assumptions=(maxima_notequal(n, 0),))SymbolicIntegrationMaxima.maxima_statement — Function
maxima_statement(text)Create a raw Maxima context statement for an assumptions tuple. This is an expert escape hatch; text is sent directly to the fresh Maxima process.
Arguments
text::AbstractString: Maxima statement to execute before the integration or simplification command.
Returns
A MaximaStatement for use in an assumptions tuple.
Examples
method = MaximaMethod(assumptions=(maxima_statement("domain:complex"),))SymbolicIntegrationMaxima.gamma_incomplete — Function
gamma_incomplete(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
gamma_incomplete(x)SymbolicIntegrationMaxima.gamma_incomplete_lower — Function
gamma_incomplete_lower(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
gamma_incomplete_lower(x)SymbolicIntegrationMaxima.gamma_incomplete_regularized — Function
gamma_incomplete_regularized(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
gamma_incomplete_regularized(x)SymbolicIntegrationMaxima.gamma_incomplete_generalized — Function
gamma_incomplete_generalized(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
gamma_incomplete_generalized(x)SymbolicIntegrationMaxima.expintegral_e — Function
expintegral_e(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_e(x)SymbolicIntegrationMaxima.expintegral_e1 — Function
expintegral_e1(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_e1(x)SymbolicIntegrationMaxima.expintegral_ei — Function
expintegral_ei(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_ei(x)SymbolicIntegrationMaxima.expintegral_li — Function
expintegral_li(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_li(x)SymbolicIntegrationMaxima.expintegral_si — Function
expintegral_si(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_si(x)SymbolicIntegrationMaxima.expintegral_ci — Function
expintegral_ci(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_ci(x)SymbolicIntegrationMaxima.expintegral_shi — Function
expintegral_shi(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_shi(x)SymbolicIntegrationMaxima.expintegral_chi — Function
expintegral_chi(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
expintegral_chi(x)SymbolicIntegrationMaxima.sin_integral — Function
sin_integral(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
sin_integral(x)SymbolicIntegrationMaxima.cos_integral — Function
cos_integral(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
cos_integral(x)SymbolicIntegrationMaxima.erf_generalized — Function
erf_generalized(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
erf_generalized(x)SymbolicIntegrationMaxima.fresnel_s — Function
fresnel_s(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
fresnel_s(x)SymbolicIntegrationMaxima.fresnel_c — Function
fresnel_c(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
fresnel_c(x)SymbolicIntegrationMaxima.beta_incomplete — Function
beta_incomplete(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
beta_incomplete(x)SymbolicIntegrationMaxima.beta_incomplete_regularized — Function
beta_incomplete_regularized(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
beta_incomplete_regularized(x)SymbolicIntegrationMaxima.elliptic_f — Function
elliptic_f(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_f(x)SymbolicIntegrationMaxima.elliptic_e — Function
elliptic_e(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_e(x)SymbolicIntegrationMaxima.elliptic_eu — Function
elliptic_eu(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_eu(x)SymbolicIntegrationMaxima.elliptic_pi — Function
elliptic_pi(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_pi(x)SymbolicIntegrationMaxima.elliptic_kc — Function
elliptic_kc(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_kc(x)SymbolicIntegrationMaxima.elliptic_ec — Function
elliptic_ec(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
elliptic_ec(x)SymbolicIntegrationMaxima.jacobi_sn — Function
jacobi_sn(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
jacobi_sn(x)SymbolicIntegrationMaxima.jacobi_cn — Function
jacobi_cn(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
jacobi_cn(x)SymbolicIntegrationMaxima.jacobi_dn — Function
jacobi_dn(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
jacobi_dn(x)SymbolicIntegrationMaxima.jacobi_am — Function
jacobi_am(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
jacobi_am(x)SymbolicIntegrationMaxima.hypergeometric — Function
hypergeometric(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
hypergeometric(x)SymbolicIntegrationMaxima.struve_h — Function
struve_h(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
struve_h(x)SymbolicIntegrationMaxima.struve_l — Function
struve_l(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
struve_l(x)SymbolicIntegrationMaxima.polylog — Function
polylog(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
polylog(x)SymbolicIntegrationMaxima.hankel_1 — Function
hankel_1(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
hankel_1(x)SymbolicIntegrationMaxima.hankel_2 — Function
hankel_2(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
hankel_2(x)SymbolicIntegrationMaxima.parabolic_cylinder_d — Function
parabolic_cylinder_d(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
parabolic_cylinder_d(x)SymbolicIntegrationMaxima.lambert_w — Function
lambert_w(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
lambert_w(x)SymbolicIntegrationMaxima.assoc_legendre_p — Function
assoc_legendre_p(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
assoc_legendre_p(x)SymbolicIntegrationMaxima.assoc_legendre_q — Function
assoc_legendre_q(args...)Symbolic placeholder for a special function returned by Maxima that Symbolics.jl does not currently define as a standard symbolic function. The expression supports substitution and conversion back to Maxima.
Arguments
args...: Symbolic or numeric arguments accepted by Maxima.
Returns
A symbolic Symbolics.Num call that can be serialized with to_maxima and simplified or numerically evaluated by the Maxima backend.
Examples
@variables x
assoc_legendre_q(x)