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$.
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