Reduction (complexity)In computability theory and computational complexity theory, a reduction is an algorithm for transforming one problem into another problem. A sufficiently efficient reduction from one problem to another may be used to show that the second problem is at least as difficult as the first. Intuitively, problem A is reducible to problem B, if an algorithm for solving problem B efficiently (if it existed) could also be used as a subroutine to solve problem A efficiently. When this is true, solving A cannot be harder than solving B.
Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Complexity classIn computational complexity theory, a complexity class is a set of computational problems "of related resource-based complexity". The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms of a type of computational problem, a model of computation, and a bounded resource like time or memory. In particular, most complexity classes consist of decision problems that are solvable with a Turing machine, and are differentiated by their time or space (memory) requirements.
Computational complexity theoryIn theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm. A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used.
Parameterized complexityIn computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to multiple parameters of the input or output. The complexity of a problem is then measured as a function of those parameters. This allows the classification of NP-hard problems on a finer scale than in the classical setting, where the complexity of a problem is only measured as a function of the number of bits in the input.
Space complexityThe space complexity of an algorithm or a computer program is the amount of memory space required to solve an instance of the computational problem as a function of characteristics of the input. It is the memory required by an algorithm until it executes completely. This includes the memory space used by its inputs, called input space, and any other (auxiliary) memory it uses during execution, which is called auxiliary space. Similar to time complexity, space complexity is often expressed asymptotically in big O notation, such as etc.
Form factor (design)Form factor is a hardware design aspect that defines and prescribes the size, shape, and other physical specifications of components, particularly in electronics. A form factor may represent a broad class of similarly sized components, or it may prescribe a specific standard. It may also define an entire system, as in a computer form factor. As electronic hardware has become smaller following Moore's law and related patterns, ever-smaller form factors have become feasible.
Small form factor (desktop and motherboard)Small form factor (abbreviated: SFF) is a term used for desktop computers and for some of its components, chassis and motherboard, to indicate that they are designed in accordance with one of several standardized computer form factors intended to minimize the volume and footprint of a desktop computer compared to the standard ATX form factor . For comparison purposes, the size of an SFF case is usually measured in litres. SFFs are available in a variety of sizes and shapes, including shoeboxes, cubes, and book-sized PCs.
Soliton (optics)In optics, the term soliton is used to refer to any optical field that does not change during propagation because of a delicate balance between nonlinear and linear effects in the medium. There are two main kinds of solitons: spatial solitons: the nonlinear effect can balance the diffraction. The electromagnetic field can change the refractive index of the medium while propagating, thus creating a structure similar to a graded-index fiber.
SolitonIn mathematics and physics, a soliton or solitary wave is a self-reinforcing wave packet that maintains its shape while it propagates at a constant velocity. Solitons are caused by a cancellation of nonlinear and dispersive effects in the medium. (Dispersive effects are a property of certain systems where the speed of a wave depends on its frequency.) Solitons are the solutions of a widespread class of weakly nonlinear dispersive partial differential equations describing physical systems.
Radio waveRadio waves are a type of electromagnetic radiation with the longest wavelengths in the electromagnetic spectrum, typically with frequencies of 300 gigahertz (GHz) and below. At 300 GHz, the corresponding wavelength is 1mm, which is shorter than the diameter of a grain of rice. At 30 Hz the corresponding wavelength is ~, which is longer than the radius of the Earth. Wavelength of a radio wave is inversely proportional to its frequency, because its velocity is constant.
Electromagnetic interferenceElectromagnetic interference (EMI), also called radio-frequency interference (RFI) when in the radio frequency spectrum, is a disturbance generated by an external source that affects an electrical circuit by electromagnetic induction, electrostatic coupling, or conduction. The disturbance may degrade the performance of the circuit or even stop it from functioning. In the case of a data path, these effects can range from an increase in error rate to a total loss of the data.
Terahertz metamaterialA terahertz metamaterial is a class of composite metamaterials designed to interact at terahertz (THz) frequencies. The terahertz frequency range used in materials research is usually defined as 0.1 to 10 THz. This bandwidth is also known as the terahertz gap because it is noticeably underutilized. This is because terahertz waves are electromagnetic waves with frequencies higher than microwaves but lower than infrared radiation and visible light.
Tunable metamaterialA tunable metamaterial is a metamaterial with a variable response to an incident electromagnetic wave. This includes remotely controlling how an incident electromagnetic wave (EM wave) interacts with a metamaterial. This translates into the capability to determine whether the EM wave is transmitted, reflected, or absorbed. In general, the lattice structure of the tunable metamaterial is adjustable in real time, making it possible to reconfigure a metamaterial device during operation.