Statistical programming, matrix languages, and more

Elementwise Product in Matrix

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Elementwise Product in Matrix

Hi everybody,

 

I hope this message finds you well.

I have a matrix, let's say MAT, and I would like to make the product of the elements on each row and output the resulting vector in VEC.

So VEC i = product MAT[ i , 1:NCOL(MAT)].

I simply figured it out using a do loop as follows:

     do i = 1 to nrow(MAT);
        do r = 1 to ncol(MAT);
          VEC [ i ,1]=VEC [i,1]*MAT[i,r];
       end;
    end;

 

But it takes too much time to run the above instructions since I have to run the same instructions 300,000 times (in different scenarios).

 

Do you have any better idea to optimize the runtime?

Thanks a lot in advance.

Raphaël

 


Accepted Solutions
Solution
‎11-10-2015 11:33 AM
SAS Super FREQ
Posts: 3,903

Re: Elementwise Product in Matrix

Posted in reply to NewbieRaph
vec = mat[ , #];

SAS/IML supports many elementwise operations. Two articles you might want to read are:

 

"Use subscript reduction operators"

and

"Compute statistics for each row by using subscript operators"

 

View solution in original post


All Replies
Solution
‎11-10-2015 11:33 AM
SAS Super FREQ
Posts: 3,903

Re: Elementwise Product in Matrix

Posted in reply to NewbieRaph
vec = mat[ , #];

SAS/IML supports many elementwise operations. Two articles you might want to read are:

 

"Use subscript reduction operators"

and

"Compute statistics for each row by using subscript operators"

 

Occasional Contributor
Posts: 5

Re: Elementwise Product in Matrix

[ Edited ]

Thanks Rick! :-)

It works perfectly and is 60 seconds faster for 20 scenarios.

You are my savior!

 I notice that you already posted it 3 years ago in your second link...

 

Raphael

 

 

SAS Super FREQ
Posts: 3,903

Re: Elementwise Product in Matrix

Posted in reply to NewbieRaph

Great. Remember to click the "Accept as Solution" button so that others can see that the question has been answered.

Occasional Contributor
Posts: 5

Re: Elementwise Product in Matrix

Done!!

 

Raphaël

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 380 views
  • 0 likes
  • 2 in conversation