Hello,
I would like to konw which method give the best result for the matrix with the number between 0 et 1:
==> I have two matrix A and B, 0<=Aij<=1, 0<= Bij<=1
Which metho gives the best results :
1- IML Proc
or
2- proc sql
do i=1 to L;
proc sql;
create table prod as
select (...)+(....) as Vi
t1 m ,Tran_t2 n;
quit;
end;
Any documentation for that are welcomed
For matrix computations, use IML.
Your title says "matrix product," by which I assume you want the standard matrix multiplication:
C = A*B;
However, read this article "Ways to multiply in the SAS/IML language" if you want a different product.
Thank you for your answer.
Yes, I want to do C=A*B
But, I can use IML proc or SQL proc , I have a small number.
Please, which method (IML or SQL) is better for the small number ?
As I said, you should use IML for matrix computations.
All SAS procedures use double precision computations. If your numbers are so small that you think the computation will result in a numerical overflow or underflow, it probably doesn't make a difference how you perform the computation. If you post the data and a sample program, we might be able to say more.
Thank you for your message.
As an exemple,
You can take
A= (Aij)==> 0<Aij<1
B = (Bij)==> 0<Bij<1
Methode 1: Using IML proc
C=A*B
Method 2: Using SQl poc
C= A*transpose(B)
For the precise problem , you'd better use IML's function XMULT() to calculate Matrix Product.
z = xmult(x,y);
print z;
Look like FORMAT is not good for displaying precision.
Thank you for your answer.
It is a good idea.
What's about the results found by sql proc ? C=A*transpose(B)
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.