# RIES - Find Algebraic Equations, Given Their Solution

Quick Links
Recent Changes
RIES Source Code (build instructions in header comment),   MSAL (optional Maths functions Stand-alone Library),   Windows Wrapper (with instructions);     and License: RIES License (GPL v3).
RIES profiles (settings files):     Latin,     Mathematica
Manual:     PDF,     PostScript,     Plain ASCII,     Source (nroff),     and License: FDL 1.3

RIES was featured on xkcd on Wed 2012.0425...

... which is ((7π+1/2 × π)2 × π)2

To use RIES, you must download the source code (links above) and compile it on your own computer.

## Overview

ries (or RIES, an acronym for RILYBOT Inverse Equation Solver) takes any number and produces a list of equations that approximately solve to that number, like the following example:

bash# ries 2.5063   Your target value: T = 2.5063 mrob.com/ries   2 x = 5 for x = T - 0.0063 {49} 8 x = e^3 for x = T + 0.00439212 {66} x^2 = 2 pi for x = T + 0.000328275 {55} x^x = 1+9 for x = T - 0.000115854 {69} (x-1)^2 = tanpi(1/e) for x = T + 0.000108368 {75} x^2+e = 9 for x = T + 3.56063e-05 {63} ln(6) x = sqrt(pi)+e for x = T + 2.73037e-05 {93} x/4+1 = 4"/7 for x = T + 6.24679e-06 {91} ln(sqrt(x)-1) = -(phi/3) for x = T + 1.4647e-06 {97} 1/(1-ln(x)) = (1/e+pi)^2 for x = T - 3.89197e-07 {106} x+e"/4 = 7-sqrt(8) for x = T - 3.26098e-07 {109} x+pi/8 = 8 cospi(phi) for x = T + 3.89451e-08 {111} 1/(2-x)+1 = cospi(7"/phi) for x = T + 6.16902e-09 {116} x+1/e^(1/x) = 5^(e-2) for x = T - 2.25977e-09 {118} x sqrt(phi x) = 2(pi-1/phi) for x = T - 1.71971e-09 {126} (for more results, use the option '-l3')   e = base of natural logarithms, 2.71828... cospi(X) = cos(pi * x) ln(x) = natural logarithm or log base e tanpi(X) = tan(pi * x) phi = the golden ratio, (1+sqrt(5))/2 sqrt(x) = square root A"/B = Ath root of B pi = 3.14159...   --LHS-- --RHS-- -Total- max complexity: 67 61 128 dead-ends: 2848836 4250702 7099538 CPU time: 0.296 expressions: 228357 318227 546584 distinct: 111700 89860 201560 Memory: 12608KiB   Total equations tested: 10037362000 (1.004e+10)

Notice the answers are ordered by increasing closeness to the given number. It should also be apparent that the simplest equations tend to come first and the more complex ones later on. ries follows the example of continued fractions — as you go to longer equations, you get a closer approximaion to your number, and each approximation is the closest approximation that is available with an equation of that "complexity".

ries is highly customisable. You can have it omit functions and symbols (like the sine and cosine functions, or the symbol for phi, the Golden Ratio) if you don't want it to use them in solutions. You can give it an integer and specify that it limit its search to calculations that come out to be exact integers, and it will figure out the shortest way to construct your number from the digits 1 through 9. If you want easily inverted solutions you can specify that there be only one x on the left-hand side, omitting things like "x-sin(x)". ries can find the simplest way to (for example) express the value 27 using only the digit 4 and the four basic operators plus, minus, times and divide.

### ries Profiles

It is common to want to use several ries options together, and to use the same options in many different commands. To facilitate this, ries supports the use of "profiles" specified by the -p option. A profile is a text file containing one or more ries command-line options, with whatever spacing you desire and optional comments delimited by the '#' character. Here is an example:

# old.ries Profile for all the old RIES behaviour --trig-argument-scale 1 # Radians -NT # old RIES had no tangent function -l1 # The default searchlevel was -l1 --significance-loss-margin 15 # There were no sig-loss checks

If this file is in the current directory, adding the option -pold.ries (or --include old.ries) will give nearly the same results as a pre-2012 version of ries.

Note that you can override options in a profile: the command ries 1.2345 -pold.ries -l2 overrides the -l1 option in old.ries by giving the option -l2.

### Searching for Solutions of a Restricted Class

ries makes it easy to limit your search to certain well-defined types of numbers, expressions, and equations. Two popular examples are rational numbers and algebraic numbers. This table summarises the options; at the top of each column is a link to a section with details on how ries handles that specific type of number; a Y indicates that numbers in this row are found by ries using the option at the top of the column:

 ries option -i -r -c -a -Ox -l - n/a type of number integral rational constructible algebraic Chow's "closed-form" Liouville elementary real target integer, e.g. 1729 Y Y Y Y Y Y Y - rational, e.g. 7/27 ≈ 0.259259... - Y Y Y Y Y Y - closed-form quadratic, e.g. √(2+√3) ≈ 1.93185165257814 - - Y Y Y Y Y - closed-form algebraic, e.g. (2+√3)(1/3) ≈ 1.55113351807125 root of x3+x-3=0 ≈ 1.21341166276223 root of x4+x-3=0 ≈ 1.16403514028977 - - - Y Y Y Y - implicit algebraic, e.g. root of x5-x+1=0 ≈ -1.16730397826142 - - - Y - Y Y - closed-form algebraic, exponent and/or logarithm, e.g. √2√2 ≈ 1.63252691943815 e2(1/Φ) ≈ 4.64031500910231 - - - - Y Y Y - implicitly-defined algebraic, exponential, and/or logarithm, e.g. root of xx-7=0 ≈ 2.31645495878561 root of x+ex=0 ≈ -0.567143290409784 root of x-cos(πx)=1 ≈ 0.623032990606725 - - - - - - Y - transcendental, e.g. Gamma[1/3] ≈ 2.67893853470774 - - - - - - - -

For more on how to use ries for each of these types of problems, select the links: integral,   rational,   constructible,   algebraic,   Chow's
"closed-form"
,   Liouville,   and   elementary.

. . . Forward to page 2 . . . Last page (page 6)

Contents: ries overview Benchmarks HistoryNerdy Math TricksSemiserious Math TricksLinks and miscellaneous

This page was written in the "embarrassingly readable" markup language RHTF, and some sections were last updated on 2020 Mar 26. s.11