示例#1
0
    def l2_norm( self, degree ):
        
        if numpy.isscalar( degree ):
            degree = numpy.array( [degree] )
        else:
            degree = numpy.array( degree )
        
        norm = numpy.empty( degree.shape[0] )

        for i in xrange( degree.shape[0] ):
            d = degree[i]
            if ( d == 0 ): norm[i] = 1.;
            else:
                beta_func = \
                    gamma( self.alpha_poly+1 ) * gamma( self.beta_poly+1 ) \
                    / gamma( self.alpha_poly + self.beta_poly + 2 );

                norm[i] = gamma( d + self.alpha_poly + 1.0 ) * gamma( d + self.beta_poly + 1.0 ) / ( ( 2.0 * d + self.alpha_poly + self.beta_poly + 1.0 ) * gamma( d + self.alpha_poly + self.beta_poly + 1.0 ) * factorial( d ) * beta_func )

        return norm
示例#2
0
 def l2_norm( self, degree ):
     return factorial( degree )