def new_orthogonal_center(X,data_norms,centroids,center_norms=None):
if center_norms is None:<EOL><INDENT>center_norms = np.linalg.norm(centroids, axis=<NUM_LIT:1>)<EOL><DEDENT>cosine = np.inner(X,centroids) <EOL>cosine = cosine/center_norms <EOL>cosine = cosine / data_norms[:,np.newaxis] <EOL>max_cosine = np.abs(np.max(cosine, <NUM_LIT:1>)) <EOL>new_center_index = np.argmin(max_cosine) <EOL>new_center = X[new_center_index, :]       <EOL>return new_center_index,new_center<EOL>
Initialize the centrodis by orthogonal_initialization.
Parameters    
--------------------
X(data): array-like, shape= (m_samples,n_samples)
data_norms: array-like, shape=(1,n_samples)
center_norms:array-like,shape=(centroids.shape[0])
centroids: array-like, shape (K,n_samples)        
Returns
-------
new_center: array-like, shape (1,n_samples)
new_center_index: integer   
                    data index of the new center