• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python vector.make_vector函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中vector.make_vector函数的典型用法代码示例。如果您正苦于以下问题:Python make_vector函数的具体用法?Python make_vector怎么用?Python make_vector使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了make_vector函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: pad

 def pad(self):
     '''
     padding to incomplete matrix
     '''
     
     l_rows = len(self)
     l_cols = len(self.rows[0])
     
     i = 1
     while(i<l_rows):
         i *= 2
        
     j = 1
     while(j<l_cols):
         j *= 2
             
     order = max(i,j)
     
     if((order - l_cols ) != 0):
         col = make_vector(([0] * (order - l_cols )), zero_test) 
         cols = []
         for i in range(l_rows):
             cols.append(col)
          
         colms = make_matrix(cols)
         self.merge_cols(colms)
     
     if((order - l_rows) != 0):        
         row = make_vector(([0] * order ),zero_test)
         rws = []
         for i in range((order - l_rows)):
             rws.append(row)
             
         rws1 = make_matrix(rws)
         self.merge_rows(rws1)
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:35,代码来源:IMT2013012_matrix.py


示例2: rmul

 def rmul(self, vec):
     '''
     Returns a vector that is the product of 'vec' (taken as a row vector) and this matrix using the * operator
     If the two are incompatible return None
     Return vec*self
     '''
     # Your Code
     new_list = []
     list_of_vectors = []
     prod = []
     if(len(self) <> len(vec)):
         return None
     else:
         lst = []
         for i in range(len(self)):
             for j in range(len(self[0])):
                 lst.append(self[j][i])
             new_list.append(lst)
             lst = []
         for lists in new_list:
             vect = make_vector(lists ,zero_test = lambda x : (x == 0))
             list_of_vectors.append(vect)
         new_matrix = make_matrix(list_of_vectors)
         for i in range(len(new_matrix)):
             prod.append(new_matrix[i]*vec)
         final_vector = make_vector(prod , zero_test = lambda x : (x == 0))
         return final_vector
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:27,代码来源:IMT2013045_matrix.py


示例3: get_quarters

 def get_quarters(self):
     '''
     Get all 4 quarters of the matrix - get the left-right split
     Then split each part into top and bottom
     Return the 4 parts - topleft, topright, bottomleft, bottomright - in that order
     '''
     # Your Code
     ele = [[],[],[],[]]
     for i in range(len(self)/2):
         ls = []
         for j in range(0, int(float(len(self))/2.0 + 0.5)):
             ls.append(self[i][j])
         ele[0].append( make_vector(ls) )
         ls = []
         for j in range(int(len(self)/2), len(self[i])):
             ls.append(self[i][j])
         ele[1].append( make_vector(ls) )
         ls = []
         for j in range(0, int(float(len(self))/2.0 + 0.5)):
             ls.append(self[len(self)/2 + i][j])
         ele[2].append( make_vector(ls) )
         ls = []
         for j in range(int(len(self)/2), len(self[i])):
             ls.append(self[len(self)/2 + i][j])
         ele[3].append( make_vector(ls) )
         ls = []
         
     #return make_matrix(ele[0]), make_matrix(ele[1]), make_matrix(ele[2]), make_matrix(ele[3])
     return Matrix(ele[0]), Matrix(ele[1]), Matrix(ele[2]), Matrix(ele[3])
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:29,代码来源:IMT2013028_matrix.py


示例4: form_pad

 def form_pad(self):
     org_row_length = len(self[0])
     org_col_length = len(self)
     
     num_row = self.is_valid(len(self[0]))
     num_col = self.is_valid(len(self))
     num = num_row if (num_row > num_col) else num_col
     
     if(num != 0):
         for i in range(len(self)):
             temp_list = []
             for j in range(len(self[i])):
                 temp_list.append(self[i][j])
             
             if not is_long_and_sparse(temp_list):
                 self[i].merge(make_vector([0] * (num - org_row_length)))
             else:
                 self[i].length = self[i].length + (num - org_row_length)
                 
     temp = num - org_col_length
     ls = []
     while(temp > 0):
         ls.append(make_vector([0]*(len(self[0]))))
         temp -= 1
             
     self = self.merge_rows(ls)
     
     return self, num - org_row_length, num - org_col_length
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:28,代码来源:IMT2013028_matrix.py


示例5: __getitem__

 def __getitem__(self, key):
     '''
     Overriding the default __getitem__ method with behavior specific to sparse matrices
     '''
     # Your Code
     
     if isinstance(key, int):
         if key >= len(self):
             return None
         
         if len(self.indices) == 0 or len(self.vectors) == 0:                
             return make_vector([0] * self.ncols, lambda x: x == 0)
         
         idx = bisect_left(self.indices, key)
         
         return (make_vector([0] * self.ncols)               
                 if (idx == len(self.indices) or self.indices[idx] != key)
                     else self.vectors[idx])
         
     else:
         if key[0] >= len(self):
             return None
         
         idx = bisect_left(self.indices, key[0])
         
         return (0 if (idx == len(self.vectors)
                       or self.indices[idx] != key[0])
                 else self.vectors[idx][key[1]]) 
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:28,代码来源:IMT2013021_matrix.py


示例6: get_quarters

 def get_quarters(self):
     '''
     Get all 4 quarters of the matrix - get the left-right split
     Then split each part into top and bottommake_vector
     Return the 4 parts - topleft, topright, bottomleft, bottomright - in that order
     '''
     # Your Code
     topleft = []
     topright = []
     bottomleft = []
     bottomright = []
     left, right = self.left_right_split()
     for rowno in range(0, len(self)/2):
         if rowno in left.indices:
             topleft.append(left[rowno])
         else:
             topleft.append(make_vector([0]*(self.ncols/2) , lambda x : (x == 0)))
         if rowno in right.indices:
             topright.append(right[rowno])
         else:
             topright.append(make_vector([0]*(self.ncols - self.ncols/2), lambda x : (x == 0)))
     for rowno in range(len(self)/2, len(self)):
         if rowno in left.indices:
             bottomleft.append(left[rowno])
         else:
             bottomleft.append(make_vector([0]* (self.ncols/2), lambda x : (x == 0)))
         if rowno in right.indices:
             bottomright.append(right[rowno])
         else:
             bottomright.append(make_vector([0]*(self.ncols - self.ncols/2), lambda x : (x == 0)))
     return make_matrix(topleft), make_matrix(topright), make_matrix(bottomleft), make_matrix(bottomright)
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:31,代码来源:IMT2013034_matrix.py


示例7: get_quarters

 def get_quarters(self):
     '''
     Get all 4 quarters of the matrix - get the left-right split
     Then split each part into top and bottom
     Return the 4 parts - topleft, topright, bottomleft, bottomright - in that order
     '''
     # Your Code
     left_matrix , right_matrix = self.left_right_split()
     topleft = []
     topright = []
     bottomleft = []
     bottomright = []      
     mid = len(left_matrix) / 2
     for i in range(0 , mid):
         topleft.append(make_vector((left_matrix[i]) , lambda x : (x == 0)))
     for i in range(mid , len(left_matrix)):
         bottomleft.append(make_vector((left_matrix[i]) , lambda x : (x == 0)))
         
     mid = len(right_matrix) / 2
     for i in range(0 , mid):
         topright.append(make_vector((right_matrix[i]) , lambda x : (x == 0)))
     for i in range(mid , len(left_matrix)):
         bottomright.append(make_vector((right_matrix[i]) , lambda x : (x == 0)))
         
     return make_matrix(topleft) , make_matrix(topright) , make_matrix(bottomleft) , make_matrix(bottomright)
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:25,代码来源:IMT2013058_matrix.py


示例8: pad

 def pad(self, add_temp):
     zero_add = [0]*(add_temp - self.ncols)
     zero_vec = make_vector(zero_add,lambda x:x==0)
     zero_mat = [0]*add_temp
     mat_vec = make_vector(zero_mat,lambda x:x==0)
     for i in range(0,len(self)):
         self[i].merge(zero_vec)
     for i in range(add_temp - self.nrows):
         self.vectors.append(mat_vec)
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:9,代码来源:IMT2013006_matrix.py


示例9: __getitem__

 def __getitem__(self, key, ):
     '''
     Overriding the default __getitem__ method with behavior specific to sparse matrices
     '''
     # Your Code
     if key in self.indices:
         return self.vectors[self.indices.index(key)]
     elif self.vectors != []:
         return make_vector([0]*len(self.vectors[0]))
     else:
         return make_vector([0]*len(self))
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:11,代码来源:IMT2013028_matrix.py


示例10: __add__

 def __add__(self, mat):
     '''
     Return the sum of this matrix with 'mat' - (allows use of + operator between matrices)
     Return None if the number of rows do not match
     '''
     if len(self) != len(mat):
         return None
     s_matrix = []
     for i in range(len(self)):
         s_matrix.append(make_vector(self[i], zero_test = lambda x : (x == 0))+make_vector(mat[i],zero_test = lambda x : (x == 0) ))
     sum_mat = make_matrix(s_matrix)
     return sum_mat
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:12,代码来源:IMT2013011_matrix.py


示例11: __rmul__

 def __rmul__(self, vec):
     '''
     Returns a vector that is the product of 'vec' (taken as a row vector) and this matrix using the * operator
     If the two are incompatible return None
     Return vec*self
     '''
     if(len(vec) == self.nrows):
         transposed_matrix = make_matrix([make_vector(list(column), vec.zero_test) 
                              for column in itertools.izip(*self.components())])
         return make_vector([(vec * row) for row in transposed_matrix.components()], vec.zero_test)
     else:
         return None
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:12,代码来源:IMT2013027_matrix.py


示例12: __sub__

 def __sub__(self, mat):
     '''
     Return the difference between this matrix and 'mat' - (allows use of - operator between matrices)
     Return None if the number of rows do not match
     '''
     if len(self) != len(mat):
         return None
     sub_mat = []
     for i in range(len(self)):
         sub_mat.append(make_vector(self[i],zero_test = lambda x : (x == 0)) - make_vector(mat[i], zero_test = lambda x : (x == 0)))
     sub_matrix = make_matrix(sub_mat)
     return sub_matrix
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:12,代码来源:IMT2013011_matrix.py


示例13: __iadd__

 def __iadd__(self, mat):
     '''
     Implements the += operator with another matrix 'mat'
     Assumes that the elements of the matrices have a + operator defined between them (if they are not numbers)
     Add corresponding elements upto the min of the number of rows in each (in case the matrices
     have different numbers of rows)
     '''
     
     lst_iadd = []
     for i in range(0 , min(len(self) , len(mat))):
         v1 = make_vector(self[i] , lambda x : (x == 0))
         v2 = make_vector(mat[i] , lambda x : (x == 0))
         v1 += v2
         lst_iadd.append(v1)
     
     return make_matrix(lst_iadd)
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:16,代码来源:IMT2013050_matrix.py


示例14: make_matrix

def make_matrix(vector_list):
    '''
    Make a matrix out of a list of vectors 'vector_list'
    Just like make_vector in the vector module, this decides whether to instantiate the FullMatrix or SparseMatrix class
    by using the is_zero method of the Vector class
    '''
    # Your Code
    
    matrix_vec_val = []
    sparse_val = []
    sparse_ind = []

    for idx , i in enumerate(vector_list):
        matrix_val = []
        for j in range(0 , len(i)):
            columns = len(i)
            matrix_val.append(i[j])
        
        if(i.is_zero() == False):
            
            sparse_val.append(i)
            sparse_ind.append(idx)
        
        matrix_vec_val.append(make_vector(matrix_val , lambda x : (x == 0)))
            
    if float(len(sparse_val))/float(len(vector_list)) < DENSITY_THRESHOLD and float(len(vector_list) * columns) > SIZE_THRESHOLD:
        obj = SparseMatrix(sparse_val , sparse_ind , len(vector_list),columns)
    else :
        obj = FullMatrix(matrix_vec_val)
         
    return obj
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:31,代码来源:IMT2013050_matrix.py


示例15: __mul__

 def __mul__(self, mat):
     '''
     Multiplication of two matrices using Strassen's algorithm
     If either this matrix or mat is a 'small' matrix then do regular multiplication
     Else use recursive Strassen's algorithm
     '''
     matrix = []
     if (self.is_small() or mat.is_small == True):
         for i in range(len(self)):
             rows = []
             for j in range(len(mat[0])):
                 val = 0
                 for k in range(len(mat[0])):
                     val += self[i][k] * mat[k][j]
                 rows.append(val)
             matrix.append(make_vector((rows) , zero_test=lambda x : (x == 0)))
         return make_matrix(matrix)
     else:
         topleft , topright , bottomleft , bottomright = self.get_quarters()
         top_left , top_right , bottom_left , bottom_right = mat.get_quarters()
         val1 = topleft * (top_right - bottom_right)
         val2 = (topleft + topright) * bottom_right
         val3 = (bottomleft + bottomright) * top_left
         val4 = bottomright * (bottom_left - top_left)
         val5 = (topleft + bottomright) * (top_left + bottom_right)
         val6 = (topright - bottomright) * (bottom_left + bottom_right)
         val7 = (topleft - bottomleft) * ( top_left + top_right)          
         row1 = val4+val5+val6-val2
         row2 = val1+val2
         row3 = val3+val4
         row4  = val1-val3+val5-val7
         col1 = row1.merge_cols(row2)
         col2 = row3.merge_cols(row4)
         mat = col1.merge_rows(col2)
         return mat
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:35,代码来源:IMT2013016_matrix.py


示例16: make_matrix

def make_matrix(vector_list):
    '''
    Make a matrix out of a list of vectors 'vector_list'
    Just like make_vector in the vector module, this decides whether to instantiate the FullMatrix or SparseMatrix class
    by using the is_zero method of the Vector class
    '''
    # Your Code
    matrix2 = []
    count = 0
    for i in range(len(vector_list)):
        ls = []
        for j in range(len(vector_list[i])):
            ls.append( vector_list[i][j] )
        if (isinstance(ls, list)):
               ls = make_vector(ls)
        if(ls.is_zero()):
            count += 1
        matrix2.append(ls) 
    
    if float(count) / float(len(vector_list)) >= DENSITY_THRESHOLD:
        indices = []
        val_vectors = []
        for i in range(len(matrix2)):
            if(matrix2[i].is_zero() == False):
                val_vectors.append(matrix2[i])
                indices.append(i)
        mat = SparseMatrix(val_vectors, indices, len(matrix2))
    else:
        mat = FullMatrix(matrix2)
    
    return mat
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:31,代码来源:IMT2013028_matrix.py


示例17: make_matrix

def make_matrix(vector_list):
    '''
    Make a matrix out of a list of vectors 'vector_list'
    Just like make_vector in the vector module, this decides whether to instantiate the FullMatrix or SparseMatrix class
    by using the is_zero method of the Vector class
    '''
    # Your Code
    count = 0
    matrix = []
    vect_matrix = []
    for vect in vector_list:
        vect_matrix.append(make_vector(vect, zero_test = lambda x : (x == 0)))
    count = 0
    if len(vect_matrix) > 2:
        for vect in vect_matrix:
            
            if vect.is_zero():
                count += 1
        if count/len(vect_matrix) <= DENSITY_THRESHOLD:
            vect_list = []
            indices = []
            for ind in range(len(vect_matrix)):
                if vect_matrix[ind].is_zero() == False:
                    vect_list.append(vect_matrix[ind])
                    indices.append(ind)
            matrix = SparseMatrix(vect_list, indices, len(vect_matrix))
            return matrix
    
    matrix = FullMatrix(vect_matrix)
    return matrix
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:30,代码来源:IMT2013022_matrix.py


示例18: pad_matrix

def pad_matrix(vector_list):
    '''
    To pad the matrix
    '''
    nrow_pad = int(pow(2, ceil(log(len(vector_list), 2))))
    ncol_pad = int(pow(2, ceil(log(len(vector_list[0]), 2))))
    zero_append.append(len(vector_list)) 
    zero_append.append(len(vector_list[0])) 
    if nrow_pad == len(vector_list) and ncol_pad == len(vector_list[0]):
        return vector_list
    new_list = [[0]*ncol_pad]*len(vector_list)
    
    for i in range(len(vector_list)):
        for j in range(len(vector_list[0])):
            new_list[i][j] = vector_list[i][j]
    
    i = 0
    while( i < nrow_pad-len(vector_list)):
        new_list.append([0]*len(new_list[0]))
        i += 1
    
    vect_list = []
    for i in new_list:
        vect_list.append(make_vector(i, zero_test = lambda x : (x == 0)))
            
    return vect_list
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:26,代码来源:IMT2013018_matrix.py


示例19: pad_row

 def pad_row(self):
     '''
     Pad the rows of this matrix to the nearest power of 2 
     '''
     
     pad = 2             
     
     while pad < self.nrows:
         pad = pad << 1
            
     pad -= self.nrows
     
     if var_globals.FLAG_ROW == 0:
         var_globals.FLAG_ROW += 1
         var_globals.ROW_LENGTH = self.nrows
    
     if pad != 0:
         if var_globals.ROW_PAD == 0:
             var_globals.ROW_PAD = pad
         
         pad_vector = [make_vector([0] * self.ncols)
                     for _ in range(pad)]                
         
         new_mat = self.merge_rows(make_matrix(pad_vector))
         t_list = [new_mat[i] for i in range(len(new_mat))]
         
         return make_matrix(t_list)
     
     else:
         return self        
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:30,代码来源:IMT2013021_matrix.py


示例20: pad_col

 def pad_col(self):
     '''
     Pad the columns of this matrix to the nearest power of 2
     '''
             
     pad = 2               
     
     while pad < self.ncols:
         pad = pad << 1
          
     pad -= self.ncols
     
     if var_globals.FLAG_COL == 1:
         var_globals.COL_LENGTH = self.ncols
     
     var_globals.FLAG_COL += 1
    
     if pad != 0:
         var_globals.COL_PAD = pad
                   
         pad_vector = [make_vector([0] * pad)
                     for _ in range(self.nrows)]
         
         new_mat = self.merge_cols(make_matrix(pad_vector))
         
         t_list = [new_mat[i] for i in range(len(new_mat))]
         
         return make_matrix(t_list)
     
     else:
         return self
开发者ID:Amit-Tomar,项目名称:Parametrized-String-Matching-Implementation-for-Software-Plagiarism-Check,代码行数:31,代码来源:IMT2013021_matrix.py



注:本文中的vector.make_vector函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python vector.vector函数代码示例发布时间:2022-05-26
下一篇:
Python vecrec.Rect类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap