├── README.md
├── images
├── favicon.ico
├── qutip-logo.png
├── wavefunction.png
├── research-word-cloud.png
├── numericalpython-cover.jpg
├── research-word-cloud-2.png
├── research-word-cloud-3.png
├── research-word-cloud-4.png
├── numericalpython-cover-ed3.jpg
└── theory-experiment-computation.png
├── css
├── main.css
├── bootstrap-theme.min.css
├── bootstrap-theme.css.map
└── bootstrap-theme.css
├── index.html
├── qdpack.html
├── qdpack_example.html
├── numericalpython.html
├── files
└── Robert-Johansson-RIKEN-Public.asc
├── computing.html
├── js
└── bootstrap.min.js
└── research.html
/README.md:
--------------------------------------------------------------------------------
1 |
2 | Repository for github web pages:
3 |
4 | http://jrjohansson.github.com
5 |
--------------------------------------------------------------------------------
/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/favicon.ico
--------------------------------------------------------------------------------
/images/qutip-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/qutip-logo.png
--------------------------------------------------------------------------------
/images/wavefunction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/wavefunction.png
--------------------------------------------------------------------------------
/images/research-word-cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud.png
--------------------------------------------------------------------------------
/images/numericalpython-cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/numericalpython-cover.jpg
--------------------------------------------------------------------------------
/images/research-word-cloud-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-2.png
--------------------------------------------------------------------------------
/images/research-word-cloud-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-3.png
--------------------------------------------------------------------------------
/images/research-word-cloud-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/research-word-cloud-4.png
--------------------------------------------------------------------------------
/images/numericalpython-cover-ed3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/numericalpython-cover-ed3.jpg
--------------------------------------------------------------------------------
/images/theory-experiment-computation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jrjohansson/jrjohansson.github.com/master/images/theory-experiment-computation.png
--------------------------------------------------------------------------------
/css/main.css:
--------------------------------------------------------------------------------
1 | body { font-family: Droid Serif, sans-serif; }
2 |
3 | h1, h2, h3, h4, h5, h6 { font-weight: normal; }
4 |
5 | h1 { font-size: 28.5px; }
6 |
7 | h2 { font-size: 21.5px; }
8 |
9 | h3 { font-size: 16.5px; }
10 |
11 | p { padding: 5px; align: justify;}
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | J Robert Johansson
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
37 |
38 |
39 |
49 |
50 |
51 |
52 |
53 |
54 |
58 |
59 |
60 |
61 |
65 |
66 |
70 |
71 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 | A book about scientific and technical computing using Python. Source code listings are available in the form of IPython notebooks, which can be downloaded or viewed online.
83 |
84 |
85 |
86 |
87 |
88 |
89 | Lectures on scientific computing with Python, computational quantum mechanics with Python, scientific computing projects (QuTiP, SymPsi, Wavefunction), and several other scientific-computing related projects.
90 |
91 |
92 |
93 |
94 |
95 |
Physics research page, including publications, presentations, posters, and research related software.
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 | Copyright © J Robert Johansson.
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
129 |
130 |
131 |
132 |
--------------------------------------------------------------------------------
/qdpack.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | QDpack - Quantum Dynamics Package
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | QDpack (Quantum Dynamics Package) is a free open-source software package (LGPL), implemented in C, for calculating the time-evolution of quantum systems. QDpack includes solvers for both unitary and dissipative dynamics, which can be applied to arbitrary quantum systems as long the total numbers of states is moderate (~100 to 300, depending on the stiffness of the problem). QDpack is a low-level C library. In order to solve a particular problem a C program needs to be created. A good starting point is one of the many examples that are included in the distribution tarball. It is often sufficient to create a new definition of a Hamiltonian to get started with a new calculation.
23 |
24 |
25 | Change Log
26 |
27 |
28 | 2010-10-01: qdpack 1.1: Added steady-state solver for driven systems, routines for calculating wigner and Q functions, minor bug fixes, sparse matrix support for steady state calculations.
29 | 2008-06-01: qdpack 1.0: First public release.
30 |
31 |
32 | Download
33 |
34 |
38 |
39 | Features
40 |
41 |
42 | Unitary evolution with arbitrary time-dependent Hamiltonians.
43 | Dissipative evolution using the Lindblad master equation formalism, with arbitrary time-dependent Hamiltonian.
44 | Evolution (unitary and dissipative) in time-dependent basis (i.e. instantaneous eigenbasis of a time-dependent Hamiltonian).
45 | Calculation of expectation values of arbitrary operators as a function of time.
46 | Calculation of steady state for time-independent systems.
47 | Calculation of two-time expectation values (correlation functions) of arbitrary operators as a function of time.
48 | Calculation of entanglement measures for two-level quantum systems.
49 | Pre-configured Hamiltonians:
50 |
51 | Coupled qubits (spin chains, etc.).
52 | Two-level system coupled to a single-mode harmonic oscillator (Jaynes-Cummings model).
53 | Multiple qubits (two-level system) coupled to a single-mode harmonic oscillator (Qubits coupled via a harmonic oscillator bus).
54 | Two coupled single-mode harmonic oscillators.
55 |
56 |
57 |
58 |
59 | Build and install instructions for Ubuntu Linux
60 |
61 |
62 | Requirements: CBLAS , CLAPACK , GSL and UMFPACK (for sparse matrices) . First install these packages. In Ubuntu Linux, run:
63 |
64 | sudo apt-get install libblas-dev liblapack-dev
65 | sudo apt-get install libatlas-base-dev libatlas3gf-sse2
66 | sudo apt-get install libgsl0-dev libgsl0-dbg
67 | sudo apt-get install libf2c2 libf2c2-dev f2c
68 | sudo apt-get install libsuitesparse-dev
69 |
70 |
71 | Download and unpack the QD package tarball: tar zxfv qdpack-1.1.tar.gz
72 | Edit the Makefile. Make sure that the CFLAGS and LDLIBS correctly specifies the locations of the dependency libraries (i.e., BLAS, LAPACK, GSL, etc.).
73 | Run "make" to compile, and optionally "make install".
74 | Edit the simulation files run_qubits.c, run_ho.c, etc., compile and run a simulation by running e.g. "./run_qubits ...", etc. The simulation produces output files in "tab-separated values" (TSV) format which are stored in the "data" directory.
75 |
76 |
77 | Documentation
78 |
79 |
80 | To get started get started using the QD package
81 | have a look at this example , as well as the examples that are included in the source
82 | code distribution.
83 | Also, the QDpack source code is partially documented using Doxygen,
84 | which automatically generates API reference pages that can be found in the source code distribution.
85 |
86 |
87 |
88 |
89 |
90 | Copyright © Robert Johansson
91 |
92 |
93 |
94 |
95 |
97 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/qdpack_example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | QDpack example - Coupled qubits
12 |
13 |
14 |
15 |
16 |
17 | QDpack example - Coupled qubits
18 |
19 |
20 | This document describes how to use the QD package to calculate the dynamics of a simple quantum system. The example is a
21 | system of two coupled qubits that are initially in their ground states. An RF field is applied to the first qubit which
22 | gradually excite it (Rabi oscillations). The static interaction between the qubits cause energy exchange between the
23 | qubit once energy is pumped into the first qubit via the RF field. The example program is configured to output the
24 | occupation probabilities for each qubit.
25 |
26 |
27 | Model and parameter values
28 |
29 |
30 | The model and parameter values used in this example are the following:
31 |
32 |
33 |
34 |
35 | Example source code
36 |
37 |
38 | The example programs source code is available for download here , and it is also
39 | available in the QDpack source code distribution.
40 |
41 |
42 | Program structure
43 |
44 |
45 |
46 | First the parameters for the Hamiltonian is configured by initializing a data structure of the type
47 | "solver_param".
48 |
49 |
50 |
51 | Next, a Hamiltonian is set up (either a new Hamiltonian is implemented, or one from the QDpack library
52 | is used).
53 |
54 |
55 |
56 | The quantum system data structure is created and initialized, i.e., the number of quantum levels in
57 | each subsystem is configured.
58 |
59 |
60 |
61 | Dissipation is configured: A list of operators and rates that appear in the master equation (OPTIONAL).
62 |
63 |
64 |
65 | Initial state is configured.
66 |
67 |
68 |
69 | Finally, the solver is called. For each time-step the solver call a callback function where application
70 | specific processing of the density matrix at time t (extraction of occupation probabilites, calculation
71 | of expectation values, etc.) is be done.
72 |
73 |
74 |
75 | Build and run
76 |
77 |
78 | Build the example by typing "make run_qubits" in the QDpack directory. This will produce a executable file called
79 | "run_qubits". Run this program from the same directory, after making sure that the data output directory (data/qubit.dynamics)
80 | exists:
81 |
82 |
83 |
84 | $ mkdir -p data/qubit.dynamics
85 | $ time ./run_qubits
86 | Quantum system with 2 sub systems: 2 2
87 | DEBUG: combining (tensor product)
88 | DEBUG: combining (tensor product)
89 | DEBUG: starting dm_evolve_lme_t (Lindblad-type Master Eqaution)
90 |
91 | real 0m1.078s
92 | user 0m0.972s
93 | sys 0m0.108s
94 | $
95 |
96 |
97 |
98 | The program output is stored in the directory data/qubit.dynamics/ :
99 |
100 |
101 |
102 | $ wc data/qubit.dynamics/*
103 | 1001 3003 27028 data/qubit.dynamics/qubit_population_0.dat
104 | 1001 3003 27028 data/qubit.dynamics/qubit_population_1.dat
105 | 3003 9009 81084 total
106 | $
107 |
108 |
109 |
110 | The occupation probabilities of each qubit is stored in individual files with and integer identifier in the file name. The
111 | data is formatted in the tab-separated values (TSV) ascii format, and column one to three is: 1) time, 2) probability to be in the
112 | ground state, and 3) probability of being in the excited state, respectively"
113 |
114 |
115 |
116 | $ tail data/qubit.dynamics/qubit_population_0.dat
117 | 9.910000 0.869513 0.130487
118 | 9.920000 0.869527 0.130473
119 | 9.930000 0.869539 0.130461
120 | 9.940000 0.869553 0.130447
121 | 9.950000 0.869568 0.130432
122 | 9.960000 0.869587 0.130413
123 | 9.970000 0.869608 0.130392
124 | 9.980000 0.869634 0.130366
125 | 9.990000 0.869666 0.130334
126 | 10.000000 0.869703 0.130297
127 | $
128 |
129 |
130 | Plotting results
131 |
132 |
133 | Plotting the results for the occupation probabilities for the three qubis gives the following figures:
134 |
135 |
136 |
137 | $ enplot -x 0 -y 1,2 -X "time t (ns)" -Y "Occupation probabilities" -t "Occupation probability of qubit 1" -p qubit_1_populations.png data/qubit.dynamics/qubit_population_0.dat &
138 | $ enplot -x 0 -y 1,2 -X "time t (ns)" -Y "Occupation probabilities" -t "Occupation probability of qubit 2" -p qubit_2_populations.png data/qubit.dynamics/qubit_population_1.dat &
139 |
140 |
141 |
142 |
143 |
144 |
145 | Figure caption: Left (top), the occupation probabilities of the first qubit. Fast oscillations are Rabi oscillations due
146 | to the RF driving. Slow oscillations are due to the static interaction with the second qubit. Right (bottom), the occupation
147 | probabilities of the second qubit. The oscillations are due to interaction with the first qubit. The gradual decay
148 | of oscillation visibility is due to dissipation in the second qubit (first qubit is dissipationless in this simulation).
149 |
150 |
151 |
152 |
153 |
154 | Copyright © 2008 Robert Johansson
155 |
156 |
157 |
158 |
159 |
161 |
165 |
166 |
167 |
--------------------------------------------------------------------------------
/numericalpython.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | J Robert Johansson
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
37 |
38 |
39 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
Numerical Python
57 | Scientific Computing and Data Science Applications with NumPy, SciPy and Matplotlib
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | ISBN13: 979-8-8688-0412-0 (ebook 979-8-8688-0413-7)
70 |
71 |
72 |
73 | Author: Robert Johansson
74 |
75 |
76 |
77 | Publisher: Springer / Apress
78 |
79 |
80 |
81 | For more information, see the
82 | book's page on publisher's web site.
83 |
84 |
85 |
86 |
87 |
88 |
Summary
89 |
90 | Numerical Python by Robert Johansson shows you how to leverage the numerical and mathematical capabilities in Python, its standard library, and the extensive ecosystem of computationally oriented Python libraries, including popular packages such as NumPy, SciPy, SymPy, Matplotlib, Pandas, and more, and how to apply these software tools in computational problem solving.
91 |
92 |
93 |
94 | Python has gained widespread popularity as a computing language: It is nowadays employed for computing by practitioners in such diverse fields as for example scientific research, engineering, finance, and data analytics. One reason for the popularity of Python is its high-level and easy-to-work-with syntax, which enables the rapid development and exploratory computing that is required in modern computational work.
95 |
96 |
97 |
98 | After reading and using this book, you will have seen examples and case studies from many areas of computing, and gained familiarity with basic computing techniques such as array-based and symbolic computing, all-around practical skills such as visualisation and numerical file I/O, general computational methods such as equation solving, optimization, interpolation and integration, and domain-specific computational problems, such as differential equation solving, data analysis, statistical modeling and machine learning.
99 |
100 |
101 |
102 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 | Copyright © J Robert Johansson.
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
228 |
229 |
230 |
231 |
--------------------------------------------------------------------------------
/files/Robert-Johansson-RIKEN-Public.asc:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: GnuPG v1.4.11 (GNU/Linux)
3 |
4 | mQENBEx0he4BCAD8e/n23yv0OLEucNfAZ5D2JejyuUtHJS/4GvVU8zy5ymuuO5/1
5 | oJSYT075ynj65aqoGwh31snl5/mx2iAu7Q4+PRHxnJqzxS/3q35mtcExUa/1/9Bd
6 | HWmJMD0f8Y3pRfx1GXzi4NTv4+qyz9VQsQpLCsAA7+CIhGrAxkuin5JFcORNsSx8
7 | jIFt0kxvqo+vKBBqOrc8DRkG0aRlYS22wPi42Konmezmt73QTqzEVN9eVMo9Wx6b
8 | m83UpmKYyFCB/LJGoSUivlSTP8igKKyrPGOvrfhpKM4bELTc984SYAiB/wcZlEuQ
9 | sYImsOKw++FLxYok0np+SliE45VWUY31GhzRABEBAAG0IlJvYmVydCBKb2hhbnNz
10 | b24gPHJvYmVydEByaWtlbi5qcD6JATgEEwECACIFAkx0he4CGwMGCwkIBwMCBhUI
11 | AgkKCwQWAgMBAh4BAheAAAoJEGxO33Z36c1SyPIH/16VXn9fU1Cj8Usoi6lwpRY7
12 | a3yPVguRY7I2nb40AIgazia3YKJQNsCc63MMo5LWEUBwKyKgTGuTW8b5VGNtekPk
13 | uBJyB9SHChg1HjcwGNJovGiIuBq88UrtiKbnXftnMSpxaLf/A1M05l12sYZUuJ4J
14 | ERr4FzZ1WYARfRhqoMZX+znKiqTqQcqUMMpfADk8d7TtgvoIpsBYBEMqZcjNPgLQ
15 | 2PrceQOH7Wr96GmhXOAunxMJj4N2NvMHIdLuT5AMtsvBvL3rXI5LqkKRTO0LNqqb
16 | HqeVdJ/F+xATT0WXUQas5DFETXmZgcR5auAS5Mq9gkdyeU0pZSjpF2NwSuc6+IKJ
17 | ATsEEwECACUCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJMdIdjAhkBAAoJ
18 | EGxO33Z36c1S9doIAMm7RLJDj+KJH9EccpSWaa+urLJel6M7L+nIJLzcAiWpzkSU
19 | fvrgDT5Yv0DLw9Og9mvwJ5TG8cUVTX4TIYsl4a3NLn1uLSO057u4YM4bLAyDJDQG
20 | 2nH01KdIexCK2Gf12iwalpOQawMxo81w2JBovTWq7hUjMjOpcprjw2ujaNE0loqM
21 | W4yRoRbat7Fz9xqrp8uvIwAwKgCNiqFtkEOvgQW8BUglySVbrP6o8dYIGiHLjVL4
22 | GySMW7hFHl3XK6ZoFgR8sMdTIFTHxUwaIkQgm4fSdFHc1RljDydTk9vLkfvgcpm3
23 | kbSFsvfGWQd/PJGE9nDj+wMsaC2nAKUCWp9V8wqIRgQQEQIABgUCTHSGSQAKCRAQ
24 | wwt3EVTTGL84AKCBgRa2hI1CZt9sjf0I6JL6qxzm5QCgsncsOFL9sj0+/PR9xHap
25 | 1QUSG0bR3rPesQEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/
26 | /gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBx
27 | dWFsaXR5ID0gODUK/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIR
28 | DxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgO
29 | HhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e
30 | Hh4eHh4e/8AAEQgAyADIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAAB
31 | AgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQci
32 | cRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK
33 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
34 | qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5
35 | +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQH
36 | BQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDTh
37 | JfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5
38 | eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT
39 | 1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8Au6jo8sUhEJ8x
40 | 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
213 | =sQaX
214 | -----END PGP PUBLIC KEY BLOCK-----
215 |
--------------------------------------------------------------------------------
/computing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | J Robert Johansson
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
37 |
38 |
39 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
Scientific computing projects
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | QuTiP is an open-source python framework for simulating the dynamics of quantum systems.
66 | QuTiP is based on the excellent Numpy and Scipy numerical packages, and graphical output is provided by Matplotlib . QuTiP aims to provide user-friendly and efficient numerical
69 | simulations of a wide variety of quantum mechanical problems commonly found in physics applications in fields
70 | such as quantum optics, trapped ions, superconducting circuits, and quantum nanomechanical resonators.
71 |
72 |
73 |
74 | More information and documentation is available at the QuTiP web page , and at the
75 | QuTiP github repositories .
76 |
77 |
78 |
79 | wavefunction
80 | is a Python package for calculating wavefunctions, energy levels, transition rates, etc., for 1 and 2 dimensional potentials. It includes examples for the harmonic oscillator, flux and current bias phase qubits, the Morse potential, and Flux qubits.
81 |
82 |
83 |
84 | More information and documentation is available at the
85 | github repository .
86 |
87 |
88 |
IPython extensions
89 |
90 | Various extensions for use with the IPython notebook.
91 |
92 |
93 |
94 | version_information : An IPython
95 | extension for showing version information for dependency modules. See the
96 | example notebook
97 | for installation and usage instructions.
98 | ipython-circuitikz :
99 | An IPython extension for generating and displaying electrical circuit diagrams in the
100 | IPython notebook, using LaTeX and the CircuiTikz package. There is an
101 | example notebook with installation and usage instructions.
102 | ipython-asymptote :
103 | An IPython extension for generating and displaying scientific figures in the
104 | IPython notebook, using the Asymptote vector graphics language. See the
105 | example notebook for details.
106 |
107 |
108 |
109 |
110 |
Lectures on QuTiP
111 |
112 | A series of computationally-oriented lectures on quantum mechanics and quantum optics using QuTiP and iPython notebooks .
114 | The notebooks can be downloaded from the qutip-lectures github repository (ZIP ), or viewed online (read-only) using the links below.
115 | The following topics are covered:
116 |
117 |
118 |
217 |
218 |
Symbolic quantum mechanics
219 |
220 | IPython notebooks on symbolic quantum mechanics with SymPy and SymPsi . The notebooks are available from the sympsi-notebooks repository at github, and can
221 | be view as static HTML pages via these links:
222 |
223 |
224 |
231 |
232 |
Wavefunction notebooks
233 |
234 | IPython notebooks with examples for the
235 | wavefunction python package.
236 | More examples are available in the
237 | github repository .
238 |
239 |
240 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
Lectures on scientific computing with Python
254 |
255 | A series of lectures on scientific computing using python. The lectures are written as IPython notebooks, which means that you can interactively edit and run the code. Download the notebooks from the scientific-python-lectures github repository (ZIP ), or browse them online (read-only) using the these links:
256 |
257 |
258 |
259 |
298 |
299 |
300 |
Reproduced papers
301 |
302 | A collection of IPython notebooks with reproduced numerical results (to varying degree of detail) for some interesting
303 | papers. The notebooks are available for download at the
304 | reproduced-papers github repository, and
305 | can be previewed online using the following links:
306 |
307 |
308 |
309 | Orlando et al., Phys. Rev. B 60 , 15398 (1999)
310 | You et al., Phys. Rev. B 71 , 024532 (2005)
311 | Bose et al., Phys. Rev. A 56 , 4175 (1997)
312 | Schmidt et al., Phys. Rev. B 82 , 100507 (2010)
313 | Petersson et al., Nature 490, 380 (2012)
314 | Johansson et al., Phys. Rev. A 87 , 043804 (2013)
315 | Mirrahimi et al., SIAM JCO 46 , 445 (2007)
316 |
317 |
318 |
319 | See also
320 | reproduced-papers.github.io .
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 | Copyright © J Robert Johansson.
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
356 |
357 |
358 |
359 |
--------------------------------------------------------------------------------
/css/bootstrap-theme.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.2.0 (http://getbootstrap.com)
3 | * Copyright 2011-2014 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f3f3f3));background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:-o-linear-gradient(top,#222 0,#282828 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#222),to(#282828));background-image:linear-gradient(to bottom,#222 0,#282828 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
--------------------------------------------------------------------------------
/css/bootstrap-theme.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"bootstrap-theme.css","sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n}\n\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n &::-moz-placeholder { color: @color; // Firefox\n opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",null,"// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
--------------------------------------------------------------------------------
/css/bootstrap-theme.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.2.0 (http://getbootstrap.com)
3 | * Copyright 2011-2014 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 |
7 | .btn-default,
8 | .btn-primary,
9 | .btn-success,
10 | .btn-info,
11 | .btn-warning,
12 | .btn-danger {
13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
16 | }
17 | .btn-default:active,
18 | .btn-primary:active,
19 | .btn-success:active,
20 | .btn-info:active,
21 | .btn-warning:active,
22 | .btn-danger:active,
23 | .btn-default.active,
24 | .btn-primary.active,
25 | .btn-success.active,
26 | .btn-info.active,
27 | .btn-warning.active,
28 | .btn-danger.active {
29 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
30 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
31 | }
32 | .btn:active,
33 | .btn.active {
34 | background-image: none;
35 | }
36 | .btn-default {
37 | text-shadow: 0 1px 0 #fff;
38 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
39 | background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
40 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
41 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
42 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
43 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
44 | background-repeat: repeat-x;
45 | border-color: #dbdbdb;
46 | border-color: #ccc;
47 | }
48 | .btn-default:hover,
49 | .btn-default:focus {
50 | background-color: #e0e0e0;
51 | background-position: 0 -15px;
52 | }
53 | .btn-default:active,
54 | .btn-default.active {
55 | background-color: #e0e0e0;
56 | border-color: #dbdbdb;
57 | }
58 | .btn-default:disabled,
59 | .btn-default[disabled] {
60 | background-color: #e0e0e0;
61 | background-image: none;
62 | }
63 | .btn-primary {
64 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
65 | background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
66 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
67 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
68 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
69 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
70 | background-repeat: repeat-x;
71 | border-color: #2b669a;
72 | }
73 | .btn-primary:hover,
74 | .btn-primary:focus {
75 | background-color: #2d6ca2;
76 | background-position: 0 -15px;
77 | }
78 | .btn-primary:active,
79 | .btn-primary.active {
80 | background-color: #2d6ca2;
81 | border-color: #2b669a;
82 | }
83 | .btn-primary:disabled,
84 | .btn-primary[disabled] {
85 | background-color: #2d6ca2;
86 | background-image: none;
87 | }
88 | .btn-success {
89 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
90 | background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
91 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
92 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
93 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
94 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
95 | background-repeat: repeat-x;
96 | border-color: #3e8f3e;
97 | }
98 | .btn-success:hover,
99 | .btn-success:focus {
100 | background-color: #419641;
101 | background-position: 0 -15px;
102 | }
103 | .btn-success:active,
104 | .btn-success.active {
105 | background-color: #419641;
106 | border-color: #3e8f3e;
107 | }
108 | .btn-success:disabled,
109 | .btn-success[disabled] {
110 | background-color: #419641;
111 | background-image: none;
112 | }
113 | .btn-info {
114 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
115 | background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
116 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
117 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
118 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
119 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
120 | background-repeat: repeat-x;
121 | border-color: #28a4c9;
122 | }
123 | .btn-info:hover,
124 | .btn-info:focus {
125 | background-color: #2aabd2;
126 | background-position: 0 -15px;
127 | }
128 | .btn-info:active,
129 | .btn-info.active {
130 | background-color: #2aabd2;
131 | border-color: #28a4c9;
132 | }
133 | .btn-info:disabled,
134 | .btn-info[disabled] {
135 | background-color: #2aabd2;
136 | background-image: none;
137 | }
138 | .btn-warning {
139 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
140 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
141 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
142 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
143 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
144 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
145 | background-repeat: repeat-x;
146 | border-color: #e38d13;
147 | }
148 | .btn-warning:hover,
149 | .btn-warning:focus {
150 | background-color: #eb9316;
151 | background-position: 0 -15px;
152 | }
153 | .btn-warning:active,
154 | .btn-warning.active {
155 | background-color: #eb9316;
156 | border-color: #e38d13;
157 | }
158 | .btn-warning:disabled,
159 | .btn-warning[disabled] {
160 | background-color: #eb9316;
161 | background-image: none;
162 | }
163 | .btn-danger {
164 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
165 | background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
166 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
167 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
168 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
169 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
170 | background-repeat: repeat-x;
171 | border-color: #b92c28;
172 | }
173 | .btn-danger:hover,
174 | .btn-danger:focus {
175 | background-color: #c12e2a;
176 | background-position: 0 -15px;
177 | }
178 | .btn-danger:active,
179 | .btn-danger.active {
180 | background-color: #c12e2a;
181 | border-color: #b92c28;
182 | }
183 | .btn-danger:disabled,
184 | .btn-danger[disabled] {
185 | background-color: #c12e2a;
186 | background-image: none;
187 | }
188 | .thumbnail,
189 | .img-thumbnail {
190 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
191 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
192 | }
193 | .dropdown-menu > li > a:hover,
194 | .dropdown-menu > li > a:focus {
195 | background-color: #e8e8e8;
196 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
197 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
198 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
199 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
200 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
201 | background-repeat: repeat-x;
202 | }
203 | .dropdown-menu > .active > a,
204 | .dropdown-menu > .active > a:hover,
205 | .dropdown-menu > .active > a:focus {
206 | background-color: #357ebd;
207 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
208 | background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
209 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
210 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
211 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
212 | background-repeat: repeat-x;
213 | }
214 | .navbar-default {
215 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
216 | background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
217 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
218 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
219 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
220 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
221 | background-repeat: repeat-x;
222 | border-radius: 4px;
223 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
224 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
225 | }
226 | .navbar-default .navbar-nav > .active > a {
227 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
228 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
229 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f3f3f3));
230 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
231 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
232 | background-repeat: repeat-x;
233 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
234 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
235 | }
236 | .navbar-brand,
237 | .navbar-nav > li > a {
238 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
239 | }
240 | .navbar-inverse {
241 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
242 | background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
243 | background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
244 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
245 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
246 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
247 | background-repeat: repeat-x;
248 | }
249 | .navbar-inverse .navbar-nav > .active > a {
250 | background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
251 | background-image: -o-linear-gradient(top, #222 0%, #282828 100%);
252 | background-image: -webkit-gradient(linear, left top, left bottom, from(#222), to(#282828));
253 | background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
254 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
255 | background-repeat: repeat-x;
256 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
257 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
258 | }
259 | .navbar-inverse .navbar-brand,
260 | .navbar-inverse .navbar-nav > li > a {
261 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
262 | }
263 | .navbar-static-top,
264 | .navbar-fixed-top,
265 | .navbar-fixed-bottom {
266 | border-radius: 0;
267 | }
268 | .alert {
269 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
270 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
271 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
272 | }
273 | .alert-success {
274 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
275 | background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
276 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
277 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
278 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
279 | background-repeat: repeat-x;
280 | border-color: #b2dba1;
281 | }
282 | .alert-info {
283 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
284 | background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
285 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
286 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
287 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
288 | background-repeat: repeat-x;
289 | border-color: #9acfea;
290 | }
291 | .alert-warning {
292 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
293 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
294 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
295 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
296 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
297 | background-repeat: repeat-x;
298 | border-color: #f5e79e;
299 | }
300 | .alert-danger {
301 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
302 | background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
303 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
304 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
305 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
306 | background-repeat: repeat-x;
307 | border-color: #dca7a7;
308 | }
309 | .progress {
310 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
311 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
312 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
313 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
314 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
315 | background-repeat: repeat-x;
316 | }
317 | .progress-bar {
318 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
319 | background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
320 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
321 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
322 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
323 | background-repeat: repeat-x;
324 | }
325 | .progress-bar-success {
326 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
327 | background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
328 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
329 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
330 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
331 | background-repeat: repeat-x;
332 | }
333 | .progress-bar-info {
334 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
335 | background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
336 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
337 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
338 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
339 | background-repeat: repeat-x;
340 | }
341 | .progress-bar-warning {
342 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
343 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
344 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
345 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
346 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
347 | background-repeat: repeat-x;
348 | }
349 | .progress-bar-danger {
350 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
351 | background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
352 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
353 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
354 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
355 | background-repeat: repeat-x;
356 | }
357 | .progress-bar-striped {
358 | background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
359 | background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
360 | background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
361 | }
362 | .list-group {
363 | border-radius: 4px;
364 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
365 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
366 | }
367 | .list-group-item.active,
368 | .list-group-item.active:hover,
369 | .list-group-item.active:focus {
370 | text-shadow: 0 -1px 0 #3071a9;
371 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
372 | background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
373 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
374 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
375 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
376 | background-repeat: repeat-x;
377 | border-color: #3278b3;
378 | }
379 | .panel {
380 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
381 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
382 | }
383 | .panel-default > .panel-heading {
384 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
385 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
386 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
387 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
388 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
389 | background-repeat: repeat-x;
390 | }
391 | .panel-primary > .panel-heading {
392 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
393 | background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
394 | background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
395 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
396 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
397 | background-repeat: repeat-x;
398 | }
399 | .panel-success > .panel-heading {
400 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
401 | background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
402 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
403 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
404 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
405 | background-repeat: repeat-x;
406 | }
407 | .panel-info > .panel-heading {
408 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
409 | background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
410 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
411 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
412 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
413 | background-repeat: repeat-x;
414 | }
415 | .panel-warning > .panel-heading {
416 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
417 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
418 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
419 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
420 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
421 | background-repeat: repeat-x;
422 | }
423 | .panel-danger > .panel-heading {
424 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
425 | background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
426 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
427 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
428 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
429 | background-repeat: repeat-x;
430 | }
431 | .well {
432 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
433 | background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
434 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
435 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
436 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
437 | background-repeat: repeat-x;
438 | border-color: #dcdcdc;
439 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
440 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
441 | }
442 | /*# sourceMappingURL=bootstrap-theme.css.map */
443 |
--------------------------------------------------------------------------------
/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.2.0 (http://getbootstrap.com)
3 | * Copyright 2011-2014 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j ').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-kg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
--------------------------------------------------------------------------------
/research.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | J Robert Johansson
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
44 |
45 |
46 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
J Robert Johansson, Ph.D.
80 |
81 |
82 | Previously at the iTHES research group , RIKEN.
83 |
84 |
85 |
86 |
87 |
88 |
190 |
191 |
192 |
193 |
Research
194 |
195 | I work with theoretical and computational solid-state physics, with focus on quantum mechanics in superconducting electrical circuits. I have worked on qubits for quantum computing, artificial-atom and resonator circuits for on-chip atomic and quantum-optics-like physics in the microwave regime, and on quantum vacuum related phenomena, such as the dynamical Casimir effect.
196 |
197 |
198 |
199 |
200 |
201 |
202 |
Publications
203 |
204 |
205 |
206 |
207 | M.F. Gonzalez-Zalba, S.N. Shevchenko, S. Barraud, J.R. Johansson, A.J. Ferguson, F. Nori, and A.C. Betz
208 | Gate-Sensing Coherent Charge Oscillations in a Silicon Field-Effect Transistor ,
209 | Nano Lett. 16 (3) 1614–1619 (2016)
210 | [
211 | NanoLett ,
212 | PDF
213 | ]
214 |
215 |
216 |
217 | A.M. Zagoskin, A. Chipouline, E. Il'ichev, J.R. Johansson, F. Nori,
218 | Toroidal qubits: naturally-decoupled quiet artificial atoms ,
219 | Sci. Rep. 5 , 16934 (2015)
220 | [
221 | arXiv:1406.7678 ,
222 | SREP ,
223 | PDF
224 | ]
225 |
226 |
227 |
228 | G.-W. Deng, D. Wei, J.R. Johansson, M.-L. Zhang, S.-X. Li, H.-O. Li, G. Cao, M. Xiao, T. Tu, G.-C. Guo, H.-W. Jiang, F. Nori, and G.-P. Guo,
229 |
230 | Charge number dependence of the dephasing rates of a graphene double quantum dot in a circuit QED architecture,
231 |
232 | Phys. Rev. Lett. 115, 126804 (2015).
233 | [
234 | PRL ,
235 | PDF
236 | ]
237 |
238 |
239 |
240 | G.-W. Deng, D. Wei, S.-X. Li, J. R. Johansson, W.-C. Kong, H.-O. Li, G. Cao, M. Xiao, G.-C. Guo, F. Nori, H.-W. Jiang, G.-P. Guo,
241 | Coupling two distant double quantum dots to a microwave resonator ,
242 | Nano Letters 5 , 02400 (2015).
243 | [
244 | ACS NL ,
245 | PDF ,
246 | arXiv:1310.6118
247 | ]
248 |
249 |
250 |
251 | X.-Y. Lü, Y. Wu, J.R. Johansson, H. Jing, J. Zhang, F. Nori
252 | Squeezed Optomechanics with Phase-matched Amplification and Dissipation ,
253 | Phys. Rev. Lett. 114 , 093602 (2015)
254 | [
255 | PRL ,
256 | PDF ,
257 | arXiv:1412.2864
258 | ]
259 |
260 |
261 |
262 | E.-J. Kim, J.R. Johansson, F. Nori
263 | Circuit analog of quadratic optomechanics ,
264 | Phys. Rev. A 91 , 033835 (2015)
265 | [
266 | PRA ,
267 | PDF ,
268 | arXiv:1412.6869
269 | ]
270 |
271 |
272 |
273 |
274 | P. D. Nation, J. R. Johansson, M. P. Blencowe, A. J. Rimberg,
275 | Iterative solutions to the steady-state density matrix for optomechanical systems ,
276 | Phys. Rev. E 91 , 013307 (2015).
277 | [
278 | PRE ,
279 | PDF ,
280 | arXiv:1411.4356
281 | ]
282 |
283 |
284 |
285 | J.R. Johansson, G. Johansson, F. Nori,
286 | Optomechanical-like coupling between superconducting resonators ,
287 | Phys. Rev. A 90 053833 (2014).
288 | [
289 | PRA ,
290 | PDF ,
291 | arXiv:1403.4341
292 | ]
293 |
294 |
295 |
296 | J.R. Johansson, N. Lambert, I. Mahboob, H. Yamaguchi, F. Nori,
297 | Entangled-state generation and Bell inequality violations in nanomechanical resonators ,
298 | Phys. Rev. B 90 , 174307 (2014).
299 | [
300 | PRB ,
301 | PDF ,
302 | arXiv:1402.4900 ,
303 | Source code
304 | ]
305 |
306 |
307 |
308 |
309 | J.R. Johansson, G. Johansson, C.M. Wilson, P. Delsing, F. Nori,
310 | Nonclassical microwave radiation from the dynamical Casimir effect ,
311 | Phys. Rev. A 87 , 043804 (2013).
312 | [
313 | PRA ,
314 | PDF ,
315 | arXiv:1207.1988
316 | ]
317 |
318 |
319 |
320 |
321 | J.R. Johansson, P.D. Nation, F. Nori,
322 | QuTiP 2: A Python framework for the dynamics of open quantum systems ,
323 | Comp. Phys. Comm. 184 , 1234 (2013).
324 | [
325 | CPC ,
326 | PDF ,
327 | arXiv:1211.6518
328 | ]
329 |
330 |
331 |
332 |
333 | J. Stehlik, Y. Dovzhenko, J.R. Petta, J.R. Johansson, F. Nori, H. Lu, A.C. Gossard,
334 | Landau-Zener-Stückelberg interferometry of a single electron charge qubit ,
335 | Phys. Rev. B 86 , 121303(R) (2012)
336 | [
337 | PRB ,
338 | PDF ,
339 | arXiv:1205.6173
340 | ]
341 |
342 |
343 |
344 | J.R. Johansson, P.D. Nation, F. Nori,
345 | QuTiP: An open-source Python framework for the dynamics of open quantum systems ,
346 | Comp. Phys. Comm. 183 , 1760 (2012).
347 | [
348 | CPC ,
349 | PDF ,
350 | arXiv:1110.0573
351 | ]
352 |
353 |
354 |
355 | P.D. Nation, J.R. Johansson, M.P. Blencowe, F. Nori,
356 | Stimulating Uncertainty: Amplifying the Quantum Vacuum with Superconducting Circuits ,
357 | Rev. Mod. Phys. 84 , 1 (2012).
358 | [
359 | RMP ,
360 | PDF ,
361 | arXiv:1103.0835
362 | ].
363 |
364 |
365 |
366 | N. Lambert, J.R. Johansson, F. Nori,
367 | A macro-realism inequality for opto-electro-mechanical systems ,
368 | Phys. Rev. B 82 , 245421 (2011).
369 | [
370 | PRB ,
371 | PDF ,
372 | arXiv:1106.3138
373 | ].
374 |
375 |
376 |
377 | C.M. Wilson, G. Johansson, A. Pourkabirian, M. Simoen, J.R. Johansson, T. Duty, F. Nori, P. Delsing,
378 | Observation of the dynamical Casimir effect in as superconducting circuit ,
379 | Nature 479 , 376 (2011).
380 |
381 |
382 | [
383 | Nature ,
384 | PDF ,
385 | Supplementary information ,
386 | arXiv:1105.4714 ].
387 |
388 | See also Nature News and Views Quantum physics: Shaking photons out of the vacuum by D.A.R. Dalvit.
389 | [
390 | Nature ,
391 | PDF
392 | ].
393 | Selected as one of the top ten physics breakthoughs in 2011 by Physics World
394 | [PDF ]
395 |
396 |
397 |
398 |
399 |
400 | J.R. Johansson, G. Johansson, C.M. Wilson, F. Nori,
401 | Dynamical Casimir effect in superconducting microwave circuits ,
402 | Phys. Rev. A 82 , 052509 (2010).
403 | [PRA ,
404 | PDF ,
405 | arXiv:1007.1058 ].
406 |
407 |
408 |
409 | N. Lambert, Y. Chen, J.R. Johansson, F. Nori,
410 | Quantum chaos and critical behavior on a chip ,
411 | Phys. Rev. B 80 , 165308 (2009).
412 | [PRB ,
413 | PDF ,
414 | arXiv:0905.4794 ].
415 |
416 |
417 |
418 | J.R. Johansson, G. Johansson, C.M. Wilson, F. Nori,
419 | Dynamical Casimir effect in a superconducting coplanar waveguide ,
420 | Phys. Rev. Lett. 103 , 147003 (2009).
421 |
422 |
423 | [PRL ,
424 | PDF ,
425 | arXiv:0906.3127 ].
426 | Featured as a Synopsis in Physics
427 | [PDF ]. Selected as Editor's Suggestion.
428 |
429 |
430 | S. Ashhab, J.R. Johansson, A.M. Zagoskin, F. Nori, Single-artificial-atom lasing using a voltage-biased superconducting charge qubit , New J. Phys. 11 , 023030 (2009).
431 | [NJP ,
432 | PDF ,
433 | HTML ,
434 | arXiv:0803.1209 ].
435 |
436 |
437 | M. Grajcar, S. Ashhab, J.R. Johansson, F. Nori, Lower limit on the achievable temperature in resonator-based sideband cooling , Phys. Rev. B 78 , 035406 (2008).
438 | [PRB ,
439 | PDF ,
440 | arXiv:0709.3775v1 ].
441 |
442 |
443 | L.F. Wei, J.R. Johansson, L.X. Cen, S. Ashhab, F. Nori, Controllable coherent population transfers in superconducting qubits for quantum computing . Phys. Rev. Lett. 100 , 113601 (2008).
444 | [PRL ,
445 | PDF ,
446 | arXiv:0801.4417 ].
447 |
448 |
449 | J.R. Johansson, L.G. Mourokh, A.Yu. Smirnov, F. Nori, Enhancing the conductance of a two-electron nanomechanical oscillator , Phys. Rev. B 77 , 035428 (2008).
450 | [PRB ,
451 | PDF ,
452 | cond-mat/0702237 ].
453 |
454 |
455 | Y.-X. Liu, L.F. Wei, J.R. Johansson, J.S. Tsai, F. Nori, Superconducting qubits can be coupled and addressed as trapped ions , Phys. Rev. B 76 , 144518 (2007).
456 | [PRB ,
457 | PDF ,
458 | cond-mat/0509236 ].
459 |
460 |
461 | A.M. Zagoskin, J.R. Johansson, S. Ashhab, F. Nori, Quantum information processing using frequency control of impurity spins in diamond , Phys. Rev. B 76 , 014122 (2007).
462 | [PRB ,
463 | PDF ,
464 | cond-mat/0703170 ].
465 |
466 | S. Ashhab, J.R. Johansson, A. Zagoskin, F. Nori, Two-level systems driven by large-amplitude fields , Phys. Rev. A 75 , 063414 (2007).
467 | [PRA ,
468 | PDF ,
469 | quant-ph/0702032 ]
470 |
471 | S. Ashhab, J.R. Johansson, F. Nori, Decoherence in a scalable adiabatic quantum computer, Phys. Rev. A. 74 , 052330 (2006).
472 | [PRA ,
473 | PDF ,
474 | quant-ph/0608212 ].
475 |
476 |
477 | A. M. Zagoskin, S. Ashhab, J.R. Johansson, F. Nori, Quantum two-level systems in Josephson junctions as naturally formed qubits , Phys. Rev. Lett. 97 , 077001 (2006).
478 | [PRL ,
479 | PDF ,
480 | cond-mat/0603753 ].
481 |
482 |
483 | S. Ashhab, J.R. Johansson, F. Nori, Rabi oscillations in a qubit coupled to a quantum two-level system , New J. Phys. 8 , 103 (2006).
484 | [NJP ,
485 | PDF ,
486 | cond-mat/0602577 ].
487 |
488 | S. Ashhab, J.R. Johansson, F. Nori, Decoherence dynamics of a qubit coupled to a quantum two-level system , Physica C, 444 , 45-52 (2006).
489 | [Physica C ,
490 | PDF ,
491 | cond-mat/0512677 ].
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
Preprints
500 |
501 |
502 |
503 |
504 | G.-W. Deng, D. Wei, J.R. Johansson, M.-L. Zhang, S.-X. Li, H.-O. Li, G. Cao, M. Xiao, T. Tu, G.-C. Guo, H.-W. Jiang, F. Nori, G.-P. Guo,
505 | Circuit QED with a graphene double quantum dot and a reflection-line resonator ,
506 | arXiv:1310.6118 (2013).
507 | [
508 | arXiv:1310.6118
509 | ]
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
Conference Proceedings
518 |
519 |
520 | For ISQM-TOKYO'08 , at Hitachi Research Laboratory, Tokyo Aug. 2008.
521 | J.R. Johansson, S. Ashhab, A.M. Zagoskin, F. Nori, Single-artificial-atom lasing and its suppression by strong pumping.
522 | [PDF ]
523 |
524 | For MS+S2006 at NTT Basic Research Laboratory, Hon-Atsugi 2006. S. Ashhab, J.R. Johansson, F. Nori, Decoherence and Rabi oscillations in a qubit coupled to a quantum two-level system.
525 | Controllable Quantum States, p. 83 (World Scientific, Singapore, 2008).
526 | [PDF ,
527 | cond-mat/0604475 ].
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
Software
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 | QuTiP is an open source framework for solving the dynamics of open quantum systems written in Python. Developed in collaboration with P.D. Nation .
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 | wavefunction is a Python package for calculating wavefunctions, energy levels, transition rates, etc., for 1 and 2 dimensional potentials. It includes examples for the harmonic oscillator, flux and current bias phase qubits, the Morse potential, and Flux qubits.
552 |
553 |
554 |
555 |
556 |
557 |
558 | Quantum Dynamics package. A numerical package for simulation of quantum system (unitary evolution, dissipative evolution, steady state, expectation values and correlation functions, etc).
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 | Simple one-line command-line tool for plotting data in CSV and related formats. It uses Python/Scipy/matplotlib as backend, and displays plots on the screen or saves them to files.
569 |
570 |
571 |
572 |
573 |
574 | GSL extention
575 | A collection of functions that extend the Gnu Scientific Library (GSL), including conversion between real and complex matrices, exponential of complex-valued matrices (a Taylor-series implementation, and a generalization of the algorithm for real-valued matrices used in the GSL, i.e. the Moler and Van Loan algorithm), and calculation of eigenvalues and eigenvectors for complex-valued GSL matrices by using the ZGEEV LAPACK routine.
576 |
577 |
578 |
579 |
580 |
581 | MLIB
582 | A small stand-alone C library of math functions, including data structures and functions for polynomials, evaluation of Hermite polynomials, factorials, real-valued and complex-valued adaptive quadrature (integral evaluation).
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
Talks and Lectures
591 |
592 |
593 |
594 |
595 | Simulating optomechanics with quantum nanoelectronics
596 | [PDF ]
597 | short talk at iTHES Colloquium , Jan 8th, 2015.
598 |
599 |
600 |
601 | Dynamical Casimir Effect and Entangled-Photon Generation in Superconducting Circuits
602 | [PDF ]
603 | at Relativistic Quantum Information North 2014 , Korea, June 30 - July 4, 2014.
604 |
605 |
606 |
607 | Entangled-state generation in nanomechanical resonators and optomechanical-like coupling in microwave circuits
608 | [PDF ]
609 | at NTT Basic Reserach Laboratory, Japan, April 17, 2014.
610 |
611 |
612 |
613 | Dynamical Casimir effect in superconducting circuits
614 | [PDF ]
615 | at DTU , Denmark, Jan 31, 2014.
616 |
617 |
618 |
619 | Computational quantum dynamics with QuTiP
620 | [PDF ]
621 | at DTU , Denmark, Jan 30, 2014.
622 |
623 |
624 |
625 | Scientific computing with Python
626 | [PDF ]
627 | at DTU , Denmark, Jan 30, 2014.
628 |
629 |
630 |
631 | Circuit QED with a graphene double quantum dot and a reflection-line resonator
632 | [PDF ]
633 | at Chalmers University, Sweden, Jan 29, 2014.
634 |
635 |
636 |
637 | Entangled-state generation and detection with multimode nanomechanical resonators
638 | [PDF ]
639 | at Chalmers University, Sweden, Jan 29, 2014.
640 |
641 |
642 |
643 | Amplification of vacuum fluctuations and the dynamical Casimir effect in superconducting circuit
644 | [PDF ]
645 | Interdisciplinary mini-workshop on nonequilibrium physics
646 | at Kyoto University, Japan, Dec 7-8, 2013.
647 |
648 |
649 |
650 | Engineered quantum mechanics with nano-electronics
651 | [PDF ]
652 | at RIKEN, Japan, August 26th, 2013.
653 |
654 |
655 |
656 | QuTiP: Quantum Toolbox in Python, with circuit-QED applications
657 | Semiconductor Quantum Chip group, at USTC
658 | in Hefei, China, June 27th, 2013.
659 |
660 |
661 |
662 | Scientific computing with Python [Notebooks ]
663 | A lecture series (12 hours) on scientific computing using Python, given at the Applied Quantum Physics Laboratory at Chalmers in Göteborg, Sweden, December 5 - 12, 2012.
664 |
665 |
666 |
667 | Dynamical Casimir effect in superconducting circuits
668 | [PDF ]
669 | at the Particle Physics Theory Group at Osaka University, November 27, 2012.
670 |
671 |
672 |
673 | Frequency-tunable resonators and the Dynamical Casimir effect in microwave circuits
674 | [PDF ]
675 | Lecture on QuTiP: Quantum Toolbox in Python with case studies in Circuit-QED
676 | [PDF ]
677 | The 25th Workshop on Nanoscale and Mesoscopic Systems
678 | in Pohang, Korea, November 1-2, 2012.
679 |
680 |
681 |
682 | Dynamical Casimir effect in superconducting circuits
683 | [PDF ]
684 | QuLink seminar
685 | at NII in Tokyo, Japan, October 22, 2012.
686 |
687 |
688 |
689 |
690 | QuTiP: Quantum Toolbox in Python
691 | [PDF ]
692 | SciPy 2012, Scientific Computing with Python
693 | in Austin, USA, July 16th - 21st, 2012.
694 |
695 |
696 |
697 | Popular science lecture on Research with supercomputers
698 | [PDF ].
699 | Tsuru high school, Yamanashi, March 14th 2012.
700 |
701 |
702 |
703 | Dynamical Casimir effect in superconducting circuits
704 | [PDF ]
705 | New trends in the physics of the quantum vacuum: from condensed matter, to gravitation and cosmology
706 | in Trento, Italy, June 27th to July 1st 2011.
707 |
708 |
709 |
710 | Quantum vacuum amplification in superconducting circuits
711 | [PDF ]
712 | International Workshop on the Dynamical Casimir Effect in Padova, Italy, June 6th to 8th 2011.
713 |
714 |
715 | Dynamical Casimir effect in a coplanar waveguide .
716 | For the March meeting, Mar. 2010.
717 | [PDF ].
718 | Talk at NEC in Tsukuba, Feb. 2010.
719 | [PDF ].
720 | Talk at RIKEN Sept. 4th, 2009, and at Chalmers Sept. 28th, 2009.
721 | [PDF ].
722 |
723 |
724 | Single-artificial-atom lasing .
725 | [PDF ].
726 | Talk at the Quantum Computing workshop at the ITAMP institute at Harvard University, Boston, Oct 6-17, 2008.
727 |
728 | Single-artificial-atom lasing (see above) . Talk at Chalmers, Jul 15th, 2008.
729 |
730 | Dynamics of a superconducting qubit coupled to quantum two-level systems in its environment .
731 | [PPT ].
732 | Optical Society of America (OSA) workshop on Entanglement and Quantum Decoherence, in Nara, Jan 27-30, 2008.
733 |
734 | Decoherence in adiabatic quantum computing .
735 | [PDF ] Discussion style talk at Chalmers, Dec 19th, 2006.
736 |
737 | Dynamics and decoherence of a qubit coupled to a two-level system .
738 | [PDF ] Talk at Chalmers, Feb 2nd, 2006.
739 |
740 |
741 |
742 |
743 |
762 |
763 |
764 |
Thesis
765 |
766 |
767 | My Ph.D. thesis on "Quantum mechanics in superconducting circuits and nanomechanical devices"
768 | [PDF ] was defended on Oct. 2nd, 2009.
769 | My supervisors were by Prof. Göran Johansson at Chalmers University of Technology, and Prof. Franco Nori at RIKEN.
770 |
771 |
772 |
773 |
774 |
775 |
Posters
776 |
777 |
778 |
779 | QuTiP: The quantum toolbox in python
780 | [PNG ]
781 | at FIRST annual meeting at U. Tokyo, Dec. 2013.
782 |
783 |
784 |
785 | Nonclassical microwave radiation from the dynamical Casimir effect
786 | at ICQIT 2013 at NII in Tokyo, Jan. 2013.
787 |
788 |
789 |
790 | Dynamical Casimir effect in a superconducting coplanar waveguide ,
791 | at ISQPT at NII in Tokyo, Apr. 2010.
792 |
793 |
794 |
795 | Dynamical Casimir effect in a superconducting coplanar waveguide ,
796 | US, Aug. 2009.
797 |
798 |
799 |
800 | Photon generation in superconducting transmission lines using Josephson-junction devices ,
801 | at Nobel Symposium - Qubits for Future Quantum Computers , Gothenburg, Sweden, May 2009.
802 |
803 |
804 |
805 | Single-artificial-atom lasing using a voltage-biased superconducting charge qubit ,
806 | at the ISNTT 2009 , at NTT Basic Research Laboratory, Hon-Atsugi, Jan. 2009,
807 | and 3rd Intl. Seminar series on Nanoscience and Engineering in Superconductivity for Young Scientists, Tokyo, Nov. 2008.
808 |
809 |
810 |
811 | Artificial-single-atom lasing and its suppression by strong pumping ,
812 | at ISQM-TOKYO'08 , at Hitachi Research Laboratory, Tokyo, Aug. 2008.
813 |
814 |
815 |
816 | Dynamics and decoherence of a qubit coupled to a two-level system ,
817 | at MS+S2006 at NTT Basic Research Laboratory, Hon-Atsugi, Feb. 2006.
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 | Copyright © J Robert Johansson.
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
843 |
844 |
857 |
858 |
859 |
860 |
--------------------------------------------------------------------------------