LMI in Matlab scaling to improve condition number?

In summary, LMI (Linear Matrix Inequality) scaling is a technique used in Matlab to improve the condition number of a matrix. This is achieved by scaling the matrix with a positive definite matrix, which reduces the range of values in the matrix and makes it more well-conditioned. This approach is particularly useful for solving optimization problems with LMI constraints, as it can improve the accuracy and efficiency of the solution. Overall, LMI scaling is an important tool for ensuring the stability and reliability of numerical computations in Matlab.
  • #1
ytht100
20
0
A=[ 8147 6324 9575 9572
9058 0975 9649 4854
1270 2785 1576 8003
9134 5469 9706 1419];

D=diag([T^(-3)*L^2 T^(-3)*L^2 T^(-1)*L T^0*L^0]);

I have matrix A whose first two columns are of the units T^3/L^2, third columns unit is T/L, and the last column is non-dimensional. T is time and L is length.

Therefore, if I give different (including non-integer) units to T and L by multiplying A with D for scaling A, I have different resulting matrix A*D with different condition number.

Question: how can obtain an optimal T and L?

Attempted solutions: 1, it seems like an optimization problem. But I don't know how to optimize it, I don't know how to obtain the gradient? The real situation has much bigger A, therefore can't be solved analytically for eigenvalue, therefore can'b be solved analytically for condition number.
2, it seems the problem can be converted into Linear Matrix Inequalities for solution in Matlab (http://users.isy.liu.se/rt/andersh/teaching/lmi.pdf). But I don't know exactly how? Specifically, I don't know to code the problem into a style of https://www.mathworks.com/help/robust/lmis.html.

Could you please provide any suggestions? I am stucked weeks on this problem.
 
Physics news on Phys.org
  • #2
Can you provide some context here?

What is it you’re trying to solve?

Is this a physics problem? Is it homework?

Did it come from some book?

Is it something for your work or research?

One way to optimiz is to try a range of values for t and for l and then see which one gives you the best results.

It’s not clear to me what best results means in this case. Is the determinate of the AD product at a minimal value? Or something else entirely?
 
  • #3
It is my own research. I am trying to solve a kind of least-square problem. If you see the link I provided above (http://users.isy.liu.se/rt/andersh/teaching/lmi.pdf) you will understand more what I am talking about. Also you can read the book of Byod (https://people.eecs.berkeley.edu/~elghaoui/Pubs/lmibook.pdf, page37-38) you will understand more.

Actually the question does NOT need a context because it is a basic and fundamental math problem.

I can understand your suggestion "One way to optimiz is to try a range of values for t and for l and then see which one gives you the best results.", your suggestion is a kind of global optimization method such as genetic algorithm. I am looking for a gradient-based method or Matlab's LMI-based method.

As I have said in the topic, the best result means the smallest condition number.
 
Last edited:

1. What is LMI in Matlab?

LMI stands for Linear Matrix Inequality, which is a mathematical tool used in control systems and optimization problems. In Matlab, LMI is a built-in function that allows users to solve LMI problems efficiently.

2. How does LMI scaling improve condition number in Matlab?

LMI scaling is a technique used to improve the numerical stability of LMI problems. It involves multiplying the original LMI constraints by a scaling matrix to reduce the condition number, which is a measure of the sensitivity of a matrix's eigenvalues to small perturbations. This results in a better-conditioned LMI problem that can be solved more accurately.

3. What is the condition number of a matrix?

The condition number of a matrix is a measure of how sensitive the matrix's eigenvalues are to small changes in its elements. A higher condition number indicates that small changes in the matrix can result in significant changes in its eigenvalues, making it more difficult to solve numerically.

4. How does a high condition number affect the solution of an LMI problem?

A high condition number can make it challenging to solve an LMI problem accurately. It can lead to numerical errors and instability in the solution, making it difficult to determine if the solution is feasible or not. This is why LMI scaling is often used to improve the condition number and obtain more reliable solutions.

5. Can LMI scaling be applied to all LMI problems in Matlab?

Yes, LMI scaling can be applied to any LMI problem in Matlab. However, the effectiveness of scaling may vary depending on the specific problem and the choice of scaling matrix. It is recommended to experiment with different scaling options to find the most suitable one for a particular LMI problem.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
2
Views
3K
Back
Top