import numpy as np
[ドキュメント]class gauss:
    """ 
    Gaussian
    Attributes
    ==========
    linear
    cov: blm.lik.cov
        covariance
    stats
    """
    def __init__( self, linear, cov ):
        self.linear = linear
        self.cov = cov
        self.stats = ()
[ドキュメント]    def get_cov( self, N, params = None ):
        """
        Returns covariance matrix
        Parameters
        ==========
        N: int
            dimension
        params: float
            half of log of variance
            (default: self.cov.params)
        Returns
        =======
        numpy.ndarray
            NxN covariance matrix
        """
        if params is None:
            params = np.copy( self.cov.params )
        return self.cov.get_cov( N, params ) 
[ドキュメント]    def get_prec( self, N, params = None ):
        """
        Returns precision matrix
        Parameters
        ==========
        N: int
            dimension
        params: float
            half of log of variance
            (default: self.cov.params)
        Returns
        =======
        numpy.ndarray
            NxN precision matrix
        """
        if params is None:
            params = np.copy( self.cov.params )
        return self.cov.get_cov( N, params ) 
[ドキュメント]    def get_basis( self, X ):
        """
        calculates value of basis function at input
        Parameter
        =========
        X: numpy.ndarray
            input
        See also
        ========
        blm.basis.fourier.get_basis
        """
        return self.linear.basis.get_basis( X ) 
[ドキュメント]    def get_mean( self, X, Psi = None, params = None, bias = None ):
        """
        calculates mean value
        Parameters
        ==========
        X: numpy.ndarray
            raw input
        Psi: numpy.ndarray
            value of feature maps
        params: numpy.ndarray
            weight
        bias: float
            bias
        See also
        ========
        blm.basis.fourier.get_mean
        """
        return self.linear.get_mean( X, Psi, params, bias ) 
[ドキュメント]    def set_params( self, params ):
        """
        sets parameters
        """
        self.linear.set_params( params ) 
[ドキュメント]    def set_bias( self, bias ):
        """
        sets bias
        """
        self.linear.set_bias( bias ) 
[ドキュメント]    def sampling( self, fmean ):
        """
        draws samples
        Parameters
        ==========
        fmean: numpy.ndarray
            means of samples
        Returns
        =======
        samples: numpy.ndarray
        """
        num_data = fmean.shape[0]
        eps = np.sqrt(self.cov.sigma2) * np.random.randn( num_data )
        return fmean + eps