# Introduction

A central task in machine learning applications for quantum many-body systems is certainly the learning part. Loosely speaking, learning refers to a high-dimensional (and typically non-linear) optimization of the parameters entering a machine, in order to solve a certain task.

NetKet implements learning algorithms to find the ground-state of a given many-body quantum Hamiltonian $\mathcal{H}$, see references (1,2). The algorithms to perform this learning task, as implemented in NetKet, are described in the Learning the Ground State section.

In addition to finding the ground-state of a given Hamiltonian, there are other learning tasks that can be performed using the machines implemented in NetKet. For example, supervised learning with Born machines (3,4), or unsupervised learning to perform state-reconstruction (5).

The corresponding learning algorithms will be implemented in future versions of NetKet. See also our Challenges, if you would like to contribute to developments in these directions.