SubtypingIn programming language theory, subtyping (also subtype polymorphism or inclusion polymorphism) is a form of type polymorphism in which a subtype is a datatype that is related to another datatype (the supertype) by some notion of substitutability, meaning that program elements, typically subroutines or functions, written to operate on elements of the supertype can also operate on elements of the subtype. If S is a subtype of T, the subtyping relation (written as S
Array (data type)In computer science, array is a data type that represents a collection of elements (values or variables), each selected by one or more indices (identifying keys) that can be computed at run time during program execution. Such a collection is usually called an array variable or array value. By analogy with the mathematical concepts vector and matrix, array types with one and two indices are often called vector type and matrix type, respectively. More generally, a multidimensional array type can be called a tensor type, by analogy with the physical concept, tensor.
Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Principe de substitution de Liskovvignette|Barbara Liskov en 2010 Le principe de substitution de Liskov (LSP) est, en programmation orientée objet, une définition particulière de la notion de sous-type. Il a été formulé par Barbara Liskov et Jeannette Wing dans un article intitulé Family Values: A Behavioral Notion of Subtyping : Liskov et Wing en ont proposé la formulation condensée suivante : Si est une propriété démontrable pour tout objet de type , alors est vraie pour tout objet de type tel que est un sous-type de .
Bounds checkingIn computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used. It is usually used to ensure that a number fits into a given type (range checking), or that a variable being used as an array index is within the bounds of the array (index checking). A failed bounds check usually results in the generation of some sort of exception signal. As performing bounds checking during each use can be time-consuming, it is not always done.
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
CovarianceEn théorie des probabilités et en statistique, la covariance entre deux variables aléatoires est un nombre permettant de quantifier leurs écarts conjoints par rapport à leurs espérances respectives. Elle s’utilise également pour deux séries de données numériques (écarts par rapport aux moyennes). La covariance de deux variables aléatoires indépendantes est nulle, bien que la réciproque ne soit pas toujours vraie. La covariance est une extension de la notion de variance.
Covariance matrixIn probability theory and statistics, a covariance matrix (also known as auto-covariance matrix, dispersion matrix, variance matrix, or variance–covariance matrix) is a square matrix giving the covariance between each pair of elements of a given random vector. Any covariance matrix is symmetric and positive semi-definite and its main diagonal contains variances (i.e., the covariance of each element with itself). Intuitively, the covariance matrix generalizes the notion of variance to multiple dimensions.
Variance (mathématiques)vignette|Exemple d'échantillons pour deux populations ayant la même moyenne mais des variances différentes. La population en rouge a une moyenne de 100 et une variance de 100 (écart-type = SD = standard deviation = 10). La population en bleu a une moyenne de 100 et une variance de (écart-type = SD = 50). En statistique et en théorie des probabilités, la variance est une mesure de la dispersion des valeurs d'un échantillon ou d'une variable aléatoire.
Suite (mathématiques)vignette|Exemple de suite : les points bleus représentent ses termes. En mathématiques, une suite est une famille d'éléments — appelés ses « termes » — indexée par les entiers naturels. Une suite finie est une famille indexée par les entiers strictement positifs inférieurs ou égaux à un certain entier, ce dernier étant appelé « longueur » de la suite. Lorsque tous les éléments d'une suite (infinie) appartiennent à un même ensemble , cette suite peut être assimilée à une application de dans .
GénéricitéEn programmation, la généricité (ou programmation générique), consiste à définir des algorithmes identiques opérant sur des données de types différents. On définit de cette façon des procédures ou des types entiers génériques. On pourrait ainsi programmer une pile, ou une procédure qui prend l'élément supérieur de la pile, indépendamment du type de données contenues. C'est donc une forme de polymorphisme, le « polymorphisme de type » dit aussi « paramétrage de type » : en effet, le type de donnée général (abstrait) apparaît comme un paramètre des algorithmes définis, avec la particularité que ce paramètre-là est un type.
Fonction trigonométriquethumb|upright=1.35|Toutes les valeurs des fonctions trigonométriques d'un angle θ peuvent être représentées géométriquement. En mathématiques, les fonctions trigonométriques permettent de relier les longueurs des côtés d'un triangle en fonction de la mesure des angles aux sommets. Plus généralement, ces fonctions sont importantes pour étudier les triangles et les polygones, les cercles (on les appelle alors fonctions circulaires) et modéliser des phénomènes périodiques.
Fonction elliptique de JacobiEn mathématiques, les fonctions elliptiques de Jacobi sont des fonctions elliptiques d'une grande importance historique. Introduites par Carl Gustav Jakob Jacobi vers 1830, elles ont des applications directes, par exemple dans l'équation du pendule. Elles présentent aussi des analogies avec les fonctions trigonométriques, qui sont mises en valeur par le choix des notations sn et cn, qui rappellent sin et cos. Si les fonctions elliptiques thêta de Weierstrass semblent mieux adaptées aux considérations théoriques, les problèmes physiques pratiques font plus appel aux fonctions de Jacobi.
Is-aAn is-a relationship is when one type of object 'is a' instance of another type of object. For example, a cat 'is a' animal, but not vice versa. All cats are animals, but not all animals are cats. The concept becomes important in object oriented programing, where 'is a' relationships are often used as a way to structure code - behaviour that are is relevant to all animals is defined on an animal class, whereas behaviour that is relevant only for cats is defined in a cat class.
Polymorphisme (informatique)En informatique et en théorie des types, le polymorphisme, du grec ancien polús (plusieurs) et morphê (forme), est le concept consistant à fournir une interface unique à des entités pouvant avoir différents types. Par exemple, des opérations telles que la multiplication peuvent ainsi être étendues à des scalaires aux vecteurs ou aux matrices, l'addition, des scalaires aux fonctions ou aux chaînes de caractères, etc.
Système nominatif de typesUn système nominatif de types est une classe majeure de système de types en programmation informatique. C'est avec lui qu'on détermine la compatibilité et l'équivalence de types par la déclaration explicite et/ou le nommage des types. On utilise les systèmes nominatifs pour déterminer si des types sont équivalents ou pour savoir si un type est un sous-type d'un autre. Ce système est en contraste avec le système structurel, où les comparaisons sont fondées sur la structure des types en question et donc ces types ne nécessitent pas de déclarations explicites.
Sample mean and covarianceThe sample mean (sample average) or empirical mean (empirical average), and the sample covariance or empirical covariance are statistics computed from a sample of data on one or more random variables. The sample mean is the average value (or mean value) of a sample of numbers taken from a larger population of numbers, where "population" indicates not number of people but the entirety of relevant data, whether collected or not. A sample of 40 companies' sales from the Fortune 500 might be used for convenience instead of looking at the population, all 500 companies' sales.
Fonction thêtaEn mathématiques, on appelle fonctions thêta certaines fonctions spéciales d'une ou de plusieurs variables complexes. Elles apparaissent dans plusieurs domaines, comme l'étude des variétés abéliennes, des espaces de modules, et les formes quadratiques. Elles ont aussi des applications à la théorie des solitons. Leurs généralisations en algèbre extérieure apparaissent dans la théorie quantique des champs, plus précisément dans la théorie des cordes et des D-branes.
Fonction lemniscatiqueEn mathématiques, les fonctions lemniscatiques sont des fonctions elliptiques liées à la longueur d'arc d'une lemniscate de Bernoulli ; ces fonctions ont beaucoup d'analogies avec les fonctions trigonométriques. Elles ont été étudiées par Giulio Fagnano en 1718 ; leur analyse approfondie, et en particulier la détermination de leurs périodes, a été obtenue par Carl Friedrich Gauss en 1796. Ces fonctions ont un réseau de périodes carré, et sont étroitement reliées à la fonction elliptique de Weierstrass dont les invariants sont g2 = 1 et g3 = 0.
Fonction hyperboliqueEn mathématiques, on appelle fonctions hyperboliques les fonctions cosinus hyperbolique, sinus hyperbolique et tangente hyperbolique. Les noms « sinus », « cosinus » et « tangente » proviennent de leur ressemblance avec les fonctions trigonométriques (dites « circulaires » car en relation avec le cercle unité x + y = 1) et le terme « hyperbolique » provient de leur relation avec l'hyperbole d'équation x – y = 1. Elles sont utilisées en analyse pour le calcul intégral, la résolution des équations différentielles mais aussi en géométrie hyperbolique.