SolveValues
✖
SolveValues

uses solutions over the domain dom. Common choices of dom are Reals, Integers and Complexes.
Details and Options




- The system expr can be any logical combination of:
-
lhs==rhs equations lhs!=rhs inequations lhs>rhs or lhs>=rhs inequalities expr∈dom domain specifications {x,y,…}∈reg region specification ForAll[x,cond,expr] universal quantifiers Exists[x,cond,expr] existential quantifiers - SolveValues[{expr1,expr2,…},vars] is equivalent to SolveValues[expr1&&expr2&&…,vars].
- If a single variable is specified, the result is a list of values of the variable for which expr is True.
- If a list of variables is specified, the result is a list of lists of values for the variables for which expr is True.
- When a single variable is specified and a particular root of an equation has multiplicity greater than one, SolveValues gives several copies of the corresponding solution.
- SolveValues[expr,vars] assumes by default that quantities appearing algebraically in inequalities are real, while all other quantities are complex.
- SolveValues[expr,vars,dom] restricts all variables and parameters to belong to the domain dom.
- If dom is Reals or a subset such as Integers or Rationals, then all constants and function values are also restricted to be real.
- SolveValues[expr&&vars∈Reals,vars,Complexes] solves for real values of variables, but function values are allowed to be complex.
- SolveValues[expr,vars,Integers] solves Diophantine equations over the integers.
- SolveValues[…,x∈reg,Reals] constrains x to be in the region reg. The different coordinates for x can be referred to using Indexed[x,i].
- Algebraic variables in expr free of vars and of each other are treated as independent parameters.
- SolveValues deals primarily with linear and polynomial equations.
- When expr involves only polynomial equations and inequalities over real or complex domains, then SolveValues can always in principle solve directly for vars.
- When expr involves transcendental conditions or integer domains, SolveValues will often introduce additional parameters in its results.
- SolveValues can give explicit representations for solutions to all linear equations and inequalities over the integers and can solve a large fraction of Diophantine equations described in the literature.
- When expr involves only polynomial conditions over real or complex domains, SolveValues[expr,vars] will always be able to eliminate quantifiers.
- SolveValues gives generic solutions only. Solutions that are valid only when continuous parameters satisfy equations are removed. Other solutions that are only conditionally valid are expressed as ConditionalExpression objects.
- Conditions included in ConditionalExpression solutions may involve inequalities, Element statements, equations and inequations on non-continuous parameters and equations with full-dimensional solutions. Inequations and NotElement conditions on continuous parameters and variables are dropped.
- SolveValues may use non-equivalent transformations to find solutions of transcendental equations and hence it may not find some solutions and may not establish exact conditions on the validity of the solutions found. If this happens, an error message is issued.
- SolveValues uses special efficient techniques for handling sparse systems of linear equations with approximate numerical coefficients.
- The following options can be given:
-
Assumptions $Assumptions assumptions on parameters Cubics Automatic whether to use explicit radicals to solve all cubics GeneratedParameters C how to name parameters that are generated InverseFunctions Automatic whether to use symbolic inverse functions MaxExtraConditions 0 how many extra equational conditions on continuous parameters to allow MaxRoots Infinity maximum number of roots returned Method Automatic what method should be used Modulus 0 modulus to assume for integers Quartics Automatic whether to use explicit radicals to solve all quartics VerifySolutions Automatic whether to verify solutions obtained using non-equivalent transformations WorkingPrecision Infinity precision to be used in computations - With MaxExtraConditions->Automatic, only solutions that require the minimal number of equational conditions on continuous parameters are included.
- With MaxExtraConditions->All, solutions that require arbitrary conditions on parameters are given and all conditions are included.
- With MaxExtraConditions->k, only solutions that require at most k equational conditions on continuous parameters are included.
- With Method->Reduce, SolveValues uses only equivalent transformations and finds all solutions.
- SolveValues[eqns,…,Modulus->m] solves equations over the integers modulo m. With Modulus->Automatic, SolveValues will attempt to find the largest modulus for which the equations have solutions.
Examples
open allclose allBasic Examples (5)Summary of the most common use cases

https://wolfram.com/xid/0bdou600i-g05

Solve simultaneous equations in and
:

https://wolfram.com/xid/0bdou600i-bcw

Solve an equation over the reals:

https://wolfram.com/xid/0bdou600i-i1x0jj

Solve an equation over the positive integers:

https://wolfram.com/xid/0bdou600i-y3h7i

Solve equations in a geometric region:

https://wolfram.com/xid/0bdou600i-m1hbjg


https://wolfram.com/xid/0bdou600i-b209ra

Scope (87)Survey of the scope of standard use cases
Basic Uses (7)
Solutions are given as lists of values of the specified variables:

https://wolfram.com/xid/0bdou600i-sz7e7

Check that solutions satisfy the equations:

https://wolfram.com/xid/0bdou600i-pdsmq

If there are no solutions, SolveValues returns an empty list:

https://wolfram.com/xid/0bdou600i-en8k4e

Some of the variables may appear in the solutions as free parameters:

https://wolfram.com/xid/0bdou600i-c4qd5v


Find solutions over specified domains:

https://wolfram.com/xid/0bdou600i-btcl0w


https://wolfram.com/xid/0bdou600i-cocpxs


https://wolfram.com/xid/0bdou600i-fzldx9

Solve equations with coefficients involving a symbolic parameter:

https://wolfram.com/xid/0bdou600i-bw37uu

Plot the real parts of the solutions for y as a function of the parameter a:

https://wolfram.com/xid/0bdou600i-cfj46b

Solution of this equation over the reals requires conditions on the parameters:

https://wolfram.com/xid/0bdou600i-c6oz7j

Use Normal to remove the conditions:

https://wolfram.com/xid/0bdou600i-gmz5p9

Solution of this equation over the positive integers requires introduction of a new parameter:

https://wolfram.com/xid/0bdou600i-mcip9w


https://wolfram.com/xid/0bdou600i-dyk2qj

Complex Equations in One Variable (16)
Polynomial equations solvable in radicals:

https://wolfram.com/xid/0bdou600i-b26xcn

To use general formulas for solving cubic equations, set CubicsTrue:

https://wolfram.com/xid/0bdou600i-c61ess

By default, SolveValues uses Root objects to represent solutions of general cubic equations:

https://wolfram.com/xid/0bdou600i-eisygm


https://wolfram.com/xid/0bdou600i-l7qts7

Polynomial equations with multiple roots:

https://wolfram.com/xid/0bdou600i-fg4dko

Find five roots of a polynomial of a high degree:

https://wolfram.com/xid/0bdou600i-jik1b0

Polynomial equations with symbolic coefficients:

https://wolfram.com/xid/0bdou600i-o9kfg


https://wolfram.com/xid/0bdou600i-ig0hgm


https://wolfram.com/xid/0bdou600i-5itph

Complete solutions to transcendental equations:

https://wolfram.com/xid/0bdou600i-ei0sno


https://wolfram.com/xid/0bdou600i-do4ma9

Partial solutions to transcendental equations:

https://wolfram.com/xid/0bdou600i-iec8fz



https://wolfram.com/xid/0bdou600i-euvlxi


SolveValues cannot find all solutions here:

https://wolfram.com/xid/0bdou600i-eo6zgh



https://wolfram.com/xid/0bdou600i-oqfdgq

Univariate elementary function equations over bounded regions:

https://wolfram.com/xid/0bdou600i-vopz12

Univariate holomorphic function equations over bounded regions:

https://wolfram.com/xid/0bdou600i-fssx58


Here SolveValues finds some solutions but is not able to prove there are no other solutions:

https://wolfram.com/xid/0bdou600i-dlszza


Equation with a purely imaginary period over a vertical stripe in the complex plane:

https://wolfram.com/xid/0bdou600i-mlngs5

Find a specified number of roots of an unrestricted complex equation:

https://wolfram.com/xid/0bdou600i-bcvf0m


https://wolfram.com/xid/0bdou600i-bc3wia


Nonanalytic complex equations:

https://wolfram.com/xid/0bdou600i-chwdz4


https://wolfram.com/xid/0bdou600i-jqotg3

Systems of Complex Equations in Several Variables (12)

https://wolfram.com/xid/0bdou600i-ed9vjf

Linear equations with symbolic coefficients:

https://wolfram.com/xid/0bdou600i-6r4vz

Underdetermined systems of linear equations:

https://wolfram.com/xid/0bdou600i-cbonrc


Linear equations with no solutions:

https://wolfram.com/xid/0bdou600i-b0z54x

Systems of polynomial equations:

https://wolfram.com/xid/0bdou600i-el7e2z

Find five out of a trillion roots of a polynomial system:

https://wolfram.com/xid/0bdou600i-jddb0

Polynomial equations with symbolic coefficients:

https://wolfram.com/xid/0bdou600i-bqycub


https://wolfram.com/xid/0bdou600i-dbz6tx



https://wolfram.com/xid/0bdou600i-innk5j


https://wolfram.com/xid/0bdou600i-buzvxz


Find a specified number of solutions of transcendental equations:

https://wolfram.com/xid/0bdou600i-wl01fb

Square analytic systems over bounded boxes:

https://wolfram.com/xid/0bdou600i-83w7nf


https://wolfram.com/xid/0bdou600i-cega6t

Real Equations in One Variable (13)

https://wolfram.com/xid/0bdou600i-dhq5bv

Polynomial equations with multiple roots:

https://wolfram.com/xid/0bdou600i-dc26xt

Polynomial equations with symbolic coefficients:

https://wolfram.com/xid/0bdou600i-w7yylm


https://wolfram.com/xid/0bdou600i-i4j3df


https://wolfram.com/xid/0bdou600i-dyni8

Transcendental equations, solvable using inverse functions:

https://wolfram.com/xid/0bdou600i-tfnsh


https://wolfram.com/xid/0bdou600i-obvohx


https://wolfram.com/xid/0bdou600i-2jwjtn

Transcendental equations, solvable using special function zeros:

https://wolfram.com/xid/0bdou600i-hb5v2w

Transcendental inequalities, solvable using special function zeros:

https://wolfram.com/xid/0bdou600i-bb404h


https://wolfram.com/xid/0bdou600i-dhdgkq

High-degree sparse polynomial equations:

https://wolfram.com/xid/0bdou600i-imbp1a

Algebraic equations involving high-degree radicals:

https://wolfram.com/xid/0bdou600i-penng

Equations involving non-rational real powers:

https://wolfram.com/xid/0bdou600i-i46va


https://wolfram.com/xid/0bdou600i-ppetdc

Tame elementary function equations:

https://wolfram.com/xid/0bdou600i-b65h95

Elementary function equations in bounded intervals:

https://wolfram.com/xid/0bdou600i-beor2b

Holomorphic function equations in bounded intervals:

https://wolfram.com/xid/0bdou600i-k3cxtw


Periodic elementary function equations over the reals:

https://wolfram.com/xid/0bdou600i-d6vn1

Systems of Real Equations and Inequalities in Several Variables (10)

https://wolfram.com/xid/0bdou600i-fskac


https://wolfram.com/xid/0bdou600i-mt2k2q

Quantified polynomial systems:

https://wolfram.com/xid/0bdou600i-oqx5qn


https://wolfram.com/xid/0bdou600i-d6xrhv


https://wolfram.com/xid/0bdou600i-cdubtk


https://wolfram.com/xid/0bdou600i-fphl0y

Transcendental systems, solvable using inverse functions:

https://wolfram.com/xid/0bdou600i-s4nr6


https://wolfram.com/xid/0bdou600i-pu71op

Systems exp-log in the first variable and polynomial in the other variables:

https://wolfram.com/xid/0bdou600i-k1k6ul


https://wolfram.com/xid/0bdou600i-egms13

Systems elementary and bounded in the first variable and polynomial in the other variables:

https://wolfram.com/xid/0bdou600i-fvz3v9


https://wolfram.com/xid/0bdou600i-ejllf0

Systems holomorphic and bounded in the first variable and polynomial in the other variables:

https://wolfram.com/xid/0bdou600i-fb6mv5



https://wolfram.com/xid/0bdou600i-hn9wkc


Square systems of analytic equations over bounded regions:

https://wolfram.com/xid/0bdou600i-pfhd6f

Diophantine Equations (11)

https://wolfram.com/xid/0bdou600i-sz2ju

Linear systems of equations and inequalities:

https://wolfram.com/xid/0bdou600i-fulreq

Univariate polynomial equations:

https://wolfram.com/xid/0bdou600i-km7sh0


https://wolfram.com/xid/0bdou600i-g1rl8c


https://wolfram.com/xid/0bdou600i-bk2dj1


https://wolfram.com/xid/0bdou600i-cwbm4i


https://wolfram.com/xid/0bdou600i-enjls9


https://wolfram.com/xid/0bdou600i-hsrd0b


https://wolfram.com/xid/0bdou600i-ealuoj

Bounded systems of equations and inequalities:

https://wolfram.com/xid/0bdou600i-jqvrli

High‐degree systems with no solutions:

https://wolfram.com/xid/0bdou600i-jjwul

Transcendental Diophantine systems:

https://wolfram.com/xid/0bdou600i-b6qb0s


https://wolfram.com/xid/0bdou600i-j84jjc

Polynomial systems of congruences:

https://wolfram.com/xid/0bdou600i-cpi4z8

Modular Equations (4)

https://wolfram.com/xid/0bdou600i-cud08z


https://wolfram.com/xid/0bdou600i-7cyoa1


Univariate polynomial equations:

https://wolfram.com/xid/0bdou600i-7mc9q

Systems of polynomial equations and inequations:

https://wolfram.com/xid/0bdou600i-dxz908


https://wolfram.com/xid/0bdou600i-j4xh3c

Quantified polynomial systems:

https://wolfram.com/xid/0bdou600i-kzgfqy

Equations over Finite Fields (3)

https://wolfram.com/xid/0bdou600i-cfndqf


https://wolfram.com/xid/0bdou600i-f6gotk


https://wolfram.com/xid/0bdou600i-hef9nj


https://wolfram.com/xid/0bdou600i-dyppb

Systems of polynomial equations:

https://wolfram.com/xid/0bdou600i-fi2b3p


https://wolfram.com/xid/0bdou600i-fna1o8

Systems with Mixed-Variable Domains (2)
Systems with Geometric Region Constraints (9)
Solve over special regions in 2D:

https://wolfram.com/xid/0bdou600i-bk1i0g

https://wolfram.com/xid/0bdou600i-m07wn0


https://wolfram.com/xid/0bdou600i-okukv

Solve over special regions in 3D:

https://wolfram.com/xid/0bdou600i-gnofuq

https://wolfram.com/xid/0bdou600i-h539x7


https://wolfram.com/xid/0bdou600i-edimni


https://wolfram.com/xid/0bdou600i-b9wofb

https://wolfram.com/xid/0bdou600i-chs7bp


https://wolfram.com/xid/0bdou600i-cstveu

https://wolfram.com/xid/0bdou600i-kb9rdr

A parametrically defined region:

https://wolfram.com/xid/0bdou600i-juwcyb

https://wolfram.com/xid/0bdou600i-npl878


https://wolfram.com/xid/0bdou600i-mi7sv6

https://wolfram.com/xid/0bdou600i-bqp6b6


https://wolfram.com/xid/0bdou600i-la3oq9

Eliminate quantifiers over a Cartesian product of regions:

https://wolfram.com/xid/0bdou600i-b2oibr

https://wolfram.com/xid/0bdou600i-fd3wao

Regions dependent on parameters:

https://wolfram.com/xid/0bdou600i-9d869w
The answer depends on the parameter value :

https://wolfram.com/xid/0bdou600i-miz9f3

Use to specify that
is a vector in
:

https://wolfram.com/xid/0bdou600i-cnu18n

https://wolfram.com/xid/0bdou600i-f27c71

In this case, is a vector in
:

https://wolfram.com/xid/0bdou600i-i3d948

https://wolfram.com/xid/0bdou600i-hjca7y

Options (26)Common values & functionality for each option
Assumptions (4)
Specify conditions on parameters using Assumptions:

https://wolfram.com/xid/0bdou600i-uoghsw


https://wolfram.com/xid/0bdou600i-ogmx49

By default, no solutions that require parameters to satisfy equations are produced:

https://wolfram.com/xid/0bdou600i-0qit7y

With an equation on parameters given as an assumption, a solution is returned:

https://wolfram.com/xid/0bdou600i-iauitl

Assumptions that contain solve variables are considered to be a part of the system to solve:

https://wolfram.com/xid/0bdou600i-t7553b

Equivalent statement without using Assumptions:

https://wolfram.com/xid/0bdou600i-slsi1k

With parameters assumed to belong to a discrete set, solutions involving arbitrary conditions are returned:

https://wolfram.com/xid/0bdou600i-s81tpo


Cubics (3)
By default, SolveValues uses general formulas for solving cubics in radicals only when symbolic parameters are present:

https://wolfram.com/xid/0bdou600i-evm2xk

For polynomials with numeric coefficients, SolveValues does not use the formulas:

https://wolfram.com/xid/0bdou600i-ej107d

With Cubics->False, SolveValues never uses the formulas:

https://wolfram.com/xid/0bdou600i-jxrryz

With Cubics->True, SolveValues always uses the formulas:

https://wolfram.com/xid/0bdou600i-drg6po

GeneratedParameters (1)
SolveValues may introduce new parameters to represent the solution:

https://wolfram.com/xid/0bdou600i-cmun55

Use GeneratedParameters to control how the parameters are generated:

https://wolfram.com/xid/0bdou600i-cwwkfe

InverseFunctions (3)
By default, SolveValues uses inverse functions but prints warning messages:

https://wolfram.com/xid/0bdou600i-kghb2b



https://wolfram.com/xid/0bdou600i-h4qcp8


For symbols with the NumericFunction attribute, symbolic inverses are not used:

https://wolfram.com/xid/0bdou600i-hg0smw


With InverseFunctions->True, SolveValues does not print inverse function warning messages:

https://wolfram.com/xid/0bdou600i-cryml7


https://wolfram.com/xid/0bdou600i-gob22e

Symbolic inverses are used for all symbols:

https://wolfram.com/xid/0bdou600i-ffxteo

With InverseFunctions->False, SolveValues does not use inverse functions:

https://wolfram.com/xid/0bdou600i-cnj7jt


Solving algebraic equations does not require using inverse functions:

https://wolfram.com/xid/0bdou600i-g375m9

Here, a method based on Reduce is used, as it does not require using inverse functions:

https://wolfram.com/xid/0bdou600i-dm14cy

MaxExtraConditions (4)
By default, no solutions requiring extra conditions are produced:

https://wolfram.com/xid/0bdou600i-2fqw4

Unless the parameters are discrete:

https://wolfram.com/xid/0bdou600i-b6z7v

The default setting, MaxExtraConditions->0, gives no solutions requiring conditions:

https://wolfram.com/xid/0bdou600i-irkajs


https://wolfram.com/xid/0bdou600i-i758z1

MaxExtraConditions->1 gives solutions requiring up to one equation on parameters:

https://wolfram.com/xid/0bdou600i-bfzk7f

MaxExtraConditions->2 gives solutions requiring up to two equations on parameters:

https://wolfram.com/xid/0bdou600i-7yi6l

Give solutions requiring the minimal number of parameter equations:

https://wolfram.com/xid/0bdou600i-r58a3v


https://wolfram.com/xid/0bdou600i-vwfwex

By default, SolveValues drops inequation conditions on continuous parameters:

https://wolfram.com/xid/0bdou600i-dnfv8h

With MaxExtraConditions->All, SolveValues includes all conditions:

https://wolfram.com/xid/0bdou600i-i5f1qz

MaxRoots (4)
Find out of
roots of a polynomial:

https://wolfram.com/xid/0bdou600i-t6ayi6

Find out of
roots of a polynomial system:

https://wolfram.com/xid/0bdou600i-etqwxz

Find solutions of a transcendental system:

https://wolfram.com/xid/0bdou600i-wv1dky

When the system contains symbolic parameters, the option value is ignored:

https://wolfram.com/xid/0bdou600i-3zlejt


Method (1)
By default, SolveValues uses inverse functions to solve non-polynomial complex equations:

https://wolfram.com/xid/0bdou600i-43b19q


With Method->Reduce, SolveValues uses Reduce to find the complete solution set:

https://wolfram.com/xid/0bdou600i-0a608r

Modulus (1)
Quartics (3)
By default, SolveValues uses the general formulas for solving quartics in radicals only when symbolic parameters are present:

https://wolfram.com/xid/0bdou600i-ggptus

For polynomials with numeric coefficients, SolveValues does not use the formulas:

https://wolfram.com/xid/0bdou600i-x0nf3

With Quartics->False, SolveValues never uses the formulas:

https://wolfram.com/xid/0bdou600i-diye9s

With Quartics->True, SolveValues always uses the formulas:

https://wolfram.com/xid/0bdou600i-cnyrg5

VerifySolutions (1)
SolveValues verifies solutions obtained using non-equivalent transformations:

https://wolfram.com/xid/0bdou600i-1czt1

With VerifySolutions->False, SolveValues does not verify the solutions:

https://wolfram.com/xid/0bdou600i-fh9f80

Some of the solutions returned with VerifySolutions->False are not correct:

https://wolfram.com/xid/0bdou600i-drfo0b

This uses a fast numeric test in an attempt to select correct solutions:

https://wolfram.com/xid/0bdou600i-dn6k7b

In this case, numeric verification gives the correct solution set:

https://wolfram.com/xid/0bdou600i-fyu6as

WorkingPrecision (1)
By default, SolveValues finds exact solutions of equations:

https://wolfram.com/xid/0bdou600i-bw43lc

Computing the solution using 100-digit numbers is faster:

https://wolfram.com/xid/0bdou600i-fg6bw

The result agrees with the exact solution in the first 100 digits:

https://wolfram.com/xid/0bdou600i-gnzq7x

Computing the solution using machine numbers is much faster:

https://wolfram.com/xid/0bdou600i-fv13j

The result is still quite close to the exact solution:

https://wolfram.com/xid/0bdou600i-dt8nt1

Applications (7)Sample problems that can be solved with this function

https://wolfram.com/xid/0bdou600i-e5nov5

Find intersection points of a circle and a parabola:

https://wolfram.com/xid/0bdou600i-hadad7


https://wolfram.com/xid/0bdou600i-cnnpir

Find conditions for a quartic to have all roots equal:

https://wolfram.com/xid/0bdou600i-dm5wo0
A method using Subresultants:

https://wolfram.com/xid/0bdou600i-by6uvl

A method using quantifier elimination:

https://wolfram.com/xid/0bdou600i-dp4mfy

Plot a space curve given by an implicit description:

https://wolfram.com/xid/0bdou600i-isi6u

https://wolfram.com/xid/0bdou600i-b5j5yf


https://wolfram.com/xid/0bdou600i-gcg9qy


https://wolfram.com/xid/0bdou600i-9qhiyb


https://wolfram.com/xid/0bdou600i-esadtv

Plot the projection of the space curve on the {x,y} plane:

https://wolfram.com/xid/0bdou600i-g489md


https://wolfram.com/xid/0bdou600i-e00aj1


https://wolfram.com/xid/0bdou600i-eylfw

Find a sequence of Pythagorean triples:

https://wolfram.com/xid/0bdou600i-fko26k

Find how to pay $2.27 postage with 10-, 23-, and 37-cent stamps:

https://wolfram.com/xid/0bdou600i-fw1flg

The same task can be accomplished with IntegerPartitions:

https://wolfram.com/xid/0bdou600i-hzps68

Find 200 roots of a complex analytic function:

https://wolfram.com/xid/0bdou600i-4xm7wy
Show the roots on the complex plot for the function:

https://wolfram.com/xid/0bdou600i-6rl2pu

Properties & Relations (15)Properties of the function, and connections to other functions
Solutions are given as lists and satisfy the equations:

https://wolfram.com/xid/0bdou600i-044h5

https://wolfram.com/xid/0bdou600i-cek3yh


https://wolfram.com/xid/0bdou600i-dhosxz

For univariate equations, SolveValues repeats solutions according to their multiplicity:

https://wolfram.com/xid/0bdou600i-n4r5o7

Solutions of algebraic equations are often given in terms of Root objects:

https://wolfram.com/xid/0bdou600i-hzxpz4

Use N to compute numeric approximations of Root objects:

https://wolfram.com/xid/0bdou600i-oe2s7b

Root objects may involve parameters:

https://wolfram.com/xid/0bdou600i-houqyv

Use Series to compute series expansions of Root objects:

https://wolfram.com/xid/0bdou600i-mr0

The series satisfies the equation up to order 11:

https://wolfram.com/xid/0bdou600i-ud261

SolveValues gives values of the solutions:

https://wolfram.com/xid/0bdou600i-lggsq3

Solve represents solutions in terms of replacement rules:

https://wolfram.com/xid/0bdou600i-b3ttxk

Reduce represents solutions in terms of Boolean combinations of equations and inequalities:

https://wolfram.com/xid/0bdou600i-foau3

SolveValues uses fast heuristics to solve transcendental equations, but may give incomplete solutions:

https://wolfram.com/xid/0bdou600i-hj9p8a



https://wolfram.com/xid/0bdou600i-sq8nip


Reduce uses methods that are often slower, but finds all solutions and gives all necessary conditions:

https://wolfram.com/xid/0bdou600i-e1w6vc


https://wolfram.com/xid/0bdou600i-bfwk75

Use FindInstance to find solution instances:

https://wolfram.com/xid/0bdou600i-buc7ih

Like Reduce, FindInstance can be given inequalities and domain specifications:

https://wolfram.com/xid/0bdou600i-bdrytq

Use DSolve to solve differential equations:

https://wolfram.com/xid/0bdou600i-fq4m7y


https://wolfram.com/xid/0bdou600i-ctk70u

Use RSolve to solve recurrence equations:

https://wolfram.com/xid/0bdou600i-cmoc60


https://wolfram.com/xid/0bdou600i-mdx5f

SolveAlways gives the values of parameters for which complex equations are always true:

https://wolfram.com/xid/0bdou600i-d84317

The same problem can be expressed using ForAll and solved with SolveValues, Solve or Reduce:

https://wolfram.com/xid/0bdou600i-5n5rp


https://wolfram.com/xid/0bdou600i-i9ebg2


https://wolfram.com/xid/0bdou600i-s758q1

Resolve eliminates quantifiers, possibly without solving the resulting quantifier-free system:

https://wolfram.com/xid/0bdou600i-nq0ez


https://wolfram.com/xid/0bdou600i-gsmoto

Eliminate eliminates variables from systems of complex equations:

https://wolfram.com/xid/0bdou600i-l19n1

This solves the same problem using Resolve:

https://wolfram.com/xid/0bdou600i-mvxma

Reduce, Solve and SolveValues additionally solve the resulting equations:

https://wolfram.com/xid/0bdou600i-ekfiuo


https://wolfram.com/xid/0bdou600i-jlsuow


https://wolfram.com/xid/0bdou600i-itshg4

is bijective iff the equation
has exactly one solution for each
:

https://wolfram.com/xid/0bdou600i-ec0f5e


https://wolfram.com/xid/0bdou600i-h9imdc

Use FunctionBijective to test whether a function is bijective:

https://wolfram.com/xid/0bdou600i-fgftkt


https://wolfram.com/xid/0bdou600i-bgha30

Use FunctionAnalytic to test whether a function is analytic:

https://wolfram.com/xid/0bdou600i-fflilk

https://wolfram.com/xid/0bdou600i-ccc4nd

An analytic function can have only finitely many zeros in a closed and bounded region:

https://wolfram.com/xid/0bdou600i-60azb


https://wolfram.com/xid/0bdou600i-gjv4ax

SolveValues finds an explicit function of satisfying the equation
:

https://wolfram.com/xid/0bdou600i-cgm0xt

https://wolfram.com/xid/0bdou600i-b78e1

Use ImplicitD to find the derivative of an implicitly defined function:

https://wolfram.com/xid/0bdou600i-26s55

Possible Issues (9)Common pitfalls and unexpected behavior
SolveValues gives generic solutions; solutions involving equations on parameters are not given:

https://wolfram.com/xid/0bdou600i-chgpbe

Reduce gives all solutions, including those that require equations on parameters:

https://wolfram.com/xid/0bdou600i-mlktc

With MaxExtraConditions->All, SolveValues also gives non-generic solutions:

https://wolfram.com/xid/0bdou600i-8i223l

SolveValues results do not depend on whether some of the input equations contain only parameters. The following two systems are equivalent and have no generic solutions:

https://wolfram.com/xid/0bdou600i-l7ztbs


https://wolfram.com/xid/0bdou600i-v9s0d

Use MaxExtraConditions to specify the number of parameter conditions allowed:

https://wolfram.com/xid/0bdou600i-cwhzx7


https://wolfram.com/xid/0bdou600i-gbhbxg

Use the Exists quantifier to find solutions that are valid for some value of parameter :

https://wolfram.com/xid/0bdou600i-iya3dm


https://wolfram.com/xid/0bdou600i-buse5o

SolveValues does not eliminate solutions that are neither generically correct nor generically incorrect:

https://wolfram.com/xid/0bdou600i-j4lv55

The solutions are correct for and incorrect for
:

https://wolfram.com/xid/0bdou600i-blev95


https://wolfram.com/xid/0bdou600i-jy34mb

For transcendental equations, SolveValues may not give all solutions:

https://wolfram.com/xid/0bdou600i-ea501u


Use Reduce to get all solutions:

https://wolfram.com/xid/0bdou600i-e9it8x

SolveValues with Method->"Reduce" uses Reduce to find solutions, but returns solution values:

https://wolfram.com/xid/0bdou600i-qudqup

Using inverse functions allows SolveValues to find some solutions fast:

https://wolfram.com/xid/0bdou600i-cnjb7c


Finding the complete solution may take much longer, and the solution may be large:

https://wolfram.com/xid/0bdou600i-dtv6ol

This finds the values of n for which x==2 is a solution:

https://wolfram.com/xid/0bdou600i-lafmqw


https://wolfram.com/xid/0bdou600i-c6fxzo

Interpretation of assumptions depends on their syntactic properties. Here the solution is generic in the parameter space restricted by the assumptions:

https://wolfram.com/xid/0bdou600i-gjc9eb

This mathematically equivalent assumption contains the solve variable, and hence is treated as a part of the system to solve:

https://wolfram.com/xid/0bdou600i-pueeg0

There are no generic solutions, because the input is interpreted as:

https://wolfram.com/xid/0bdou600i-fo41q0

The solution is non-generic, since it requires the parameters to satisfy an equation:

https://wolfram.com/xid/0bdou600i-dkivdq

When parameters are restricted to a discrete set, the notion of genericity is not well defined, and all solutions are returned:

https://wolfram.com/xid/0bdou600i-v48g2c

Removable singularities of input equations are generally not considered valid solutions:

https://wolfram.com/xid/0bdou600i-ssq1n2


https://wolfram.com/xid/0bdou600i-zows00

However, solutions may include removable singularities that are cancelled by automatic simplification:

https://wolfram.com/xid/0bdou600i-2vcfa3

The removable singularity at is cancelled by evaluation:

https://wolfram.com/xid/0bdou600i-1xtv8x

Here the removable singularity at is cancelled by Together, which is used to preprocess the equation:

https://wolfram.com/xid/0bdou600i-you5oc


https://wolfram.com/xid/0bdou600i-dmxlbo

The value of MaxRoots is used only for systems with numeric coefficients:

https://wolfram.com/xid/0bdou600i-f9fir

When symbolic parameters are present, the option value is ignored:

https://wolfram.com/xid/0bdou600i-jt20ld


Expressions given as variables are treated as atomic objects and not as functions of their subexpressions:

https://wolfram.com/xid/0bdou600i-ii8ifm

Effectively, variables are replaced with new symbols before the equations are solved:

https://wolfram.com/xid/0bdou600i-z4gwo6


https://wolfram.com/xid/0bdou600i-f7wm6w

Wolfram Research (2021), SolveValues, Wolfram Language function, https://reference.wolfram.com/language/ref/SolveValues.html (updated 2024).
Text
Wolfram Research (2021), SolveValues, Wolfram Language function, https://reference.wolfram.com/language/ref/SolveValues.html (updated 2024).
Wolfram Research (2021), SolveValues, Wolfram Language function, https://reference.wolfram.com/language/ref/SolveValues.html (updated 2024).
CMS
Wolfram Language. 2021. "SolveValues." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SolveValues.html.
Wolfram Language. 2021. "SolveValues." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SolveValues.html.
APA
Wolfram Language. (2021). SolveValues. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolveValues.html
Wolfram Language. (2021). SolveValues. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolveValues.html
BibTeX
@misc{reference.wolfram_2025_solvevalues, author="Wolfram Research", title="{SolveValues}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SolveValues.html}", note=[Accessed: 27-March-2025
]}
BibLaTeX
@online{reference.wolfram_2025_solvevalues, organization={Wolfram Research}, title={SolveValues}, year={2024}, url={https://reference.wolfram.com/language/ref/SolveValues.html}, note=[Accessed: 27-March-2025
]}