SolveAlways

SolveAlways[eqns,vars]

gives the values of parameters that make the equations eqns valid for all values of the variables vars.

Details and Options

  • Equations are given in the form lhs==rhs.
  • Simultaneous equations can be combined either in a list or with &&.
  • A single variable or a list of variables can be specified.
  • SolveAlways works primarily with linear and polynomial equations.
  • SolveAlways produces relations between parameters that appear in eqns, but are not in the list of variables vars.
  • SolveAlways[eqns,vars] is equivalent to Solve[!Eliminate[!eqns,vars]].

Examples

open allclose all

Basic Examples  (1)

Find a condition for the equation to hold for any value of x:

Scope  (6)

A univariate polynomial equation:

A multivariate polynomial equation:

A list of polynomial equations:

An equation involving radicals:

An inequation:

Boolean combinations of equations and inequations:

Options  (1)

WorkingPrecision  (1)

By default, SolveAlways finds exact solutions:

This computes the solutions using 20-digit numbers:

Applications  (2)

Find a condition for a cubic polynomial to have a triple root:

This solves the same problem using Reduce:

The same problem can also be solved using Subresultants and Solve:

Solve for undetermined coefficients in the series expansion:

Properties & Relations  (1)

Numeric solutions make the equations identically true:

An equivalent formulation using Solve and Eliminate:

An equivalent formulation using Solve and Resolve:

This solves the same problem using Reduce:

Possible Issues  (1)

SolveAlways gives generic solutions:

The equations may not be identically true when parameters satisfy additional equations:

This finds conditions on parameters for which the solutions are not correct:

Introduced in 1988
 (1.0)