BookmarkSubscribeRSS Feed
wbrian
Calcite | Level 5

Dear all,

I want to solve Ax=b for A. i.e. x and b are known vectors A is unknown matrix. Please can anybody let me know how to find the matrix A by proc iml..

Thank you in advanced.

2 REPLIES 2
SteveDenham
Jade | Level 19

Try posting this in the IML Forum, as can give you a direct reference to the documentation or his blog where this has been discussed.

Steve Denham

Rick_SAS
SAS Super FREQ

Did you mis-state the problem? Usually A and b are known and you need to find x.

As you've stated it, the problem has infinitely many solutions when x is not identically zero.

Since x is not all zeros, there is some element x_i which is nonzero. Construct the matrix A that is zero everywhere except for the i_th column, where it has the value b/x_i.

For example:

proc iml;
x = T(4:0);
b = T(1:3);


i=1;  /* for this problem x[1] is nonzero */

A = j(nrow(b), nrow(x), 0);
A[,i] = b/x;

diff = A*x-b; /* compute A*x - b */
print diff;

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1034 views
  • 0 likes
  • 3 in conversation