/// <summary>
 ///   Samples an input vector from the network
 ///   given an output vector.
 /// </summary>
 ///
 /// <param name="output">An output vector.</param>
 ///
 /// <returns>
 ///   A possible reconstruction considering the
 ///   stochastic activations of the network.
 /// </returns>
 ///
 public double[] GenerateInput(double[] output)
 {
     return(visible.Generate(output));
 }
 /// <summary>
 ///   Samples an output vector from the network
 ///   given an input vector.
 /// </summary>
 ///
 /// <param name="input">An input vector.</param>
 ///
 /// <returns>
 ///   A possible output considering the
 ///   stochastic activations of the network.
 /// </returns>
 ///
 public double[] GenerateOutput(double[] input)
 {
     return(hidden.Generate(input));
 }