Classe de complexitéEn informatique théorique, et plus précisément en théorie de la complexité, une classe de complexité est un ensemble de problèmes algorithmiques dont la résolution nécessite la même quantité d'une certaine ressource. Une classe est souvent définie comme l'ensemble de tous les problèmes qui peuvent être résolus sur un modèle de calcul M, utilisant une quantité de ressources du type R, où n, est la taille de l'entrée. Les classes les plus usuelles sont celles définies sur des machines de Turing, avec des contraintes de temps de calcul ou d'espace.
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.
Matrix decompositionIn the mathematical discipline of linear algebra, a matrix decomposition or matrix factorization is a factorization of a matrix into a product of matrices. There are many different matrix decompositions; each finds use among a particular class of problems. In numerical analysis, different decompositions are used to implement efficient matrix algorithms. For instance, when solving a system of linear equations , the matrix A can be decomposed via the LU decomposition.
Décomposition de SchurEn algèbre linéaire, une décomposition de Schur (nommée après le mathématicien Issai Schur) d'une matrice carrée complexe M est une décomposition de la formeoù U est une matrice unitaire (U*U = I) et A une matrice triangulaire supérieure. On peut écrire la décomposition de Schur en termes d'applications linéaires : Dans le cas où est l'application nulle, l'énoncé est directement vérifié, on peut donc se contenter de traiter le cas où est différente de l'application nulle.
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Décomposition en valeurs singulièresEn mathématiques, le procédé d'algèbre linéaire de décomposition en valeurs singulières (ou SVD, de l'anglais singular value decomposition) d'une matrice est un outil important de factorisation des matrices rectangulaires réelles ou complexes. Ses applications s'étendent du traitement du signal aux statistiques, en passant par la météorologie. Le théorème spectral énonce qu'une matrice normale peut être diagonalisée par une base orthonormée de vecteurs propres.
Quantum complexity theoryQuantum complexity theory is the subfield of computational complexity theory that deals with complexity classes defined using quantum computers, a computational model based on quantum mechanics. It studies the hardness of computational problems in relation to these complexity classes, as well as the relationship between quantum complexity classes and classical (i.e., non-quantum) complexity classes. Two important quantum complexity classes are BQP and QMA.
MIMO (télécommunications)Multiple-Input Multiple-Output ou MIMO (« entrées multiples, sorties multiples » en français) est une technique de multiplexage utilisée dans les radars, réseaux sans fil et les réseaux mobiles permettant des transferts de données à plus longue portée et avec un débit plus élevé qu’avec des antennes utilisant la technique SISO (Single-Input Single-Output). Alors que les anciens réseaux Wi-Fi ou les réseaux GSM standards utilisent une seule antenne au niveau de l'émetteur et du récepteur, MIMO utilise plusieurs antennes tant au niveau de l'émetteur (par exemple un routeur) que du récepteur (par exemple un PC portable ou un smartphone).
Déterminant (mathématiques)vignette|L'aire du parallélogramme est la valeur absolue du déterminant de la matrice formée par les vecteurs correspondants aux côtés du parallélogramme. En mathématiques, le déterminant est une valeur qu'on peut associer aux matrices ou aux applications linéaires en dimension finie. Sur les exemples les plus simples, ceux de la géométrie euclidienne en dimension 2 ou 3, il s'interprète en termes d'aires ou de volumes, et son signe est relié à la notion d'orientation.
Valeur propre, vecteur propre et espace propreEn mathématiques, et plus particulièrement en algèbre linéaire, le concept de vecteur propre est une notion algébrique s'appliquant à une application linéaire d'un espace dans lui-même. Il correspond à l'étude des axes privilégiés, selon lesquels l'application se comporte comme une dilatation, multipliant les vecteurs par une même constante. Ce rapport de dilatation est appelé valeur propre, les vecteurs auxquels il s'applique s'appellent vecteurs propres, réunis en un espace propre.
Complexité paramétréeEn algorithmique, la complexité paramétrée (ou complexité paramétrique) est une branche de la théorie de la complexité qui classifie les problèmes algorithmiques selon leur difficulté intrinsèque en fonction de plusieurs paramètres sur les données en entrée ou sur la sortie. Ce domaine est étudié depuis les années 90 comme approche pour la résolution exacte de problèmes NP-complets. Cette approche est utilisée en optimisation combinatoire, notamment en algorithmique des graphes, en intelligence artificielle, en théorie des bases de données et en bio-informatique.
Block codeIn coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way.
Conseil (informatique théorique)En théorie de la complexité, un conseil est une entrée supplémentaire passée à une machine de Turing qui dépend de la taille de l'entrée, afin d'aider la machine à reconnaître un langage. Cette notion est introduite par Richard Karp et Richard J. Lipton en 1982. Étant donnés une fonction et une classe de complexité , la classe est l'ensemble des langages tels qu'il existe un langage et une suite de conseils de taille tels que pour toute entrée de taille , si et seulement si .
Arbre splayUn arbre splay (ou arbre évasé) est un arbre binaire de recherche auto-équilibré possédant en outre la propriété que les éléments auxquels on a récemment accédé (pour les ajouter, les regarder ou les supprimer) sont rapidement accessibles. Ils disposent ainsi d'une complexité amortie en O(log n) pour les opérations courantes comme insertion, recherche ou suppression. Ainsi dans le cas où les opérations possèdent une certaine structure, ces arbres constituent des bases de données ayant de bonnes performances, et ceci reste vrai même si cette structure est a priori inconnue.
Rotation en quatre dimensionsEn mathématiques, les rotations en quatre dimensions (souvent appelées simplement rotations 4D) sont des transformations de l'espace euclidien , généralisant la notion de rotation ordinaire dans l'espace usuel ; on les définit comme des isométries directes ayant un point fixe (qu'on peut prendre comme origine, identifiant les rotations aux rotations vectorielles) ; le groupe de ces rotations est noté SO(4) : il est en effet isomorphe au groupe spécial orthogonal d'ordre 4.
Matrice de rotationEn mathématiques, et plus précisément en algèbre linéaire, une matrice de rotation Q est une matrice orthogonale de déterminant 1, ce qui peut s'exprimer par les équations suivantes : QtQ = I = QQt et det Q = 1, où Qt est la matrice transposée de Q, et I est la matrice identité. Ces matrices sont exactement celles qui, dans un espace euclidien, représentent les isométries (vectorielles) directes.
Matrice triangulairevignette|algèbre linéaire En algèbre linéaire, une matrice triangulaire est une matrice carrée dont tous les coefficients sont nuls d’un côté ou de l’autre de la diagonale principale. C’est en particulier le cas si la matrice est diagonale. Une matrice est triangulaire stricte si elle est triangulaire et que tous ses coefficients diagonaux sont nuls. Dans ce qui suit, on considérera un anneau unitaire R non forcément commutatif, des R-modules à gauche et des R-modules à droite.
NP (complexité)La classe NP est une classe très importante de la théorie de la complexité. L'abréviation NP signifie « non déterministe polynomial » (« en »). Un problème de décision est dans NP s'il est décidé par une machine de Turing non déterministe en temps polynomial par rapport à la taille de l'entrée. Intuitivement, cela revient à dire qu'on peut vérifier « rapidement » (complexité polynomiale) si une solution candidate est bien solution.
Algorithme probabilisteEn algorithmique, un algorithme probabiliste, ou algorithme randomisé, est un algorithme qui utilise une source de hasard. Plus précisément le déroulement de l’algorithme fait appel à des données tirées au hasard. Par exemple à un certain point de l’exécution, on tire un bit 0 ou 1, selon la loi uniforme et si le résultat est 0, on fait une certaine action A et si c'est 1, on fait une autre action. On peut aussi tirer un nombre réel dans l'intervalle [0,1] ou un entier dans un intervalle [i..j].
Code parfait et code MDSLes codes parfaits et les codes à distance séparable maximale (MDS), sont des types de codes correcteurs d'erreur. Un code correcteur est un code permettant au récepteur de détecter ou de corriger des altérations à la suite de la transmission ou du stockage. Elle est rendue possible grâce à une redondance de l'information. Un code est dit parfait s'il ne contient aucune redondance inutile. Le concept correspond à un critère d'optimalité. Un code est dit MDS s'il vérifie un autre critère d'optimalité s'exprimant dans le contexte des codes linéaires.