1

We have an $n \times n$ Hermitian and positive definite matrix $\mathbf{A}$ with diagonal elements equal to $1$ and off-diagonal elements of the (polar) form $r_{ij} e^{j \theta_{ij}}$, where the magnitudes satisfy $|r_{ij}| < 0.01$ and the phases $\theta_{ij} \in [0, 2\pi)$. Note that $n$ is usually big, e.g., $10^3$.

The matrix $\mathbf{A}$ can be written as: $$ \mathbf{A} = \begin{bmatrix} 1 & r_{12} e^{j \theta_{12}} & \cdots & r_{1n} e^{j \theta_{1n}} \\ r_{12} e^{-j \theta_{12}} & 1 & \cdots & r_{2n} e^{j \theta_{2n}} \\ \vdots & \vdots & \ddots & \vdots \\ r_{1n} e^{-j \theta_{1n}} & r_{2n} e^{-j \theta_{2n}} & \cdots & 1 \end{bmatrix}. $$ which is in fact a Gram matrix corresponding to a normalized basis$^\color{magenta}{\dagger}$. The optimization problem is: $$ \min_{\{r_{ij}, \, \theta_{ij}\}} \det(\mathbf{\mathbf{I}+\mathbf{A}}) $$ subject to the following constraints$^\color{blue}{\dagger}$: $$ \begin{aligned} & \mathbf{A} = \mathbf{A}^H \quad (\text{Hermitian condition}), \\ & \mathbf{A} \succ 0 \quad (\text{positive definiteness}), \\ & |r_{ij}| < 0.01, \quad \forall \, 1 \le i < j \le n, \\ & \theta_{ij} \in [0, 2\pi), \quad \forall \, 1 \le i < j \le n, \\ & a_{ii} = 1, \quad \forall \, i = 1, \dots, n. \end{aligned} $$

I want to know the eigenvalues of the optimal $\mathbf{A}$. However, I have difficulty in using the condition $|r_{ij}| < 0.01$ to solve the problem. I cannot explain how $|r_{ij}| < 0.01$ is related to the eigenvalues of $\mathbf{\mathbf{I}+\mathbf{A}}$ or how it constrains them. Could you give me some insights or any intuitive thinking if you have learned things related?


Numerical experiment

To get some intuition, I tried to do this in a numerical way. I use a $4\times4$ (yes, I know I said $n$ is usually big. I use $4$ here to make it easier for the solver) matrix and set $|r_{ij}| < a$.

If I use $a=0.1$ (yes, I know it is $0.01$ in the original optimization problem. I use bigger $a$ here because I will make $(n-1)a>1$ later as it should be in the optimization problem above), here are the eigenvalues of the optimal $\mathbf{\mathbf{I}+\mathbf{A}}$:

    1.7000
    2.1000
    2.1000
    2.1000

If we use $a=0.3$, we have the

    1.1000
    2.3000
    2.3000
    2.3000

We can see it is "taking" the value $(n-1)\times a$ from the smallest eigenvalue and distributing it to the others from the two examples above. And the value one of the other eigenvalues receives is $a$. If we use $a=0.5$, things will be different. Now, we already have $(n-1)a>1$ as in the original optimization problem.The corresponding eigenvalues would be

    1.0000
    1.2865
    2.7500
    2.9635

It is different and I cannot see the rules behind it.

Here is the Matlab code for numerical optimization:

%% minimize_determinant_script.m
% Clear workspace and command window
clear; clc;
r_d = 0;
r_u = 2/3;

%% 1. Set problem parameters n = 4; % Matrix dimension m = n(n-1)/2; % Number of off-diagonal elements in the upper triangle dim = 2m; % Each off-diagonal position has two variables: r and phi

% Initial guess: set all r = 0.005 (intermediate value), phi strictly within (0, 2pi) (e.g., 0.1) x0 = zeros(dim,1); for k = 1:m x0(2k-1) = rand * r_u; % Initial value for r (within [0, 0.01]) x0(2k) = rand 2 * pi; % Initial value for phi (avoiding exactly 0) end

%% 2. Set variable bounds lb = zeros(dim,1); % Lower bounds ub = zeros(dim,1); % Upper bounds for k = 1:m lb(2k-1) = 0; % Lower bound for r ub(2k-1) = r_u; % Upper bound for r lb(2k) = 0; % Lower bound for phi ub(2k) = 2 * pi; % Upper bound for phi end

%% 3. Set optimization options and nonlinear constraints options = optimoptions('fmincon', 'Algorithm', 'interior-point', ... 'Display', 'iter', 'FiniteDifferenceStepSize', 1e-6);

% Nonlinear constraint: ensure the constructed matrix A is positive definite, % i.e., the minimum eigenvalue lambda_min >= epsilon nonlcon = @(x) pdConstraint(x, n);

%% 4. Call fmincon to solve the optimization problem for minimizing the determinant [x_opt, fval, exitflag, output] = fmincon(@(x)objFun(x, n), x0, [], [], [], [], lb, ub, nonlcon, options);

%% 5. Display results % fprintf('Optimal objective function value (determinant):\n'); % disp(fval);

A_opt = constructA(x_opt, n); % fprintf('Optimally constructed matrix A:\n'); % disp(A_opt);

fprintf('Eigenvalues of matrix A:\n'); disp(eig(eye(size(A_opt)) + A_opt));

%% --- Local Functions --- % Objective function: compute the determinant of matrix A % (taking the real part to avoid numerical errors causing complex results) function f = objFun(x, n) A = constructA(x, n); f = real(det(eye(size(A)) + A)); end

% Construct Hermitian matrix A from the variable vector x function A = constructA(x, n) A = eye(n); % Diagonal elements are fixed to 1 idx = 1; for i = 1:n for j = i+1:n r = x(idx); phi = x(idx+1); A(i,j) = r * exp(1i * phi); A(j,i) = r * exp(-1i * phi); idx = idx + 2; end end end

% Nonlinear constraint function: ensure A is positive definite, % i.e., the minimum eigenvalue is not less than epsilon function [c, ceq] = pdConstraint(x, n) A = constructA(x, n); epsilon = 1e-7; lambda_min = min(eig(A)); % Inequality constraint form: epsilon - lambda_min <= 0 => lambda_min >= epsilon c = -lambda_min; ceq = []; end 3

Any advice would be appreciated!


$\color{magenta}{\dagger}$ Thanks for Rodrigo de Azevedo's question. I call it a correlation matrix since it originally comes from correlation between vectors. Not a correlation matrix in the probability sense.

$\color{blue}{\dagger}$ Thanks for Rodrigo de Azevedo's question. Here, the problem comes from the Shannon capacity formula and $\mathbf{A}$ is $\mathbf{H}^H\mathbf{H}$, where $\mathbf{H}$ is a (tall) channel matrix with size $m \times n$ and $m > n$.

  • maybe a perturbation expansion? – user619894 Feb 11 '25 at 05:16
  • @RodrigodeAzevedo hhh, sorry for the late reply. I use Matlab internal function "fmincon" as shown in the code in the post. For the matrix, it is tall. Let's say it is a $M\times N$ matrix, then at least $M>N$. I will modify the question. – Xiangyu Cui Feb 14 '25 at 14:27
  • @RodrigodeAzevedo I tried CVX before. I am not very familiar since I have not used it for some time. However, numerical optimization is not my main focus here since I am trying to find an analytical answer to this. – Xiangyu Cui Feb 14 '25 at 14:30
  • A good answer to this problem might be: Kalantari, Bahman, and Thomas H. Pate. "A determinantal lower bound." Linear Algebra and Its Applications 326.1-3 (2001): 151-159.

    One of my professors recommends this to me. It gives me some insights. And I can get a lower bound by this. It is already enough for me. You can read this if curious about this problem.

    – Xiangyu Cui Feb 14 '25 at 14:34
  • @XiangyuCui Have you tried using the trace to upper-bound the determinant? Take a look at this – Rodrigo de Azevedo Feb 14 '25 at 14:46
  • @RodrigodeAzevedo Thanks! Yes, it would give us an upper bound. But we actually need a lower bound here. But still, thank you for the help! A good way of the lower bound is the paper I mentioned in the previous comment. The lower bound is obtained by distributing the eigenvalues as "unequal" as possible. – Xiangyu Cui Feb 15 '25 at 13:39
  • @XiangyuCui If you minimize the upper bound, you also minimize your cost. Of course, it would be nice to know a lower bound in order to know how wide the gap is between the two bounds – Rodrigo de Azevedo Feb 15 '25 at 13:52
  • 1
    @RodrigodeAzevedo Thanks! I get your point now. And we can also use Hadamard's inequality for the upper bound if we want to try this way. – Xiangyu Cui Feb 16 '25 at 10:47
  • @XiangyuCui But is it useful, computationally? If you use the trace to upper bound the cost function, you might have a (convex) semidefinite program (SDP) and one can numerically solve SDPs with 1000s of variables – Rodrigo de Azevedo Feb 16 '25 at 10:56
  • @RodrigodeAzevedoYes, I agree with you. But the trace here is a constant. – Xiangyu Cui Feb 16 '25 at 11:48
  • @XiangyuCui Right! – Rodrigo de Azevedo Feb 16 '25 at 11:51

1 Answers1

1

Too long for a comment.

As $r_{i,j}\le \epsilon$ the hermitian matrix $I+A$ is strongly diagonal dominant, and consequently positive definite. Regarding the constraints $r_{i,j}\le \epsilon$ we can handle an equivalent unrestricted approach as

$$ r_{i,j}= \frac{\epsilon}{2}\left(1+\tanh\left(\alpha u_{i,j}\right)\right) $$

with $u_{i,j}$ irrestricted. Considering the phases, as they are convertible $\mod 2\pi$, they can be considered unrestricted as well. Follows a MATHEMATICA script which handles the optimization procedure. Any way, the great challenge is the dimensional curse.

sigma[x_] := s (1 + Tanh[alpha x])/2;
a[i_, j_] := If[i == j, 1, If[j > i, sigma[u[i, j]] Exp[I v[i, j]], sigma[u[j, i]] Exp[-I v[j, i]]]]
n = 10;
s0 = 0.01;
alpha = 1/20;
A = Table[a[i, j], {i, 1, n}, {j, 1, n}];
obj = Det[IdentityMatrix[n] + A];
U = Flatten[Table[u[i, j], {i, 1, n}, {j, i + 1, n}]];
V = Flatten[Table[v[i, j], {i, 1, n}, {j, i + 1, n}]];
sol = NMinimize[Re[obj /. {s -> s0}], Join[U, V], Method -> "DifferentialEvolution"]

IA0 = (IdentityMatrix[n] + A) /. {s -> s0} /. sol[[2]] Eigenvalues[IA0]

Cesareo
  • 36,341
  • Thanks! Good code. This will help me verify some of my intuitive thoughts since my code cannot function well when the matrix grows bigger. Like you said, the great challenge is the dimensional curse. Having said so, I will still try to find a more analytical result with the help of your code. I will see if I can find one and update this question. – Xiangyu Cui Feb 12 '25 at 20:14