I have a system which I assume is linear. I have a matrix $A$ of which each row is a coefficient of a unknown variables in vector $x$. I have vector $B$ which contains the result of each $Ax$.

Solving this system I can obtain the vector x.

Question: How do I obtain the smallest set of variables in $A$ which result in accurate computation of $b$ ?. i.e., how do I eliminate variables which don't contribute useful information to the solution?

  • $\begingroup$ Hi Kobrien, and welcome to scicomp! Have you ever heard of Principal Component Analysis? en.wikipedia.org/wiki/Principal_component_analysis $\endgroup$ – Paul Mar 10 '13 at 18:17
  • $\begingroup$ @Paul Hi, I've heard it mentioned, but being a computer scientist, I've no background in this sort of thing. Thanks for the link. $\endgroup$ – kobrien Mar 10 '13 at 18:35

The problem you are discussing sounds like model order reduction (also called "model reduction"). Principal component analysis (also called Proper Orthogonal Decomposition, Karhunen-Loeve analysis, and other names) is one way of achieving model order reduction by imposing certain assumptions that reduce a problem to a singular value decomposition. There are other methods out there, including but not limited to:

  • balanced truncation
  • trajectory piecewise linearization (TPWL)
  • discrete empirical interpolation method (DEIM) and its related continuous method, the empirical interpolation method (EIM)

Depending on the assumptions you want to make, you will get different reduced order models, each with different associated approximation errors. If error is important to you, I urge you to do some research to determine if the model order reduction method you use is accurate and appropriate for your linear system. (Error is still an open problem, but for now, you can test a couple different methods and compare to see which ones give you better or worse results on a battery of representative problems for your application.)

| cite | improve this answer | |

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.