Suppose I have a matrix $A$. I want to add a scalar to its diagonal or all elements in order to make its determinant equal to one. Is this possible?

For example:

$\textbf{B} = \textbf{A} + n$ where $\det(\textbf{B})=1$

$\textbf{B} = \textbf{A} + n\textbf{I}$ where $\det(\textbf{B})=1$ and $\textbf{I}$ is an identity matrix

$\textbf{B} = \textbf{A} + n\textbf{I} + m$ where $\det(\textbf{B})=1$ and $\textbf{I}$ is an identity matrix

$m$ and $n$ are scalar and the will be added to the all element of matrices. I want to identify $n$ or $m$ (or both) in order to make $\det(\textbf{B})$ equal to $1$.


If $A$ is an $n\times n$ matrix where $n$ is odd then the answer is yes, and you only have to add $\lambda I$:

$$\det(A + \lambda I) = (-1)^n\det(-A - \lambda I) = -k_{-A}(\lambda)$$

Since $-k_{-A}(\lambda)$ is a polynomial of degree $n$, it is surjective, so for some $\lambda$ it will be $-k_{-A}(\lambda) = 1$.


Let $A = (a_{ij})$ be an $n\times n$ matrix. The characteristic polynomial $k_A$ of the matrix $A$ is defined as:

$$k_A(x) := \det(A - xI) = \begin{vmatrix} a_{11} - x & a_{12} & \ldots & a_{1n}\\ a_{21} & a_{22}-x & \ldots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \ldots & a_{nn} - x\\ \end{vmatrix}, \quad x\in\mathbb{R}$$

Notice that $k_A$ is indeed a polynomial in $x$ because the determinant is defined as: $\DeclareMathOperator{\sgn}{sgn}$

$$\det A = \sum_{p \in S_n} (\sgn p) \cdot a_{1p(1)}a_{2p(2)}\cdots a_{np(n)}$$

that is, a sum of all products of $n$ elements of $A$ such that from each row and column of $A$ exactly one element was taken.

Also notice that $k_A$ is a polynomial of degree $n$ as the power of $x^n$ is obtained through the product of the elements on the main diagonal: $(a_{11} - x)(a_{22} - x)\cdots (a_{nn}-x)$.

If you wish to find an $x \in \mathbb{R}$ such that $\det(A - xI) = 1$, you are actually solving the equation $k_A(x) - 1 = 0$.

Now, if $n$ is odd then $k_A$ is a polynomial of an odd degree, which is surjective (because when $x\to\pm\infty$ we have $k_A(x)\to\pm\infty$, and $k_A$ attains all points in between).

This means that you can certainly find such $x$, you just have to find the zeros of the polynomial:

$$a_nx^n + a_{n-1}x^{n-1} + \ldots + a_1x + (a_0 - 1) = 0$$

where $k_A(x) = a_nx^n + a_{n-1}x^{n-1} + \ldots + a_1x + a_0$.

In general, you won't be able to do this by hand, so you can for example use Wolfram Mathematica.

If $n$ is even, then $k_A$ is not surjective, so it could happen that there doesn't exist a value $x$ such that $k_A(x) = 1$.

  • $\begingroup$ I am not mathematician. Could you please explain what is k and its subscribe A. How can calculate lambda? $\endgroup$ – user1436187 Sep 14 '17 at 2:07
  • 1
    $\begingroup$ @user1436187 I have added an explanation. $\endgroup$ – mechanodroid Sep 14 '17 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.