# Jastrow

Jastrow wavefunctions, introduced in (1) in the context of continuous space models, are implemented in two ways in NetKet.

## Jastrow

The Jastrow machine does not have hidden units, and is defined by:

for arbitrary local quantum numbers . The total number of variational parameters of this long-range Jastrow operator is , and all parameters are taken complex-valued. This wavefunction needs less input parameters compared to the RBM wavefunction, since the hidden layer is not present. In the language of neural networks a Jastrow machine can be seen as a fully visible RBM, with all the intra-layer connections active.

Parameter | Possible values | Description | Default value |
---|---|---|---|

`InitFile` |
String | If specified, matrix parameters are loaded from the given file | None |

`InitRandom` |
Boolean | Whether to initialize the parameters with random gaussian-distributed values | True |

`SigmaRand` |
Float | If InitRandom is chosen, this is the standard deviation of the gaussian | 0.1 |

### Example

```
pars['Machine']={
'Name' : 'Jastrow',
}
```

## JastrowSymm

This type of Jastrow wavefunction is constructed to be invariant under specific permutations of the graph indices. In particular, , where is the -th permutation of the index , and assuming a total of distinct permutations.

Let us consider the case of a N=20 spin chain, under periodic boundary conditions. The total number of parameters is , corresponding to the full upper triangle (excluding the diagonal, always set to ) to the matrix. However it is true that, if permutation symmetry holds, the parameter controlling the interaction between quantum operator and must be equal to , and so on. Therefore, in this case, the effective number of independent parameter is no longer but . In the general case, this number is automatically computed inside the class by checking the symmetry table associated with the graph.

Parameter | Possible values | Description | Default value |
---|---|---|---|

`InitFile` |
String | If specified, matrix parameters are loaded from the given file | None |

`InitRandom` |
Boolean | Whether to initialize the parameters with random gaussian-distributed values | True |

`SigmaRand` |
Float | If InitRandom is chosen, this is the standard deviation of the gaussian | 0.1 |

### Example

```
pars['Machine']={
'Name' : 'JastrowSymm',
}
```

## References

- Previous
- Next