diff --git a/PyPI/setup.cfg b/PyPI/setup.cfg index 3a862ce..e8cc673 100644 --- a/PyPI/setup.cfg +++ b/PyPI/setup.cfg @@ -1,7 +1,7 @@ [metadata] # replace with your username: name = guan -version = 0.0.70 +version = 0.0.71 author = guanjihuan author_email = guanjihuan@163.com description = An open source python package diff --git a/PyPI/src/guan/__init__.py b/PyPI/src/guan/__init__.py index 94294cd..5e04219 100644 --- a/PyPI/src/guan/__init__.py +++ b/PyPI/src/guan/__init__.py @@ -571,6 +571,7 @@ def find_vector_with_the_same_gauge_with_binary_search(vector_target, vector_ref return vector_target def find_vector_with_fixed_gauge_by_making_one_component_real(vector, precision=0.005, index=None): + vector = np.array(vector) if index == None: index = np.argmax(np.abs(vector)) sign_pre = np.sign(np.imag(vector[index])) @@ -585,7 +586,6 @@ def find_vector_with_fixed_gauge_by_making_one_component_real(vector, precision= return vector def find_vector_array_with_fixed_gauge_by_making_one_component_real(vector_array, precision=0.005): - import guan vector_sum = 0 Num_k = np.array(vector_array).shape[0] for i0 in range(Num_k): @@ -596,7 +596,8 @@ def find_vector_array_with_fixed_gauge_by_making_one_component_real(vector_array return vector_array def rotation_of_degenerate_vectors(vector1, vector2, index1, index2, precision=0.01, criterion=0.01, show_theta=0): - import cmath + vector1 = np.array(vector1) + vector2 = np.array(vector2) if np.abs(vector1[index2])>criterion or np.abs(vector2[index1])>criterion: for theta in np.arange(0, 2*pi, precision): if show_theta==1: @@ -616,7 +617,6 @@ def rotation_of_degenerate_vectors(vector1, vector2, index1, index2, precision=0 return vector1, vector2 def rotation_of_degenerate_vectors_array(vector1_array, vector2_array, precision=0.01, criterion=0.01, show_theta=0): - import guan Num_k = np.array(vector1_array).shape[0] vector1_sum = 0 for i0 in range(Num_k): diff --git a/Tutorial/09_fixed_gauge_of_wave_functions.py b/Tutorial/09_fixed_gauge_of_wave_functions.py new file mode 100644 index 0000000..446c08a --- /dev/null +++ b/Tutorial/09_fixed_gauge_of_wave_functions.py @@ -0,0 +1,22 @@ +import numpy as np +import cmath +import guan + +# Example 1 +vector = np.array([np.sqrt(0.5), np.sqrt(0.5)])*cmath.exp(np.random.uniform(0, 1)*1j) +print('\nExample 1\n', vector) +print(np.dot(vector.transpose().conj(), vector), '\n') + +vector = guan.find_vector_with_fixed_gauge_by_making_one_component_real(vector, precision=0.001) +print(vector) +print(np.dot(vector.transpose().conj(), vector), '\n') + + +# Example 2 +vector = np.array([1, 0])*cmath.exp(np.random.uniform(0, 1)*1j) +print('\nExample 2\n', vector) +print(np.dot(vector.transpose().conj(), vector), '\n') + +vector = guan.find_vector_with_fixed_gauge_by_making_one_component_real(vector, precision=0.001) +print(vector) +print(np.dot(vector.transpose().conj(), vector), '\n') \ No newline at end of file