QEta Installation

Requirement FriCAS

QEta is built on FriCAS. If you do not yet have it follow the steps at FriCAS download. You certainly want to install jFriCAS in order to be able to run the files that come with QEta inside the test and tutorials directories as Jupyter notebooks.

For that you must install FriCAS based on SBCL with the Hunchentoot webserver build-in (HBCL), jFriCAS and JupyText. See the FriCAS installation guide for details.

Installation steps for the QEta package

Clone the git repository and compile the sources. The additional qeta-data repository contains precomputed data. Is not really necessary, because it contains data that would otherwise be computed into the data subdirectory if the testsuite is executed.

FDIR=$HOME/fricas
mkdir -p $FDIR
cd $FDIR
git clone https://github.com/hemmecke/qeta.git
git clone https://github.com/hemmecke/qeta-data.git
cd qeta
ln -s ../qeta-data data
make compile-spad

Install 4ti2

QEta builds (in some parts) on 4ti2 in order to solve integer linear problems.

sudo apt install 4ti2

(optional) Install SageMath

QEta includes the package SageMathTools that can call SageMath from inside QEta.

QEta tries to employ (if available) the Gröbner engine (slimgb) of the Singular computer algebra system through its SageMath interface, since this seems to be more efficient than the built-in FriCAS Gröbner engine. You may possibly encounter longer running times of some commands or perhaps not be able to complete some command that involve a Gröbner basis computation, if SageMath is not installed on your computer. SageMath is not a strict requirement.

The following command may take 20 min to complete.

apt install sagemath

Running QEta test or tutorial scripts

The file in the test subdirectory of you QEta installation belong to the QEta testsuite. They might be interesting to look into if you want to learn how to call some command. In particular you may be interested in the Tutorials that you find in the tutorials subdirectory of your QEta installation.

Look, for example, into RogersRamanujanContinuedFraction.input-test where we show that for the Rogers-Ramanujan continued fraction

\[\begin{gather*} R(q) = q^{\frac15} \dfrac{1}{1+\dfrac{q}{1+\dfrac{q^2}{1+\dfrac{q^3}{1+\ddots}}}} = q^{\frac15} \frac{(q,q^4;q^5)_\infty}{(q^2,q^3;q^5)_\infty} = \frac{\eta_{5,1}(\tau)}{\eta_{5,2}(\tau)} \end{gather*}\]

we have the identity

\[\begin{align*} U_5\!\left(\frac{R(q)^5}{R(q^5)}\right) &= U_5\!\left(\frac{R(q^5)}{R(q)^5}\right) \end{align*}\]

where \(U_5\) is the operator that acts as follows:

\[\begin{gather*} U_5\left(\sum_{n=k}^\infty a(n)q^n\right) = \sum_{n=\lceil k/5 \rceil}^\infty a(5n)q^n \end{gather*}\]

This file is also linked as $FDIR/qeta/tutorials/RogersRamanujanContinuedFraction.input in the git repository on your computer. When you start

cd $FDIR/qeta
jfricas

from the command line, go to the directory tutorials and then right-click RogersRamanujanContinuedFraction.input to open this file in “Notebook” format, you will see (approximately) what we present as the HTML form of that tutorial. You should beable to execute the steps in the notebook yourself by pressing SHIFT-ENTER on a cell.