Guide for New Users

Approach Zero is a math-aware search engine. This page aims to give new users a quick tour about how to use this search engine.

Common Questions

What the search engine actually looks for?

The current index includes data sources from Mathematics StackExchange and ArtOfProblemSolving.

The dataset has around two million documents with tens of millions of math formulas.

How a Query is Entered?

Text keywords

If you only want to search normal text, just type the keyword(s) like what you normally do in a typical search engine:

https://cdn.jsdelivr.net/gh/approach0/guide@master/content/static/term-query.gif

(When you have entered one keyword, hit Enter to finish editing, then you need to hit Enter again or click search button to perform search)

Math keywords

Approach Zero query input box comes with an embedded math editor for users to easily edit structrual math expression. One just needs to enter a dollar sign to invoke the embedded math editor when cursor is focusing on the input box. When you are done with a math keyword in the embedded math editor, just press enter to “wrap up” the keyword as a “chip”.

The following example demonstrates how to input \( \int_0^1 f(x) dx \) and query it as the only keyword:

https://cdn.jsdelivr.net/gh/approach0/guide@master/content/static/math-query.gif

The embedded math editor can accept many math entity commands such as \int for integral or \log for logarithm. Actually, one can type log(x) without a backslash to input \(\log(x)\), but the recommended way is to explicitly type a leading backslash for every math entity command. If you are not sure what is the “command” for a math entity, click the left-bottom floating red button to pull out the symbol keyboard to help you lookup a math entity and cast it into the query box.

Inside of the embedded math editor, use arrow keys or touch screen to move cursor to desired place, or hit tab key to jump to the next to-be-edited place.

Mixed keywords

One can mix text and math keywords together within one query. Just make sure different types of keywords are wrapped up in separate “chips” (this is required for Approach Zero to identify keyword type so it will not be confused by an ambitious keyword like AI since it can be both interpreted as matrix multiplication or as an acronym).

The following GIF demonstrates how to input a mixed query with a text keyword concave and a math keyword \( f’’(x) < 0 \):

https://cdn.jsdelivr.net/gh/approach0/guide@master/content/static/mix-query.gif

One restriction: You are limited to enter no more than 2 math formula keywords and no more than 10 text keywords per query.

Caveats

  • When you copy and paste a math expression into query box, it is better to also wrap single dollar signs around TeX expression. Although either pasting a/b or $a/b$ will result in the same math expression \(\dfrac a b \), having dollar signs surrounded will let Approach Zero recognize it as math expression, rather than relying on the / symbol as indicator to “guess” what type it is.

  • If you do not get any search result (or “No hit found”), you may have typed a malformed or over complex math formula. In this case, double check your raw query. Here are some of the typical mistakes:

    • a^(1+2+3) should be a^{1+2+3}
    • sin(x) should be \sin(x)
    • When you see italic entity in math keyword like \(lim_{n\to \infty} \left( 1 + \frac 1 n\right)^n\), almost certainly you forget to put a backslash there. In this case, what you really want is \lim in raw query, it will render as non-italic style \(\lim\) instead of \(lim\)
    • \( f\left(x\right)\le1\ and\ f'\left(x\right)\le1 \) is also a bad query, never mix text and math in a single keyword, if you really want to do so, surround text in \text{}

    If you still do not get any results, try to reduce the complexity of your math formula(s), and only use what you think is the most representing parts from your math expression(s).

  • Avoid using Unicode math symbols, use TeX commands instead. For example, do not use α or β, use \alpha and \beta instead (although the former coding may still work).

  • Approach Zero differentiates between \left|...\right| and |....|. So if you could not find relevant result using one way, try another way around (the reason). On the other hand, \left(...\right) or \left{...right} etc. are treated the same as (...) or {...}. In the latter case, the shape of the bracket already indicates whether it is left or right bracket.

Advanced Usage

  • If user is familiar with TeX or MathJaX markup language, one can click the Raw Query menu at the bottom of search button to directly input math query in TeX. Remember to wrap single dollar signs around all your math keywords.

    For example, the above mixed keywords “concave” and “\(f’’ < 0\)” is equivalent to concave, $f''\lt 0$ as raw query.

  • You can use question mark ? as a placeholder in formula.

    For example, if you want to search expression \[dX_t = \ln (1+X_t^2)+ X_t dB_t \] you can also use query \[ ? = \ln (1+X_t^2)+ ? \]

Feedback

Improve this page

Click the upper-right Edit on GitHub link to help improve this guide.

Side note on how to produce the above GIF clips (I’d better keep it here otherwise I will forget): On Linux platform, one can use xwininfo to locate a window ID and use recordmydesktop to record specified window, for example:

$ recordmydesktop --windowid 0x3408f8c --height 750 --width 400 -y 150 -x 50

use mplayer to generate JPEG files from recorded video, and then invoke convert to output GIF clips:

$ mplayer -ao null ./out.ogv  -vo jpeg:outdir=tmp
$ convert tmp/* -layers Optimize out.gif
$ rm -rf tmp out.ogv

Contribute to source code / offer sponsorship

Approach Zero website is served by many “micro services”, welcome to make your own pull request to any of the source code repositories. Feel free to

A list of contributors is maintained in project documentation.

Share your thoughts

Leave a message in this chat room or tweet with hashtag #approach0 to share your thoughts and ask any question about this project.