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