Introduction ============ Given a real matrix :math:`A` of order :math:`m\times n` and a vector :math:`b` element of :math:`{ℝ}^{m}`, we consider the problem of determining a vector :math:`x` element of :math:`{ℝ}^{n}` that verifies the following linear system: .. _RefEquation 1-1: :math:`\text{Ax}=b` eq 1-1 It is well known ([:ref:`bib3 `] p. 9) that this system admits one, and only one solution, for every :math:`b` element of :math:`{ℝ}^{m}` under the necessary and sufficient conditions that it be equi-constrained :math:`(m=n)` and that its matrix :math:`A` be regular. Also, the investigation of the cases under stress :math:`(m\le n)` and under stress :math:`(m\ge n)` will confront us with one of the following three situations: 1. The linear system [:ref:`éq 1-1 <éq 1-1>`] has one solution and only one solution, 2. The linear system [:ref:`éq 1-1 <éq 1-1>`] does not allow a solution, 3. The linear system [:ref:`éq 1-1 <éq 1-1>`] has an infinity of solutions. In practice, situation 2) is generally encountered in the case of an over-stressed system, whereas singular and under-stressed equi-constrained systems generally lead to situation 3). To pretend to solve a linear system like [:ref:`éq 1-1 <éq 1-1>`], we must first define what we will call **solution**. This is the purpose of **paragraph 2**, which is based mainly on the concept of **least squares** and on **differentiable optimization** to define, regardless of the type of system, a solution that is always unique. **Paragraph 3** is devoted to **the decomposition into singular values** of matrices (abbreviated SVD: *Singular Value Decomposition*), which not only constitutes a tool for diagnosing which of the three previous situations corresponds to the linear system studied, but also provides a method for determining the solution defined in paragraph 2. The method using **decomposition SVD** is presented in **paragraph 4** and is compared there to the **normal equations** method. **paragraph 5** algebraically details the application of the SVD method to **the resolution of an equi or sub-constrained linear system** as implemented in the*Code_Aster*. In the following paragraphs, we will use the following notations: * :math:`\parallel x\parallel` and :math:`(\text{x,y})` for, respectively, the Euclidean norm of the vector :math:`x` and the associated dot product of the vectors :math:`x` and :math:`y` elements of :math:`{ℝ}^{m}` or :math:`{ℝ}^{n}`, respectively, * :math:`{M}^{T}` for the transpose of the matrix :math:`M`, * :math:`\text{Ker}M` and :math:`\text{Im}M` for, respectively, the kernel and the image of (the linear application associated with) the matrix :math:`M`, * :math:`{X}^{\perp }` for the orthogonal of the subspace :math:`X` of :math:`{ℝ}^{m}` or :math:`{ℝ}^{n}`. *