diff --git a/PyPI/setup.cfg b/PyPI/setup.cfg index ec08d1d..28514fd 100644 --- a/PyPI/setup.cfg +++ b/PyPI/setup.cfg @@ -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 diff --git a/PyPI/src/guan.egg-info/PKG-INFO b/PyPI/src/guan.egg-info/PKG-INFO index 932eb52..afa9e27 100644 --- a/PyPI/src/guan.egg-info/PKG-INFO +++ b/PyPI/src/guan.egg-info/PKG-INFO @@ -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 diff --git a/PyPI/src/guan/band_structures_and_wave_functions.py b/PyPI/src/guan/band_structures_and_wave_functions.py index 56bfffc..2b0f24b 100644 --- a/PyPI/src/guan/band_structures_and_wave_functions.py +++ b/PyPI/src/guan/band_structures_and_wave_functions.py @@ -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: - eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) + 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 - eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) + if hermitian: + eigenvalue, eigenvector = np.linalg.eigh(hamiltonian) + else: + eigenvalue, eigenvector = np.linalg.eig(hamiltonian) return eigenvector # 施密特正交化 diff --git a/PyPI/src/guan/file_reading_and_writing.py b/PyPI/src/guan/file_reading_and_writing.py index 587afde..77287f8 100644 --- a/PyPI/src/guan/file_reading_and_writing.py +++ b/PyPI/src/guan/file_reading_and_writing.py @@ -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')