Tuesday, 17 February 2015
Friday, 23 January 2015
Memory about Dr. Stephanie Grothe in work
I was very sad to hear about the tragedy happend at Joffre Peak, B.C.. It was a hard period for me to lose such a good working partner: Stephanie Grothe. Many people had tell stories about how good she was in life. Here I would like tell you how great a person she was in work.
Steph and I had together in a few research projects with scanning tunneling microscope (STM), starting back in May 2011.
At the beginning, when I was a newbie to STM. Steph, who was an expert, taught me all the operations in two weeks. She then said to me that “you are fast learner”. But I knew deeply in my heart that, without Steph’s great patience, accuracy, and expertise, I could not have acquired the knowledge so fast. She was a great teacher.
During the two years period working together, we had many successes. A crucial factor leading to the successes was her rigorous attitude towards to research and work. Our STM is like a spoiled baby. If one makes a tiny mistake, our STM would refuse to cooperate for weeks or, sometimes, even months. However, this baby was always happy under Steph’s “babysitting”, and with her, there was no operation mistake within two years. Additionally, Steph wrote a manual with all the details for operating the instruments, and it has becomes a bible for everyone who is working on the STM.
Another crucial factor leading us to the successes was Steph’s a positive and optimistic personality. In our research project, a single atom change can violate the measurement. Usually a good result comes after many failure trails. Therefore, one can easily become depressed and encounter feelings of wanting to give up in the middle of his/her projects. In our projects, Steph had never lose the patience even after many failures in months. I was strongly influenced by her positive and optimistic attitude towards to our projects. We supported and encouraged each other in our projects, and solved the problems together. Finally, our efforts yielded four publications in peer-reviewed journals.
Beyond her brilliant her brilliant personality and remarkable expertise, she had a special talent of visualization. In our research projects, we often had to dive into a large set of data to discover new physics. Steph was extremely good at interpreting the data using graphs, in particular using colors. In our publications, most graphs were designed by her: they are beautiful and just right to show the physics. If you want to see her gift of visualization, you can see her publications as examples: http://lair.phas.ubc.ca/person/stephanie-grothe/
I felt extremely lucky to have worked closely with her at UBC. I learnt more from her than she from me. In particular, her rigorous attitude towards to work and life, and her positive and optimistic personality have profoundly influenced me for the better. She will be missed, and is being missed.
At the beginning, when I was a newbie to STM. Steph, who was an expert, taught me all the operations in two weeks. She then said to me that “you are fast learner”. But I knew deeply in my heart that, without Steph’s great patience, accuracy, and expertise, I could not have acquired the knowledge so fast. She was a great teacher.
During the two years period working together, we had many successes. A crucial factor leading to the successes was her rigorous attitude towards to research and work. Our STM is like a spoiled baby. If one makes a tiny mistake, our STM would refuse to cooperate for weeks or, sometimes, even months. However, this baby was always happy under Steph’s “babysitting”, and with her, there was no operation mistake within two years. Additionally, Steph wrote a manual with all the details for operating the instruments, and it has becomes a bible for everyone who is working on the STM.
Another crucial factor leading us to the successes was Steph’s a positive and optimistic personality. In our research project, a single atom change can violate the measurement. Usually a good result comes after many failure trails. Therefore, one can easily become depressed and encounter feelings of wanting to give up in the middle of his/her projects. In our projects, Steph had never lose the patience even after many failures in months. I was strongly influenced by her positive and optimistic attitude towards to our projects. We supported and encouraged each other in our projects, and solved the problems together. Finally, our efforts yielded four publications in peer-reviewed journals.
Beyond her brilliant her brilliant personality and remarkable expertise, she had a special talent of visualization. In our research projects, we often had to dive into a large set of data to discover new physics. Steph was extremely good at interpreting the data using graphs, in particular using colors. In our publications, most graphs were designed by her: they are beautiful and just right to show the physics. If you want to see her gift of visualization, you can see her publications as examples: http://lair.phas.ubc.ca/person/stephanie-grothe/
I felt extremely lucky to have worked closely with her at UBC. I learnt more from her than she from me. In particular, her rigorous attitude towards to work and life, and her positive and optimistic personality have profoundly influenced me for the better. She will be missed, and is being missed.
Wednesday, 21 January 2015
Pandas In Ipython: Basic Plotting in Ipython notebook
As a beginner to Pandas, I post my learning curve to use this package.
First, I would like to summarize some basic and essential command lines for plotting a 2D graph.
First, I would like to summarize some basic and essential command lines for plotting a 2D graph.
When openning an Ipython notebook, one can use the following command:
ipython notebook --pylab
Which automatically import pylab.
Then import pandas:
import pandas as pd
read data (.dat) file using:
data = pd.read_csv('directory+filename', header = 12)
Here header the number of rows of describing text before data in your .dat file.
to view the data or data information, using some of the following commands:
data #show data
data.head() #show first a few rows
data.tail() #show last a few rows
data.keys() #show the key words for each column
data.info() #summarize columns
data.dtypes() #show the data type of each column
data.describe() #quickly gives mean, std, min, max values of the numberical columns
if you want to see all the data in a table, instead of only a few rows:
pd.options.display.max_rows = 1500 # if you have 1500 rows
data
you will see all data.
If you want to delete a redundant column:
data2.drop( 'column name/key', axis = 1, inplace=True)
Now, we want to plot the numerical data:
fig=figure()
# fig.clf() #used for clear previous plot in the same figure
ax = fig.add_subplot(1,1,1)
plot_No1 = ax.plot(data.Temperature[0:186], data.Resistance[0:186], linewidth = 2., label=r"0T")
plot_No2 = ax.plot(data.Temperature[187:231],data.Resistance[187:231], linewidth = 2.,label=r"1T")
ax.legend(loc = 2) # show legned, with loc(ation) at 2 (up-left)
xlabel(r'Temperature (K)', fontsize = 20)
ylabel(r'Resistance ($\Omega$)', fontsize = 20)
ax.tick_params(axis='both', which='major', labelsize=15)
savefig('fig', transparent = True)
These commands can help you to quickly visualize your data.
I will explore many more advanced features in the future.
Thursday, 18 December 2014
Matlab 2014b in Ubuntu 14.04: solution to NVIDIA graphic card support problem
For the installation of matlab2014b in ubuntu, please follow the instructions in the following link:
https://help.ubuntu.com/community/MATLAB
https://help.ubuntu.com/community/MATLAB
When I tried to plot 3D image (2D density surface), the rendering of the image was bad. It looks like that there are missing pixels.
This is because Nouveau kernel driver does not support matlab. As a result, matlab is using its OpenGL software option for rendering.
The following gives the instruction to install Nvidia driver in ubuntu and reset OpenGL in matlab.
- in a ubuntu terminal run the following commands:
- sudo apt-add-repository ppa:xorg-edgers/ppa
- sudo apt-get update
- sudo apt-get install nvidia-current nvidia-settings
- reboot your PC
- run matlab
- in matlab, run the command line:
- opengl('save','hardware')
The matlab2014b should produce nice 3D images now.
Enjoy!
Enjoy!
Leave me a comment if you think this post is useful for you.
-shun
Matlab 2014b in Ubuntu 14.04: solution to mex gcc version problem
For the installation in ubuntu, one can follow the instructions in the following link:
https://help.ubuntu.com/community/MATLAB
However, I could not mex a c code in ubuntu.
The c code is mtimesx.c, and I use the following command:
mex -v -DDEFINEUNIX -largeArrayDims mtimesx.c -lmwblas -lmwlapack
It gives the following error:
Warning: You are using gcc version "4.8.2". The version
currently supported with MEX is "4.7.x".
For a list of currently supported compilers see:
http://www.mathworks.com/support/compilers/current_release/
-> gcc -c -I/usr/local/MATLAB/R2014b/extern/include -I/usr/local/MATLAB/R2014b/simulink/include -DMATLAB_MEX_FILE -std=c99 -D_GNU_SOURCE -fexceptions -fPIC -fno-omit-frame-pointer -pthread -DDEFINEUNIX -O -DNDEBUG "mtimesx.c"
mtimesx.c: In function ‘mexFunction’:
mtimesx.c:592:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
ans = mexGetVariablePtr("caller","OMP_SET_NUM_THREADS");
^
-> gcc -O -pthread -shared -Wl,--version-script,/usr/local/MATLAB/R2014b/extern/lib/glnxa64/mexFunction.map -Wl,--no-undefined -o "mtimesx.mexa64" mtimesx.o -lmwblas -lmwlapack -Wl,-rpath-link,/usr/local/MATLAB/R2014b/bin/glnxa64 -L/usr/local/MATLAB/R2014b/bin/glnxa64 -lmx -lmex -lmat -lm -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
mex: link of ' "mtimesx.mexa64"' failed.
Unable to complete successfully.
The solution to this is to change the gcc version for mex. However, in this matlab 2014b, it does not allow you to choose gcc compiler in mex setup function. The way to do it is the following:
Please leave a comment if you find it is useful.
https://help.ubuntu.com/community/MATLAB
However, I could not mex a c code in ubuntu.
The c code is mtimesx.c, and I use the following command:
mex -v -DDEFINEUNIX -largeArrayDims mtimesx.c -lmwblas -lmwlapack
It gives the following error:
Warning: You are using gcc version "4.8.2". The version
currently supported with MEX is "4.7.x".
For a list of currently supported compilers see:
http://www.mathworks.com/support/compilers/current_release/
-> gcc -c -I/usr/local/MATLAB/R2014b/extern/include -I/usr/local/MATLAB/R2014b/simulink/include -DMATLAB_MEX_FILE -std=c99 -D_GNU_SOURCE -fexceptions -fPIC -fno-omit-frame-pointer -pthread -DDEFINEUNIX -O -DNDEBUG "mtimesx.c"
mtimesx.c: In function ‘mexFunction’:
mtimesx.c:592:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
ans = mexGetVariablePtr("caller","OMP_SET_NUM_THREADS");
^
-> gcc -O -pthread -shared -Wl,--version-script,/usr/local/MATLAB/R2014b/extern/lib/glnxa64/mexFunction.map -Wl,--no-undefined -o "mtimesx.mexa64" mtimesx.o -lmwblas -lmwlapack -Wl,-rpath-link,/usr/local/MATLAB/R2014b/bin/glnxa64 -L/usr/local/MATLAB/R2014b/bin/glnxa64 -lmx -lmex -lmat -lm -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
mex: link of ' "mtimesx.mexa64"' failed.
Unable to complete successfully.
The solution to this is to change the gcc version for mex. However, in this matlab 2014b, it does not allow you to choose gcc compiler in mex setup function. The way to do it is the following:
- install gcc-4.7 and g++-4.7 in ubuntu through synaptic package manager.
- then find the file "mexopts.sh" in folder .\home\.matlab\R2014b and open the file. you may need to change the permission of the file in order to modify it.
- find CC='gcc' in "mexopts.sh", and change it to CC='gcc-4.7'
- find CXX='g++' in "mexopts.sh", and change it to CXX='g++-4.7'
- save the file.
Then mex functions well in matlab.
Please leave a comment if you find it is useful.
-Shun
Wednesday, 8 January 2014
four propeller helicopter
four propeller helicopter
used for good moving.
used for single person transportation.
Could we have four stands consist of four superconductors.
used for good moving.
used for single person transportation.
Could we have four stands consist of four superconductors.
Friday, 13 December 2013
The Jahn-Teller Theorem
"The
Jahn-Teller (J-T) theorem states that in molecules/ ions that have a degenerate
ground-state, the molecule/ion will distort to remove the degeneracy. This is a
fancy way of saying that when orbitals in the same level are occupied by
different numbers of electrons, this will lead to distortion of the molecule.
For us, what is important is that if the two orbitals of the eg
level have different numbers of electrons, this will lead to J-T distortion. Cu(II) with its d9
configuration is degenerate and has J-T distortion."
In Quantum point of view, electrons are dynamically hoping between different orbitals. To form a unequal occupation between two degenerate orbitals, a fluctuation is required. So this is like the van der Waals interaction, is essentially a Casimir effect.
However, to distort the lattice, maybe we need to have ion lattice relaxation time is shorter than the hoping/fluctuation time.
Is this the correct picture?
In Quantum point of view, electrons are dynamically hoping between different orbitals. To form a unequal occupation between two degenerate orbitals, a fluctuation is required. So this is like the van der Waals interaction, is essentially a Casimir effect.
However, to distort the lattice, maybe we need to have ion lattice relaxation time is shorter than the hoping/fluctuation time.
Is this the correct picture?
Subscribe to:
Posts (Atom)


