Diffraction gratingIn optics, a diffraction grating is an optical grating with a periodic structure that diffracts light into several beams travelling in different directions (i.e., different diffraction angles). The emerging coloration is a form of structural coloration. The directions or diffraction angles of these beams depend on the wave (light) incident angle to the diffraction grating, the spacing or distance between adjacent diffracting elements (e.g., parallel slits for a transmission grating) on the grating, and the wavelength of the incident light.
Diffraction-limited systemIn optics, any optical instrument or system a microscope, telescope, or camera has a principal limit to its resolution due to the physics of diffraction. An optical instrument is said to be diffraction-limited if it has reached this limit of resolution performance. Other factors may affect an optical system's performance, such as lens imperfections or aberrations, but these are caused by errors in the manufacture or calculation of a lens, whereas the diffraction limit is the maximum resolution possible for a theoretically perfect, or ideal, optical system.
Symmetry (geometry)In geometry, an object has symmetry if there is an operation or transformation (such as translation, scaling, rotation or reflection) that maps the figure/object onto itself (i.e., the object has an invariance under the transform). Thus, a symmetry can be thought of as an immunity to change. For instance, a circle rotated about its center will have the same shape and size as the original circle, as all points before and after the transform would be indistinguishable.
IPythonIPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history. IPython provides the following features: Interactive shells (terminal and Qt-based). A browser-based notebook interface with support for code, text, mathematical expressions, inline plots and other media. Support for interactive data visualization and use of GUI toolkits.
Reflection symmetryIn mathematics, reflection symmetry, line symmetry, mirror symmetry, or mirror-image symmetry is symmetry with respect to a reflection. That is, a figure which does not change upon undergoing a reflection has reflectional symmetry. In 2D there is a line/axis of symmetry, in 3D a plane of symmetry. An object or figure which is indistinguishable from its transformed image is called . In conclusion, a line of symmetry splits the shape in half and those halves should be identical.
Orthorhombic crystal systemIn crystallography, the orthorhombic crystal system is one of the 7 crystal systems. Orthorhombic lattices result from stretching a cubic lattice along two of its orthogonal pairs by two different factors, resulting in a rectangular prism with a rectangular base (a by b) and height (c), such that a, b, and c are distinct. All three bases intersect at 90° angles, so the three lattice vectors remain mutually orthogonal. There are four orthorhombic Bravais lattices: primitive orthorhombic, base-centered orthorhombic, body-centered orthorhombic, and face-centered orthorhombic.
Project JupyterProject Jupyter (ˈdʒuːpɪtər) is a project to develop open-source software, open standards, and services for interactive computing across multiple programming languages. It was spun off from IPython in 2014 by Fernando Pérez and Brian Granger. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R. Its name and logo are an homage to Galileo's discovery of the moons of Jupiter, as documented in notebooks attributed to Galileo.
Molecular symmetryIn chemistry, molecular symmetry describes the symmetry present in molecules and the classification of these molecules according to their symmetry. Molecular symmetry is a fundamental concept in chemistry, as it can be used to predict or explain many of a molecule's chemical properties, such as whether or not it has a dipole moment, as well as its allowed spectroscopic transitions. To do this it is necessary to use group theory. This involves classifying the states of the molecule using the irreducible representations from the character table of the symmetry group of the molecule.
Close-packing of equal spheresIn geometry, close-packing of equal spheres is a dense arrangement of congruent spheres in an infinite, regular arrangement (or lattice). Carl Friedrich Gauss proved that the highest average density – that is, the greatest fraction of space occupied by spheres – that can be achieved by a lattice packing is The same packing density can also be achieved by alternate stackings of the same close-packed planes of spheres, including structures that are aperiodic in the stacking direction.
Integer latticeIn mathematics, the n-dimensional integer lattice (or cubic lattice), denoted \mathbb{Z}^n, is the lattice in the Euclidean space \mathbb{R}^n whose lattice points are n-tuples of integers. The two-dimensional integer lattice is also called the square lattice, or grid lattice. \mathbb{Z}^n is the simplest example of a root lattice. The integer lattice is an odd unimodular lattice. The automorphism group (or group of congruences) of the integer lattice consists of all permutations and sign changes of the coordinates, and is of order 2n n!.
Notebook interfaceA notebook interface or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs. Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections. Notebooks share some goals and features with spreadsheets and word processors but go beyond their limited data models. Modular notebooks may connect to a variety of computational back ends, called "kernels".
CythonCython (ˈsaɪθɒn) is a superset of the programming language Python, which allows developers to write Python code (with optional, C-inspired syntax extensions) that yields performance comparable to that of C. Cython is a compiled language that is typically used to generate CPython extension modules. Annotated Python-like code is compiled to C (also usable from e.g. C++) and then automatically wrapped in interface code, producing extension modules that can be loaded and used by regular Python code using the import statement, but with significantly less computational overhead at run time.