0.1.177
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| [metadata] | [metadata] | ||||||
| # replace with your username: | # replace with your username: | ||||||
| name = guan | name = guan | ||||||
| version = 0.1.176 | version = 0.1.177 | ||||||
| author = guanjihuan | author = guanjihuan | ||||||
| author_email = guanjihuan@163.com | author_email = guanjihuan@163.com | ||||||
| description = An open source python package | description = An open source python package | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| Metadata-Version: 2.4 | Metadata-Version: 2.4 | ||||||
| Name: guan | Name: guan | ||||||
| Version: 0.1.176 | Version: 0.1.177 | ||||||
| Summary: An open source python package | Summary: An open source python package | ||||||
| Home-page: https://py.guanjihuan.com | Home-page: https://py.guanjihuan.com | ||||||
| Author: guanjihuan | Author: guanjihuan | ||||||
|   | |||||||
| @@ -1,12 +1,15 @@ | |||||||
| # Module: band_structures_and_wave_functions | # Module: band_structures_and_wave_functions | ||||||
|  |  | ||||||
| # 计算哈密顿量的本征值 | # 计算哈密顿量的本征值 | ||||||
| def calculate_eigenvalue(hamiltonian): | def calculate_eigenvalue(hamiltonian, hermitian=True): | ||||||
|     import numpy as np |     import numpy as np | ||||||
|     if np.array(hamiltonian).shape==(): |     if np.array(hamiltonian).shape==(): | ||||||
|         eigenvalue = np.real(hamiltonian) |         eigenvalue = np.real(hamiltonian) | ||||||
|     else: |     else: | ||||||
|  |         if hermitian: | ||||||
|             eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) |             eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) | ||||||
|  |         else: | ||||||
|  |             eigenvalue, eigenvector = np.linalg.eig(hamiltonian) | ||||||
|     return eigenvalue |     return eigenvalue | ||||||
|  |  | ||||||
| # 输入哈密顿量函数(带一组参数),计算一组参数下的本征值,返回本征值向量组 | # 输入哈密顿量函数(带一组参数),计算一组参数下的本征值,返回本征值向量组 | ||||||
| @@ -65,10 +68,13 @@ def calculate_eigenvalue_with_two_parameters(x_array, y_array, hamiltonian_funct | |||||||
|             i0 += 1 |             i0 += 1 | ||||||
|     return eigenvalue_array |     return eigenvalue_array | ||||||
|  |  | ||||||
| # 计算哈密顿量的本征矢(厄密矩阵) | # 计算哈密顿量的本征矢 | ||||||
| def calculate_eigenvector(hamiltonian): | def calculate_eigenvector(hamiltonian, hermitian=True): | ||||||
|     import numpy as np |     import numpy as np | ||||||
|  |     if hermitian: | ||||||
|         eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) |         eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) | ||||||
|  |     else: | ||||||
|  |         eigenvalue, eigenvector = np.linalg.eig(hamiltonian) | ||||||
|     return eigenvector |     return eigenvector | ||||||
|  |  | ||||||
| # 施密特正交化 | # 施密特正交化 | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # Module: file_reading_and_writing | # Module: file_reading_and_writing | ||||||
|  |  | ||||||
| # 使用pickle将变量保存到文件(支持几乎所有对象类型) | # 使用pickle将变量保存到文件(支持几乎所有对象类型) | ||||||
| def dump_data(data, filename, file_format='.pkl'): | def dump_data(data, filename='a', file_format='.pkl'): | ||||||
|     import pickle |     import pickle | ||||||
|     with open(filename+file_format, 'wb') as f: |     with open(filename+file_format, 'wb') as f: | ||||||
|         pickle.dump(data, f) |         pickle.dump(data, f) | ||||||
| @@ -14,7 +14,7 @@ def load_data(filename, file_format='.pkl'): | |||||||
|     return data |     return data | ||||||
|  |  | ||||||
| # 使用NumPy保存数组变量到npy文件(二进制文件) | # 使用NumPy保存数组变量到npy文件(二进制文件) | ||||||
| def save_npy_data(data, filename): | def save_npy_data(data, filename='a'): | ||||||
|     import numpy as np |     import numpy as np | ||||||
|     np.save(filename+'.npy', data) |     np.save(filename+'.npy', data) | ||||||
|  |  | ||||||
| @@ -25,7 +25,7 @@ def load_npy_data(filename): | |||||||
|     return data |     return data | ||||||
|  |  | ||||||
| # 使用NumPy保存数组变量到TXT文件(文本文件) | # 使用NumPy保存数组变量到TXT文件(文本文件) | ||||||
| def save_txt_data(data, filename): | def save_txt_data(data, filename='a'): | ||||||
|     import numpy as np |     import numpy as np | ||||||
|     np.savetxt(filename+'.txt', data) |     np.savetxt(filename+'.txt', data) | ||||||
|  |  | ||||||
| @@ -421,13 +421,15 @@ def write_matrix_in_markdown_format(matrix, filename='a'): | |||||||
|     dim_0 = matrix.shape[0] |     dim_0 = matrix.shape[0] | ||||||
|     dim_1 = matrix.shape[1] |     dim_1 = matrix.shape[1] | ||||||
|     with open(filename+'.md', 'w', encoding='UTF-8') as f: |     with open(filename+'.md', 'w', encoding='UTF-8') as f: | ||||||
|  |         f.write(f'| Row\Column ') | ||||||
|         for i1 in range(dim_1): |         for i1 in range(dim_1): | ||||||
|             f.write(f'| column {i1+1} ') |             f.write(f'| column {i1+1} ') | ||||||
|         f.write('|\n') |         f.write('|\n') | ||||||
|         for i1 in range(dim_1): |         for i1 in range(dim_1+1): | ||||||
|             f.write('| :---: ') |             f.write('| :---: ') | ||||||
|         f.write('|\n') |         f.write('|\n') | ||||||
|         for i0 in range(dim_0): |         for i0 in range(dim_0): | ||||||
|  |             f.write(f'| row {i0+1} ') | ||||||
|             for i1 in range(dim_1): |             for i1 in range(dim_1): | ||||||
|                 f.write(f'| {matrix[i0, i1]} ') |                 f.write(f'| {matrix[i0, i1]} ') | ||||||
|             f.write('|\n') |             f.write('|\n') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user