<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Error with module in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891233#M6048</link>
    <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having a nightmare!!!&lt;/P&gt;&lt;P&gt;I am having an error with part of my code. I believe that I know what is the error message means but I can't figure out how to solve it. I checked everything, I printed every value to make sure that it is well defined and yet once SAS reached that statement, it doesn't execute it!!!&lt;/P&gt;&lt;P&gt;Please help me.&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;proc iml;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;seed=22;&amp;nbsp; theta1=0.1; theta2=0.5;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;NN=5;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;case=1; n1=20;&amp;nbsp; m1=5; k=J(m1,1,0); K[1]=n1-m1;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;******************************************************************************;&lt;/DIV&gt;&lt;DIV&gt;start Uniform_p(m,R)&amp;nbsp; global(seed);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;** The Required Progressively Type-II from U(0,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;V=J(m,1,0); U=J(m,1,0);W=J(m,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Call randseed(seed);&lt;/DIV&gt;&lt;DIV&gt;Call randgen(W, "Uniform");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do i=1 to m;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do j=m-i+1 to m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=Sum+R[j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=Sum+i;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;V[i]=W[i]**(1/Sum);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do i=1 to m;&lt;/DIV&gt;&lt;DIV&gt;U[i]=1-prod ( V[m: (m-i+1)]&amp;nbsp; &amp;nbsp;);&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Call sort (U);&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;return U;&lt;/DIV&gt;&lt;DIV&gt;Finish;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;********************************************************************;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Start Adaptive(X, T, n, m, R,theta) ;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do idx=1 to m-1;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If (( X[idx] &amp;lt; T) &amp;amp; (T &amp;lt;= X[idx+1] )) then j=idx;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If X[m]&amp;gt;T then&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;W=Uniform_p(m-j,R);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_m_j = T - theta*log(1-W);&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_Adptive= X[1:j]//X_m_j;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RJ=R((m-j),1,0); RJ[(m-j)]=n-m-sum(R[1:J]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newR=R[1:J]//RJ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;else&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;j= m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newR=R;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_Adptive=X;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;P1=[X_Adptive,j,newR];&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;return P1;&lt;/DIV&gt;&lt;DIV&gt;Finish;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do JJ=1 to NN;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X=J(m1,1,0); X_ADP=J(m1,1,0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X = - theta1 * log (1- uniform_p(m1,K));&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;T1=X[Floor(4*m1/5)];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;AdaptiveResX=Adaptive(X, T1,n1,m1,K,theta1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_ADP=AdaptiveResX$1;* This is my Adaptive IIPH that I will use to find MLEs;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;J1=AdaptiveResX$2;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newK=AdaptiveResX$3;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print J1 K newK ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;Quit;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 27 Aug 2023 09:08:47 GMT</pubDate>
    <dc:creator>Salah</dc:creator>
    <dc:date>2023-08-27T09:08:47Z</dc:date>
    <item>
      <title>Error with module</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891233#M6048</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having a nightmare!!!&lt;/P&gt;&lt;P&gt;I am having an error with part of my code. I believe that I know what is the error message means but I can't figure out how to solve it. I checked everything, I printed every value to make sure that it is well defined and yet once SAS reached that statement, it doesn't execute it!!!&lt;/P&gt;&lt;P&gt;Please help me.&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;proc iml;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;seed=22;&amp;nbsp; theta1=0.1; theta2=0.5;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;NN=5;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;case=1; n1=20;&amp;nbsp; m1=5; k=J(m1,1,0); K[1]=n1-m1;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;******************************************************************************;&lt;/DIV&gt;&lt;DIV&gt;start Uniform_p(m,R)&amp;nbsp; global(seed);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;** The Required Progressively Type-II from U(0,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;V=J(m,1,0); U=J(m,1,0);W=J(m,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Call randseed(seed);&lt;/DIV&gt;&lt;DIV&gt;Call randgen(W, "Uniform");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do i=1 to m;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do j=m-i+1 to m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=Sum+R[j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Sum=Sum+i;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;V[i]=W[i]**(1/Sum);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do i=1 to m;&lt;/DIV&gt;&lt;DIV&gt;U[i]=1-prod ( V[m: (m-i+1)]&amp;nbsp; &amp;nbsp;);&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Call sort (U);&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;return U;&lt;/DIV&gt;&lt;DIV&gt;Finish;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;********************************************************************;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Start Adaptive(X, T, n, m, R,theta) ;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do idx=1 to m-1;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If (( X[idx] &amp;lt; T) &amp;amp; (T &amp;lt;= X[idx+1] )) then j=idx;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If X[m]&amp;gt;T then&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;W=Uniform_p(m-j,R);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_m_j = T - theta*log(1-W);&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_Adptive= X[1:j]//X_m_j;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RJ=R((m-j),1,0); RJ[(m-j)]=n-m-sum(R[1:J]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newR=R[1:J]//RJ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;else&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;j= m;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newR=R;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_Adptive=X;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;End;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;P1=[X_Adptive,j,newR];&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;return P1;&lt;/DIV&gt;&lt;DIV&gt;Finish;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Do JJ=1 to NN;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X=J(m1,1,0); X_ADP=J(m1,1,0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X = - theta1 * log (1- uniform_p(m1,K));&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;T1=X[Floor(4*m1/5)];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;AdaptiveResX=Adaptive(X, T1,n1,m1,K,theta1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;X_ADP=AdaptiveResX$1;* This is my Adaptive IIPH that I will use to find MLEs;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;J1=AdaptiveResX$2;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;newK=AdaptiveResX$3;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print J1 K newK ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;End;&lt;/DIV&gt;&lt;DIV&gt;Quit;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 27 Aug 2023 09:08:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891233#M6048</guid>
      <dc:creator>Salah</dc:creator>
      <dc:date>2023-08-27T09:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: Error with module</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891238#M6049</link>
      <description>&lt;P&gt;The error is&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ERROR: Invocation of unresolved module R.&lt;/P&gt;
&lt;P&gt;statement : ASSIGN at line 17681 column 1&lt;BR /&gt;traceback : module ADAPTIVE at line 17681 column 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error occurs because of the invalid statement:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;RJ=R((m-j),1,0);&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The SAS IML language thinks you want to call a function module named R that has three arguments.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I don't know what you intended, but perhaps something like&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;RJ=j((m-j),1,0);&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 27 Aug 2023 10:45:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891238#M6049</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2023-08-27T10:45:41Z</dc:date>
    </item>
    <item>
      <title>Re: Error with module</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891239#M6050</link>
      <description>&lt;P&gt;By the way, you can make your posts easier to read and to copy/paste if you use the "Running Man" icon to paste your SAS programs into the post. For example, you can get your code to look like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc iml;
 seed=22;  theta1=0.1; theta2=0.5;
 ...
QUIT&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This will make it easier for others to read your questions.&lt;/P&gt;</description>
      <pubDate>Sun, 27 Aug 2023 10:55:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Error-with-module/m-p/891239#M6050</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2023-08-27T10:55:36Z</dc:date>
    </item>
  </channel>
</rss>

