Metadata-Version: 2.4
Name: tautoolbox
Version: 0.95.0
Summary: A package that implements Lanczos' Tau method to solve differential problems
Author: José Matos, Paulo Vasconcelos
Author-email: José Matos <jamatos@fep.up.pt>, Paulo Vasconcelos <pjv@fep.up.pt>
License-Expression: LGPL-3.0-or-later
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Python: >=3.10
Project-URL: Homepage, https://cmup.fc.up.pt/tautoolbox/
Description-Content-Type: text/markdown

# Tau Toolbox

   AUTHORS:

       Paulo B. Vasconcelos
       Centro de Matemática - Universidade do Porto
       Email: pjv@fep.up.pt

       José M. A. Matos
       Centro de Matemática - Universidade do Porto
       Email: jma@isep.ipp.pt

       José A. O. Matos
       Centro de Matemática - Universidade do Porto
       Email: jamatos@fep.up.pt

       Nilson Lima

   REFERENCE:

       Solving differential eigenproblems via the spectral Tau method
       NUMERICAL ALGORITHMS
       DOI: https://doi.org/10.1007/s11075-022-01366-z

   SOFTWARE REVISION DATE:

       Version 0.95 : 2025-04-10


Tau Toolbox is a Python library for the solution of integro-differential
problems based on the Lanczos' Tau method.

Tau Toolbox is free software released under the GNU Lesser General Public
License version 3 (LGPLv3). A copy of the License is enclosed in the project.

## Installation

Just clone the Tau Toolbox repository following
`git clone https://bitbucket.org/tautoolbox/taupy.git`.

Tau Toolbox can also be obtained at https://cmup.fc.up.pt/tautoolbox/.

`Tautoolbox` requires Python 3.10 together with the following modules:

 * `numpy`
 * `matplotlib`

### Help

A Tau Toolbox User Guide will be made available soon, along with a set of
Technical Reports.

### Support

The project supports the tool in the sense that reports of errors or
poor performance will gain immediate attention from the developers.

## Getting started

The best way to get started is by using the many
[examples](https://bitbucket.org/tautoolbox/taupy/src/main/examples/)
provided.

Tackle your problems with ease:

* To solve the ordinary differential problem
$y''(x)+y(x)= 0$ in $[0,2\pi]$ with $y(0)=1$ and $y'(2\pi)=0$,
just type:

```python
import tautoolbox as tau
import numpy as np
from tautoolbox.functions import diff, linspace
import matplotlib.pyplot as plt

equation = lambda x, y: diff(y, 2) + y
domain = [0, 2 * np.pi]
conditions = lambda y: [y(0) - 1, y.diff(1, 2 * np.pi)]
problem = tau.problem(equation, domain, conditions)
yn = tau.solve(problem)[0]

x = linspace(yn)
plt.plot(x, yn(x))
plt.show()
```

You can find more examples in the `examples` folder.

**Notice** that we refer sometimes to `taupy`, this is not to be confused with the [`taupy` package](https://pypi.org/project/taupy/).
This reference, that we have used internally since 2021, refers to the Python implementation of the [Matlab/Octave Tautoolbox](https://bitbucket.org/tautoolbox/tautoolbox/src/main/).
There are some small differences between both implementations but the general structure is the same, and as long as possible, the syntax is also the same adapted to the syntax of each language.
