Tutorials
=========

Learn Panther step-by-step with these comprehensive tutorials.

.. toctree::
   :maxdepth: 1
   
   sketched_linear_layers
   matrix_decompositions
   neural_networks
   performance_optimization
   custom_sketching
   autotuning

Beginner Tutorials
------------------

Start here if you're new to Panther or randomized numerical linear algebra.

:doc:`sketched_linear_layers`
    Learn the fundamentals of sketched linear layers and how they reduce memory usage.

:doc:`matrix_decompositions`
    Understand randomized QR and SVD decompositions for large matrices.

Intermediate Tutorials
----------------------

Dive deeper into building neural networks and optimizing performance.

:doc:`neural_networks`
    Build complete neural networks using Panther's sketched layers.

:doc:`performance_optimization`
    Learn how to maximize performance with GPU acceleration and Tensor Cores.

Advanced Tutorials
------------------

Explore advanced features and customization options.

:doc:`custom_sketching`
    Create custom sketching operators and extend Panther's functionality.

:doc:`autotuning`
    Use the AutoTuner to automatically find optimal sketching parameters for maximum throughput.

Additional Resources
--------------------

* API Reference: :doc:`../api/linalg`, :doc:`../api/nn`, :doc:`../api/sketch`, :doc:`../api/tuner`, :doc:`../api/utils`
* `GitHub Repository <https://github.com/FahdSeddik/panther>`_ - Source code and issues
