API Reference

SymbolicIntegrationModule
SymbolicIntegration

Symbolic 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())
source

Integration Interface

SymbolicIntegration.AbstractIntegrationMethodType
AbstractIntegrationMethod

Abstract 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.
end

The 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

  1. Define a concrete subtype with only configuration state needed by the backend.
  2. Add an integrate(f, x, method; kwargs...) method; do not replace the generic two-argument dispatch.
  3. Accept symbolic integrands and variables as Symbolics.Num values and return a symbolic result, including an unevaluated integral when the backend cannot solve the input.
  4. 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())
source
SymbolicIntegration.integrateFunction
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())
source
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)
source
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

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))
source
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)
source
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)
source
SymbolicIntegration.RischMethodType
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 of use_algebraic_closure.
  • catch_errors::Bool: Value of catch_errors.

Examples

method = RischMethod(catch_errors=false)
integrate(1 / (x^2 + 1), x, method)
source
SymbolicIntegration.RuleBasedMethodType
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 of use_gamma.
  • verbose::Bool: Value of verbose.

Examples

method = RuleBasedMethod(verbose=true)
integrate(sqrt(1 + x), x, method)
source
SymbolicIntegration.reload_rulesFunction
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 local file_rules collection 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.

source
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.

source

Differential Fields

SymbolicIntegration.DerivationType
Derivation

Abstract 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 fraction p and 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 of gen(domain(D)).
  • constant_field(D) returns the field whose elements are fixed by D.

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) == 2x
source
SymbolicIntegration.NullDerivationType
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) == 0
source
SymbolicIntegration.BasicDerivationType
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 + 1
source
SymbolicIntegration.ExtensionDerivationType
ExtensionDerivation(domain, D, H)

Extend a derivation D to a polynomial ring with generator t by setting D(t) = H.

Arguments

  • domain: Polynomial ring extending domain(D).
  • D: Derivation on the coefficient ring of domain.
  • H: Polynomial in domain giving 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.

source
SymbolicIntegration.CoefficientLiftingDerivationFunction
CoefficientLiftingDerivation(domain, D)

Extend D to domain while keeping the newly added generator constant.

Arguments

  • domain: Polynomial ring or fraction field extending domain(D).
  • D: Derivation on the coefficient ring.

This is equivalent to ExtensionDerivation(domain, D, zero(domain)).

source
SymbolicIntegration.TowerOfDifferentialFieldsFunction
TowerOfDifferentialFields(Hs) -> K, gs, D

Construct 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.)

source
SymbolicIntegration.BaseDerivationFunction
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 NullDerivation
source
SymbolicIntegration.domainFunction
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)) === R
source
SymbolicIntegration.constant_fieldFunction
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))
source
SymbolicIntegration.iscompatibleFunction
iscompatible(p, D::Derivation) -> Bool

Return 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.

source
SymbolicIntegration.is_Sirr1_eq_SirrFunction
is_Sirr1_eq_Sirr(D::Derivation) -> Bool

Report 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.

source
SymbolicIntegration.isbasicFunction
isbasic(D::Derivation) -> Bool

Return 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.

source
SymbolicIntegration.ishypertangentFunction
ishypertangent(D::Derivation) -> Bool

Return whether D is nonlinear and its monomial derivative is a constant multiple of t^2 + 1, where t = gen(domain(D)).

source
SymbolicIntegration.isnormalFunction
isnormal(p, D::Derivation) -> Bool

Return whether the compatible polynomial p is normal with respect to D.

Normality means gcd(p, D(p)) has degree zero.

source
SymbolicIntegration.isspecialFunction
isspecial(p, D::Derivation) -> Bool

Return whether the compatible polynomial p is special with respect to D.

Speciality means p divides D(p).

source

Maxima Backend

SymbolicIntegrationMaxima.SymbolicIntegrationMaximaModule
SymbolicIntegrationMaxima

Maxima-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)
source
SymbolicIntegrationMaxima.MaximaMethodType
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's ratsimp before 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-call assumptions keyword 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 applies ratsimp to 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)
source
SymbolicIntegrationMaxima.MaximaErrorType
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 == :process
source
SymbolicIntegrationMaxima.MaximaFunctionType
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)"
source
SymbolicIntegrationMaxima.maxima_availableFunction
maxima_available(command="maxima") -> Bool

Return 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")
source
SymbolicIntegrationMaxima.maxima_callFunction
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)")
source
SymbolicIntegrationMaxima.to_maximaFunction
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)"
source
SymbolicIntegrationMaxima.from_maximaFunction
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 by maxima_call.
  • vars: Iterable of Symbolics.Num variables 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,))
source
SymbolicIntegrationMaxima.maxima_integrateFunction
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)
source
SymbolicIntegrationMaxima.maxima_simplifyFunction
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)
source
SymbolicIntegrationMaxima.maxima_numericFunction
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)
source
SymbolicIntegrationMaxima.maxima_helpFunction
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()
source
SymbolicIntegrationMaxima.maxima_statusFunction
maxima_status([method=MaximaMethod()]; io=stdout) -> Bool

Print 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))
source
SymbolicIntegrationMaxima.maxima_declareFunction
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),))
source
SymbolicIntegrationMaxima.maxima_notequalFunction
maxima_notequal(lhs, rhs)

Create a Maxima notequal(lhs,rhs) fact for an assumptions tuple.

Arguments

  • lhs, rhs: Values that can be serialized with to_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),))
source
SymbolicIntegrationMaxima.maxima_statementFunction
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"),))
source
SymbolicIntegrationMaxima.gamma_incompleteFunction
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)
source
SymbolicIntegrationMaxima.gamma_incomplete_lowerFunction
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)
source
SymbolicIntegrationMaxima.gamma_incomplete_regularizedFunction
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)
source
SymbolicIntegrationMaxima.gamma_incomplete_generalizedFunction
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)
source
SymbolicIntegrationMaxima.expintegral_eFunction
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)
source
SymbolicIntegrationMaxima.expintegral_e1Function
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)
source
SymbolicIntegrationMaxima.expintegral_eiFunction
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)
source
SymbolicIntegrationMaxima.expintegral_liFunction
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)
source
SymbolicIntegrationMaxima.expintegral_siFunction
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)
source
SymbolicIntegrationMaxima.expintegral_ciFunction
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)
source
SymbolicIntegrationMaxima.expintegral_shiFunction
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)
source
SymbolicIntegrationMaxima.expintegral_chiFunction
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)
source
SymbolicIntegrationMaxima.sin_integralFunction
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)
source
SymbolicIntegrationMaxima.cos_integralFunction
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)
source
SymbolicIntegrationMaxima.erf_generalizedFunction
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)
source
SymbolicIntegrationMaxima.fresnel_sFunction
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)
source
SymbolicIntegrationMaxima.fresnel_cFunction
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)
source
SymbolicIntegrationMaxima.beta_incompleteFunction
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)
source
SymbolicIntegrationMaxima.beta_incomplete_regularizedFunction
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)
source
SymbolicIntegrationMaxima.elliptic_fFunction
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)
source
SymbolicIntegrationMaxima.elliptic_eFunction
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)
source
SymbolicIntegrationMaxima.elliptic_euFunction
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)
source
SymbolicIntegrationMaxima.elliptic_piFunction
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)
source
SymbolicIntegrationMaxima.elliptic_kcFunction
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)
source
SymbolicIntegrationMaxima.elliptic_ecFunction
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)
source
SymbolicIntegrationMaxima.jacobi_snFunction
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)
source
SymbolicIntegrationMaxima.jacobi_cnFunction
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)
source
SymbolicIntegrationMaxima.jacobi_dnFunction
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)
source
SymbolicIntegrationMaxima.jacobi_amFunction
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)
source
SymbolicIntegrationMaxima.hypergeometricFunction
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)
source
SymbolicIntegrationMaxima.struve_hFunction
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)
source
SymbolicIntegrationMaxima.struve_lFunction
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)
source
SymbolicIntegrationMaxima.polylogFunction
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)
source
SymbolicIntegrationMaxima.hankel_1Function
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)
source
SymbolicIntegrationMaxima.hankel_2Function
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)
source
SymbolicIntegrationMaxima.parabolic_cylinder_dFunction
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)
source
SymbolicIntegrationMaxima.lambert_wFunction
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)
source
SymbolicIntegrationMaxima.assoc_legendre_pFunction
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)
source
SymbolicIntegrationMaxima.assoc_legendre_qFunction
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)
source