0.0.119
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								PyPI/dist/guan-0.0.118-py3-none-any.whl
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								PyPI/dist/guan-0.0.118-py3-none-any.whl
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								PyPI/dist/guan-0.0.118.tar.gz
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								PyPI/dist/guan-0.0.118.tar.gz
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,7 +1,7 @@ | ||||
| [metadata] | ||||
| # replace with your username: | ||||
| name = guan | ||||
| version = 0.0.118 | ||||
| version = 0.0.119 | ||||
| author = guanjihuan | ||||
| author_email = guanjihuan@163.com | ||||
| description = An open source python package | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| Metadata-Version: 2.1 | ||||
| Name: guan | ||||
| Version: 0.0.118 | ||||
| Version: 0.0.119 | ||||
| Summary: An open source python package | ||||
| Home-page: https://py.guanjihuan.com | ||||
| Author: guanjihuan | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| # With this package, you can calculate band structures, density of states, quantum transport and topological invariant of tight-binding models by invoking the functions you need. Other frequently used functions are also integrated in this package, such as file reading/writing, figure plotting, data processing. | ||||
|  | ||||
| # The current version is guan-0.0.118, updated on August 10, 2022. | ||||
| # The current version is guan-0.0.119, updated on August 10, 2022. | ||||
|  | ||||
| # Installation: pip install --upgrade guan | ||||
|  | ||||
| @@ -1681,6 +1681,27 @@ def read_one_dimensional_data(filename='a', format='txt'): | ||||
|                 y_array = np.append(y_array, [y_row], axis=0) | ||||
|     return x_array, y_array | ||||
|  | ||||
| def read_one_dimensional_complex_data(filename='a', format='txt'):  | ||||
|     f = open(filename+'.'+format, 'r') | ||||
|     text = f.read() | ||||
|     f.close() | ||||
|     row_list = np.array(text.split('\n'))  | ||||
|     dim_column = np.array(row_list[0].split()).shape[0]  | ||||
|     x_array = np.array([]) | ||||
|     y_array = np.array([]) | ||||
|     for row in row_list: | ||||
|         column = np.array(row.split())  | ||||
|         if column.shape[0] != 0:   | ||||
|             x_array = np.append(x_array, [complex(column[0])], axis=0)   | ||||
|             y_row = np.zeros(dim_column-1, dtype=complex) | ||||
|             for dim0 in range(dim_column-1): | ||||
|                 y_row[dim0] = complex(column[dim0+1]) | ||||
|             if np.array(y_array).shape[0] == 0: | ||||
|                 y_array = [y_row] | ||||
|             else: | ||||
|                 y_array = np.append(y_array, [y_row], axis=0) | ||||
|     return x_array, y_array | ||||
|  | ||||
| def read_two_dimensional_data(filename='a', format='txt'):  | ||||
|     f = open(filename+'.'+format, 'r') | ||||
|     text = f.read() | ||||
| @@ -1708,39 +1729,72 @@ def read_two_dimensional_data(filename='a', format='txt'): | ||||
|                 matrix = np.append(matrix, [matrix_row], axis=0) | ||||
|     return x_array, y_array, matrix | ||||
|  | ||||
| def read_two_dimensional_complex_data(filename='a', format='txt'):  | ||||
|     f = open(filename+'.'+format, 'r') | ||||
|     text = f.read() | ||||
|     f.close() | ||||
|     row_list = np.array(text.split('\n'))  | ||||
|     dim_column = np.array(row_list[0].split()).shape[0]  | ||||
|     x_array = np.array([]) | ||||
|     y_array = np.array([]) | ||||
|     matrix = np.array([]) | ||||
|     for i0 in range(row_list.shape[0]): | ||||
|         column = np.array(row_list[i0].split())  | ||||
|         if i0 == 0: | ||||
|             x_str = column[1::]  | ||||
|             x_array = np.zeros(x_str.shape[0], dtype=complex) | ||||
|             for i00 in range(x_str.shape[0]): | ||||
|                 x_array[i00] = complex(x_str[i00])  | ||||
|         elif column.shape[0] != 0:  | ||||
|             y_array = np.append(y_array, [complex(column[0])], axis=0)   | ||||
|             matrix_row = np.zeros(dim_column-1, dtype=complex) | ||||
|             for dim0 in range(dim_column-1): | ||||
|                 matrix_row[dim0] = complex(column[dim0+1]) | ||||
|             if np.array(matrix).shape[0] == 0: | ||||
|                 matrix = [matrix_row] | ||||
|             else: | ||||
|                 matrix = np.append(matrix, [matrix_row], axis=0) | ||||
|     return x_array, y_array, matrix | ||||
|  | ||||
| def write_one_dimensional_data(x_array, y_array, filename='a', format='txt'):  | ||||
|     with open(filename+'.'+format, 'w') as file: | ||||
|         guan.write_one_dimensional_data_without_opening_file(x_array, y_array, file) | ||||
|  | ||||
| def write_one_dimensional_data_without_opening_file(x_array, y_array, file):  | ||||
|     x_array = np.array(x_array) | ||||
|     y_array = np.array(y_array) | ||||
|     with open(filename+'.'+format, 'w') as f: | ||||
|         i0 = 0 | ||||
|         for x0 in x_array: | ||||
|             f.write(str(x0)+'   ') | ||||
|             if len(y_array.shape) == 1: | ||||
|                 f.write(str(y_array[i0])+'\n') | ||||
|             elif len(y_array.shape) == 2: | ||||
|                 for j0 in range(y_array.shape[1]): | ||||
|                     f.write(str(y_array[i0, j0])+'   ') | ||||
|                 f.write('\n') | ||||
|             i0 += 1 | ||||
|     i0 = 0 | ||||
|     for x0 in x_array: | ||||
|         file.write(str(x0)+'   ') | ||||
|         if len(y_array.shape) == 1: | ||||
|             file.write(str(y_array[i0])+'\n') | ||||
|         elif len(y_array.shape) == 2: | ||||
|             for j0 in range(y_array.shape[1]): | ||||
|                 file.write(str(y_array[i0, j0])+'   ') | ||||
|             file.write('\n') | ||||
|         i0 += 1 | ||||
|  | ||||
| def write_two_dimensional_data(x_array, y_array, matrix, filename='a', format='txt'):  | ||||
|     with open(filename+'.'+format, 'w') as file: | ||||
|         guan.write_two_dimensional_data_without_opening_file(x_array, y_array, matrix, file) | ||||
|  | ||||
| def write_two_dimensional_data_without_opening_file(x_array, y_array, matrix, file):  | ||||
|     x_array = np.array(x_array) | ||||
|     y_array = np.array(y_array) | ||||
|     matrix = np.array(matrix) | ||||
|     with open(filename+'.'+format, 'w') as f: | ||||
|         f.write('0   ') | ||||
|     file.write('0   ') | ||||
|     for x0 in x_array: | ||||
|         file.write(str(x0)+'   ') | ||||
|     file.write('\n') | ||||
|     i0 = 0 | ||||
|     for y0 in y_array: | ||||
|         file.write(str(y0)) | ||||
|         j0 = 0 | ||||
|         for x0 in x_array: | ||||
|             f.write(str(x0)+'   ') | ||||
|         f.write('\n') | ||||
|         i0 = 0 | ||||
|         for y0 in y_array: | ||||
|             f.write(str(y0)) | ||||
|             j0 = 0 | ||||
|             for x0 in x_array: | ||||
|                 f.write('   '+str(matrix[i0, j0])+'   ') | ||||
|                 j0 += 1 | ||||
|             f.write('\n') | ||||
|             i0 += 1 | ||||
|             file.write('   '+str(matrix[i0, j0])+'   ') | ||||
|             j0 += 1 | ||||
|         file.write('\n') | ||||
|         i0 += 1 | ||||
|  | ||||
| def print_array(array, show_index=0, index_type=0): | ||||
|     if show_index==0: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user