Pages

Notes on LaTeX symbols and usage.

Symbols I use the most

Text modification

Some of the frequently used symbols:
superscript - \textsuperscript{th}
subscript    - \textsubscript{s}
infinity       - \infty
dash            - the latex command is "---"
How to type single bond, double bond and triple bonds in LaTeX (for chemists)?
I found following is useful for Chemists.

https://www.overleaf.com/learn/latex/Chemistry_formulae


How to add multi-line comments in LaTeX?.

\iffalse
Comment text that you don't want to appear in paper.
\fi

Next question will appear here. 

next
anserComment 
will appear here.

See this page on Wikipedia 

Letters

 \alpha
 \beta
 \gamma
 \delta
 \epsilon
 \zeta
 \eta
 \theta
 \iota
 \kappa
 \lambda
 \mu
 \nu
 \xi
 \omicron
 \pi
 \rho
 \sigma
 \tau
 \upsilon
 \phi
 \chi
 \psi
 \omega
 \varepsilon
 \vartheta
 \varkappa
 \varpi
 \varrho
 \varphi
 \varsigma
 \Gamma
 \Delta
 \Theta
 \Lambda
 \Upsilon
 \Xi
 \Phi
 \Pi
 \Psi
 \Sigma
 \Omega
 \digamma
 \aleph
 \beth
 \gimel
 \daleth
 \forall
 \exists
 \nexists
 \Finv
 \Game
 \backepsilon
 \imath
 \jmath
 \ell
 \Bbbk
 \amalg
 \nabla
 \mho
 \partial
 \eth
 \hbar
 \hslash
 \Im
 \Re
 \wp
 \O
 \emptyset
 \varnothing
 \complement
 \circledS
 \acute{a}
 \hat{a}
 \ddot{a}
 \bar{a}
 \tilde{a}
 \grave{a}
 \check{a}
 \dot{a}
 \breve{a}
 \vec{a}
 \prime
 \backprime
 \P
 \S
 \AA
 \frac{abc}{def}
 \sqrt{abc}
 \sqrt[n]{abc}
 \overline{abc}
 \underline{abc}
 \overrightarrow{abc}
 \overleftarrow{abc}
 \overbrace{abc}
 \underbrace{abc}
 \widehat{abc}

Fonts

 \mathcal{A}
 \mathbb{A}
 \mathfrak{A}
 \mathsf{A}
 \mathbf{A}
 \textbf{A}

Common functions

 \sin
 \arcsin
 \sinh
 \cos
 \arccos
 \cosh
 \tan
 \arctan
 \tanh
 \cot
 \coth
 \sec
 \csc
 \exp
 \log
 \ln
 \lg
 \min
 \max
 \inf
 \sup
 \lim
 \liminf
 \limsup
 \arg
 \deg
 \det
 \dim
 \gcd
 \hom
 \ker
 \Pr

Big symbols

 \prod
 \bigcap
 \bigwedge
 \coprod
 \bigcup
 \bigvee
 \bigsqcup
 \sum
 \biguplus
 \bigoplus
 \bigotimes
 \bigodot
 \int
 \oint
 \iint
 \iiint
 \iiiint

Arrows

 \leftarrow
 \Leftarrow
 \leftharpoonup
 \leftharpoondown
 \leftleftarrows
 \rightarrow
 \Rightarrow
 \rightharpoonup
 \rightharpoondown
 \rightrightarrows
 \uparrow
 \Uparrow
 \upharpoonleft
 \upharpoonright
 \upuparrows
 \downarrow
 \Downarrow
 \downharpoonleft
 \downharpoonright
 \downdownarrows
 \longleftarrow
 \Longleftarrow
 \hookleftarrow
 \leftrightharpoons
 \leftrightarrows
 \Lleftarrow
 \Lsh
 \leftarrowtail
 \twoheadleftarrow
 \curvearrowleft
 \circlearrowleft
 \looparrowleft
 \longrightarrow
 \Longrightarrow
 \hookrightarrow
 \rightleftharpoons
 \rightleftarrows
 \Rrightarrow
 \Rsh
 \rightarrowtail
 \twoheadrightarrow
 \curvearrowright
 \circlearrowright
 \looparrowright
 \leftrightarrow
 \longleftrightarrow
 \updownarrow
 \nleftarrow
 \nrightarrow
 \nleftrightarrow
 \Leftrightarrow
 \Longleftrightarrow
 \Updownarrow
 \nLeftarrow
 \nRightarrow
 \nLeftrightarrow
 \mapsto
 \longmapsto
 \multimap
 \rightsquigarrow
 \leftrightsquigarrow
 \swarrow
 \searrow
 \nwarrow
 \nearrow

Order symbols

Some of the following symbols require \usepackage{amssymb} in the preamble
 <
 \leq
 \leqq
 \leqslant
 >
 \geq
 \geqq
 \geqslant
 \nless
 \nleq
 \lneq
 \nleqq
 \lneqq
 \lvertneqq
 \nleqslant
 \ngtr
 \ngeq
 \gneq
 \ngeqq
 \gneqq
 \gvertneqq
 \ngeqslant
 \vartriangleleft
 \trianglelefteq
 \lesssim
 \lessapprox
 \prec
 \preceq
 \precsim
 \precapprox
 \vartriangleright
 \trianglerighteq
 \gtrsim
 \gtrapprox
 \succ
 \succeq
 \succsim
 \succapprox
 \ntriangleleft
 \ntrianglelefteq
 \lnsim
 \lnapprox
 \nprec
 \npreceq
 \precnsim
 \precnapprox
 \ntriangleright
 \ntrianglerighteq
 \gnsim
 \gnapprox
 \nsucc
 \nsucceq
 \succnsim
 \succnapprox
 \eqslantless
 \lessgtr
 \lesseqgtr
 \lesseqqgtr
 \eqslantgtr
 \gtrless
 \gtreqless
 \gtreqqless
 \ll
 \lll
 \lessdot
 \preccurlyeq
 \curlyeqprec
 \gg
 \ggg
 \gtrdot
 \succcurlyeq
 \curlyeqsucc

Set symbols

 \subset
 \Subset
 \sqsubset
 \triangleleft
 \blacktriangleleft
 \supset
 \Supset
 \sqsupset
 \triangleright
 \blacktriangleright
 \cap
 \Cap
 \sqcap
 \vartriangle
 \blacktriangle
 \cup
 \Cup
 \sqcup
 \triangledown
 \blacktriangledown
 \in
 \subseteq
 \subseteqq
 \sqsubseteq
 \ni
 \supseteq
 \supseteqq
 \sqsupseteq
 \notin
 \nsubseteq
 \subsetneq
 \varsubsetneq
 \nsubseteqq
 \subsetneqq
 \varsubsetneqq
 \uplus
 \nsupseteq
 \supsetneq
 \varsupsetneq
 \nsupseteqq
 \supsetneqq
 \varsupsetneqq

Equality and inference

 =
 \neq
 \equiv
 \thickapprox
 \approx
 \approxeq
 \cong
 \ncong
 \sim
 \thicksim
 \nsim
 \simeq
 \backsim
 \backsimeq
 \eqsim
 \doteq
 \div
 \doteqdot
 \fallingdotseq
 \risingdotseq
 \triangleq
 \circeq
 \eqcirc
 \bumpeq
 \Bumpeq
 \asymp
 \mid
 \shortmid
 \vdash
 \dashv
 \Vdash
 \parallel
 \shortparallel
 \vDash
 \Vvdash
 \models
 \nmid
 \nshortmid
 \nvdash
 \nVdash
 \nparallel
 \nshortparallel
 \nvDash
 \nVDash

Brackets

 \lfloor
 \llcorner
 \rfloor
 \lrcorner
 \lceil
 \ulcorner
 \rceil
 \urcorner
 |
 \vert
 \|
 \Vert
 \{
 \}
 \langle
 \rangle
 /
 \backslash
 [
 ]
 (
 )

Other symbols

 \infty
 \propto
 \varpropto
 \bowtie
 \ltimes
 \rtimes
 \intercal
 \dotplus
 \times
 \wr
 \pitchfork
 \surd
 \setminus
 \diagdown
 \diagup
 \leftthreetimes
 \rightthreetimes
 \perp
 \between
 \asymp
 \angle
 \measuredangle
 \sphericalangle
 \bot
 \wedge
 \barwedge
 \doublebarwedge
 \therefore
 \top
 \vee
 \veebar
 \because
 \pm
 \curlywedge
 \smallfrown
 \frown
 \bigtriangleup
 \triangle
 \mp
 \curlyvee
 \smallsmile
 \smile
 \bigtriangledown
 \cdot
 \circ
 \bullet
 \centerdot
 \cdots
 \vdots
 \ldots
 \ddots
 \circledcirc
 \circleddash
 \circledast
 \bigcirc
 \divideontimes
 \odot
 \oplus
 \ominus
 \otimes
 \oslash
 \boxdot
 \boxplus
 \boxminus
 \boxtimes
 \Box
 \diamondsuit
 \clubsuit
 \heartsuit
 \spadesuit
 \lozenge
 \blacklozenge
 \square
 \blacksquare
 \diamond
 \Diamond
 \ast
 \star
 \bigstar
 \sharp
 \flat
 \natural
 \dagger
 \ddagger


Alphabets with special characters on it.

LaTeX commandSampleDescription
\`{o}ògrave accent
\'{o}óacute accent
\^{o}ôcircumflex
\"{o}öumlaut, trema or dieresis
\H{o}őlong Hungarian umlaut (double acute)
\~{o}õtilde
\c{c}çcedilla
\k{a}ąogonek
\l{}łbarred l (l with stroke)
\={o}ōmacron accent (a bar over the letter)
\b{o}obar under the letter
\.{o}ȯdot over the letter
\d{u}dot under the letter
\r{a}åring over the letter (for å there is also the special command \aa)
\u{o}ŏbreve over the letter
\v{s}šcaron/háček ("v") over the letter
\t{oo}o͡o"tie" (inverted u) over the two letters
\oøslashed o (o with stroke)


Install and use chemdataextractor

conda install -c chemdataextractor chemdataextractor
or
pip install ChemDataExtractor

(For more info, see this docs page.)

Use:

In the termial, type python and enter

>>> doc = Document('UV-vis spectrum of 5,10,15,20-Tetra(4-carboxyphenyl)porphyrin in Tetrahydrofuran (THF).')

>>> doc.cems

I get following error.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lib/python2.7/site-packages/chemdataextractor/doc/document.py", line 355, in cems
    return list(set([n for el in self.elements for n in el.cems]))
  File "/home/lib/python2.7/site-packages/chemdataextractor/doc/text.py", line 213, in cems
    return [cem for sent in self.sentences for cem in sent.cems]
    raise ModelNotFoundError('Could not load %s. Have you run `cde data download`?' % path)
chemdataextractor.errors.ModelNotFoundError: Could not load models/punkt_chem-1.0.pickle. Have you run `cde data download`?

It seems that the chemdataextractor project is not updated for last 3 years. However, the authors publish new papers based on this package.

Also note that this package works with Python 3.6.0 version of python or earlier version. It throws bugs if you use with later version of python.


List of basis sets used in Quantum Chemistry and Condensed Matter Physics

The molecular orbitals or the crystal wave functions are expanded using following basis functions.

Slayter-type Orbitals (STO)
Gaussian-type orbitals (GTOs)
Numerical atomic functions
Finite elements (FEM)
Wavelets
Plane waves
Spherical waves

The GTOs and planes waves are widely used in many codes. The GTO originated from Gaussian code by John A Pople. Gaussian basis functions are the reason for the initial success in chemistry. Plane wave basis functions are widely used in condensed matter physics.

AI predicts that our Earth goes around the Sun: A prediction by neural networks

A neural network algorithm leans physical law and the result is published in Physical Review Letters, one of the leading journals in Physics.

The abstract reads as follow.

"Despite the success of neural networks at solving concrete physics problems, their use as a general-purpose tool for scientific discovery is still in its infancy. Here, we approach this problem by modelling a neural network architecture after the human physical reasoning process, which has similarities to representation learning. This allows us to make progress towards the long-term goal of machine-assisted scientific discovery from experimental data without making prior assumptions about the system. We apply this method to toy examples and show that the network finds the physically relevant parameters, exploits conservation laws to make predictions, and can help to gain conceptual insights, e.g. Copernicus’ conclusion that the solar system is heliocentric."

We all know that the earth revolves around the Sun. But, without giving this information, how can a computer algorithm can predict? It has been successfully predicted by a neural network for the first time. The authors wants to predict the laws of quantum physics using this neural network. This prediction of planetary law is one of the first step on their way.

This work has been highlighted by Nature as "AI Copernicus ‘discovers’ that Earth orbits the Sun"

References

In research, should I chose to an upcoming field or should I focus on well-established field?

This question is always in my mind.

Should I use the tool I know very well or should I learn new tools?
Another question is should I work on the field I am working in already or should I move to a new filed?

Here is my thought.

Consider a field that use a standard tool to research. Theoretical researchers adopt tools like machine learning for their research. Should I shift to the new tool despite insufficient skill to do that or should I stick to my actual skill? Switching completely to the new field may take a lot of time. And, the final outcome would be either successful or failure. That can not be afford by a graduate student or postdoc or who are in their early career. Another option is to to combine with existing too. But, that too decreases the efficiency. Yet, there is more chance that your project will be successful. There is less chance that the project would become failure. Hence, I chose to combine new tools with existing tools (if possible) to do my research. But, still I have to be ready to pay the cost. I should put in much effort to learn the new tools and applying them. Sticking to the tools you already know (unless you are developing them) is is not a growth mindset.

What do you think?

Productivity tools series: top pomodoro technique tools

Probably you know about pomodoro technique which as a productivity technique.



Here are the top tools to manage your time and procrastination. You can read the details in this Wikipedia page on Pomodoro technique.

Here are the top web apps that you can use for boosting your productivity. 








Is this helpful? If yes, which one is your favorite? Share your thoughts. 


Top programming languages for Quantum Chemistry or Density Functional Theory Researchers

Top programming languages is mostly debated topic. For a new programmer or researcher, this is the first question that comes to our mind - "What programming language should I use"?

Here are the top languages used for researchers in Quantum Chemistry and Condensed Matter Theory researchers. For wrapping purpose, mostly python is used. Note that a combination of these languages such as (Fortran with Python, C++ with python, Fortran and C also widely used in many codes)

Fortran
C++
Python
C


Here are some discussion.

Fortran
Fortran is the most widely used language for long time. It has rich libraries that can do numerical computations and most (or almost all) of the condensed matter codes are written in Fortran. Codes written in Fortran has very good readablity. One of the reason for the wide use of Fortran is considered is that when the original developers wrote the code, Fortran was mostly popular and still popular and it takes much effort to rewrite modern language such as C++. However, because Fortran 90 adapts all the features of C++ such as class, inheretance, isomorphisms etc, there is no need to switch to C++. 
Example: VASP, Quantum Espresso, ELK, etc.

C++ 
Quantum Chemistry packages where the molecular properties are calculated are mostly using C++ as programming languages. Quantum Chemistry researchers love C++. Most of the chemistry based codes especially use C++. The speed is almost equal to C++. This language also has good libraries for numerical computation.

Python
Python is the fastest growing language and easy to learn. Researchers and educators advice that Python should be taught as the first programming languages. With the Numpy and Scipy packages, the speed is comparable to C++ most of the time. Python can also be used as a wrapper language along with other codes such as Fortran and C/C++.

C
C is the minimalist language and it can be used to do almost anything. While it has no class, inheritance and isomorphism, this is the first language that is taught to computer science students. This language is used in a countable number of codes with Python as a wrapper language.

What is your take on this? Comment here if you agree or disagree.

For the list of software and more details see this Wikipedia page List of quantum chemistry and solid-state physics software.

You may be interested in these posts

Error in image file conversion: convert-im6.q16: not authorized `test.eps' @ error/constitute.c/WriteImage/1037.

This error is because of the vulnerability. This allows remote execution of code using image formats. So, some Linux distributions by defaul...