inverse M matrices I have that $Q \in \mathbb{R}^{n \times n}$ is a matrix and want it to be an inverse M matrix. (https://reader.elsevier.com/reader/sd/pii/0024379582902385?token=F75F02BA0122F6186FC2E294005404C72DBA04369B519D3C981CE9D73807AAD93607A53B07F4F45AF538F03A6CCA3FE7).
So, we need the expression, $Q^{-1}=sI-B$, where $B$ is entry-wise non-negative and $I$ is an identity matrix, where $s$ is at least as large as the maximum of the moduli of the eigenvalues of $B$. 
I am trying to incorporate this condition as a linear constraint in an optimization problem, however, so far I have not got any condition that makes the constraint linear (and makes Q to be an inverse M matrix).  
For example, by the LU factorization condition given in the pdf, we can write $Q=LU$, where $L$ and $U$ are lower and upper triangular, respectively. But such a condition cannot be written as a constraint and solved as an optimization problem. Furthermore, this condition will make the constraint non-linear. 
Any help or hint will be really useful. Also, even if linear constraint cannot be obtained, any SDP or convex constraint will also be fine. I hope I have made my doubt clear, but please let me know if there is anything to be added or edited.
 A: The following is a Biiinear Matrix Inequality (BMI) formulation, which is a non-convex problem, and may be very difficult to solve, especially if the matrix dimension is not very small. You will need a BMI solver, such as PENBMI, PENLAB, PENNON, ot YALMIP's BMIBNB. The latter will attempt to find a globally optimal solution, whereas the other solvers only attempt to find a locally optimal solution.
Declare $Q, B, s$ as optimization variables.
Impose the constraints:
$$B \ge 0 \text{ elementwise}$$
$$\|B\|_2 \le s \text { (this is the operator 2-norm, not the Frobenius norm)}$$
$$ (sI - B)Q = I$$
In YALMIP, the code would be basically
B = sdpvar(n,n,'full');
Q = sdpvar(n,n,'full');
s = sdpvar;
Constraints = [B(:) >= 0,norm(s*eye(n)-B) <= s,(s*eye(n)-B)*Q == eye(n)];
Constraints = [Constraints,<add any other constraints here>];
Objective = <provide the objective function here>
optimize(Constraints,Objective, sdpsettigns('solver','bmibnb') % use BMIBNB

or

optimize(Constraints,Objective,sdpsettigns('solver','penlab') % use PENLAB

A starting value (initial point) for the optimizer can be provided if known, and additional solver options can be specified.
