<?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 Re: Matrix is singular in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160228#M1475</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Rick for your detailed answer!&lt;/P&gt;&lt;P&gt;I really appreciate your help!&lt;/P&gt;&lt;P&gt;It's really interesting and helpful what you wrote.&lt;/P&gt;&lt;P&gt;When I looked at 'SINGULAR' with your help..I saw that &lt;STRONG&gt;the last 20&lt;/STRONG&gt; simulated observations were marching off to infinity,&lt;/P&gt;&lt;P&gt;So..when I simulated 220 instead of 240 obs everything went well..I got 10000 results as I wanted.&lt;/P&gt;&lt;P&gt;Well, I have to think why and how just the last 20 out of 240 simulated results caused the problem?&lt;/P&gt;&lt;P&gt;Is it technical problem?&lt;/P&gt;&lt;P&gt;I'll appreciate your opinion.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Orit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Feb 2014 10:03:30 GMT</pubDate>
    <dc:creator>oriti</dc:creator>
    <dc:date>2014-02-04T10:03:30Z</dc:date>
    <item>
      <title>Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160225#M1472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Dear all,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have a simulation which in some point it&lt;STRONG&gt; stopped&lt;/STRONG&gt; because I get singular matrix.&lt;/P&gt;&lt;P&gt;I read Rick wonderful post about the rareness of singularity (&lt;A href="http://blogs.sas.com/content/iml/2011/09/28/what-is-the-chance-that-a-random-matrix-is-singular/" title="http://blogs.sas.com/content/iml/2011/09/28/what-is-the-chance-that-a-random-matrix-is-singular/"&gt; What is the chance that a random matrix is singular? - The DO Loop&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;so it really puzzled me that I get singular matrix.&lt;/P&gt;&lt;P&gt;After discussion in the forum&lt;/P&gt;&lt;P&gt;(checking Rick assumption about the var-covar matrix in the program which has one small eigenvalue)&lt;/P&gt;&lt;P&gt;and thinking again about the model I conclude that &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;my problem is technical&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;So..&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;How can I force SAS to inverse a matrix?&amp;nbsp; The chance that the det=0 is zero..&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;How can I continue with the simulation without that singular matrix? and how can I print the singular matrix or X data? &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Thank you all in advance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I enclose the code&lt;/P&gt;&lt;P&gt;proc iml;&lt;/P&gt;&lt;P&gt;n=10000;&lt;/P&gt;&lt;P&gt;b=j(6,n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do j=1 to n;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtl=j(240, 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsl=j(240, 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y=j(240, 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtl[1,1]=0.000844;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsl[1,1] =2.78896;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y[1,1] =-0.064516129;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a=0.01095 ;*first regression*;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k=0.41450;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ka=0.01349;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kb=0.05634;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kc=-0.00228 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kd=-40.63877;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c=-0.00678; *second regression*;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e=0.07520;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d=0.94798;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h=-1.73592;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m=-0.00013407; *third regression*;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l=0.00144;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q=-0.00046335;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r=0.99109;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /** specify the mean and covariance of the population errors **/&lt;/P&gt;&lt;P&gt;&amp;nbsp; Mean = {0, 0, 0};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cov = {0.0047067768 0.0008647583 0.0000199767, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0008647583 0.0081750097 0.0000391468,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 0.0000199767 0.0000391468 0.0000022146}; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; NumSamples = 240;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call randseed(0);&amp;nbsp; /** set seed for the RandNormal module **/&lt;/P&gt;&lt;P&gt;&amp;nbsp; U = RandNormal(NumSamples, Mean, Cov);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=2 to 240;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y[i,1]=a+k*y[(i-1),1]+ka*xsl[(i-1),1]+kb*xtl[(i-1),1]+kc*xsl[(i-1),1]##2+kd*xtl[(i-1),1]##2+u[i,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsl[i,1]=c+e*y[(i-1),1]+d*xsl[(i-1),1]+h*xtl[(i-1),1]+u[i,2];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtl[i,1]=m+l*y[(i-1),1]+q*xsl[(i-1),1]+r*xtl[(i-1),1]+u[i,3];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ylag=lag(y);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsl2=xsl##2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtl2=xtl##2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Step 1: Compute X`X and X`y */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = j(nrow(y), 1, 1) || ylag || xsl|| xtl || xsl2||xtl2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* add intercept column */&lt;/P&gt;&lt;P&gt;&amp;nbsp; v = {1};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* specify rows to exclude&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; idx = setdif(1:nrow(x), v);&amp;nbsp; /* start with 1:240, exclude values in v */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xnew = x[idx, ];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* extract submatrix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;xpx = xnew`* xnew;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* cross-products&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp; v = {1};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* specify rows to exclude&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; idy = setdif(1:nrow(y), v);&amp;nbsp; /* start with 1:5, exclude values in v */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ynew = y[idx, ];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* extract submatrix*/ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; xpy = xnew` * ynew;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt; &lt;STRONG&gt; xpxi = inv(xpx); /* form inverse crossproducts */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt; b[,j] = xpxi * xpy; /* solve for parameter estimates */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; *b[,j]= solve(xpx, xpy);/* another way which is more efficient*/;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; bt=b`;&lt;/P&gt;&lt;P&gt;&amp;nbsp; varNames = "b0":"b5";&lt;/P&gt;&lt;P&gt;&amp;nbsp; experiment="Sim1":"Sim10000";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print bt[colname=varNames &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowname=experiment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label=" Model"];&lt;/P&gt;&lt;P&gt;&amp;nbsp; quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Feb 2014 09:49:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160225#M1472</guid>
      <dc:creator>oriti</dc:creator>
      <dc:date>2014-02-03T09:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160226#M1473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sure would be helpful to know which step of this long program produced the error message that a matrix was singular.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your covariance matrix has a determinant that is close to zero, that may be part of the problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Feb 2014 14:17:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160226#M1473</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2014-02-03T14:17:54Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160227#M1474</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are misreading my blog post.&amp;nbsp; In my post I generated matrices with elements drawn from a uniform or normal distribution, and showed that the (mathematical) probability of getting a singular matrix is zero (although in finite-precision arithmetic the probability in nonzero).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That is not what you are doing here. You are simulating a timne series model and using a (nearly singular) covariance matrix to generate correlated random errors for the sinulation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your problem is blowing up because your time series model is diverging to infinity. IFirst, use a nonzero seed so that you can reproduce the results consistently:&lt;/P&gt;&lt;P&gt;call randseed(1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next, insert the following code before you compute the inverse:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if abs(det(xpx))&amp;lt;1e-6 then do; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; z = ynew || xnew;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; create SINGULAR from z[c={Y Int Ylag xsl xtl xsl2 xtl2}];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; append from z;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; close SINGULAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; create U from U[c={U1 U2 U3}];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; append from U;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; close U;&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you look at the SINGULAR data set that is created, you will see that the Y, YLag, XSL, and XTL variables are all marching off to infinity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know how you want to deal with this problem in your model. If you want to ignore the trajectories that diverge, you can use IF(abs(DET(xpx)))&amp;gt;0&amp;nbsp; to protect the code that computes the parameter estimates. You will have missing values for the bad trajectories.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Feb 2014 14:30:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160227#M1474</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2014-02-03T14:30:49Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160228#M1475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Rick for your detailed answer!&lt;/P&gt;&lt;P&gt;I really appreciate your help!&lt;/P&gt;&lt;P&gt;It's really interesting and helpful what you wrote.&lt;/P&gt;&lt;P&gt;When I looked at 'SINGULAR' with your help..I saw that &lt;STRONG&gt;the last 20&lt;/STRONG&gt; simulated observations were marching off to infinity,&lt;/P&gt;&lt;P&gt;So..when I simulated 220 instead of 240 obs everything went well..I got 10000 results as I wanted.&lt;/P&gt;&lt;P&gt;Well, I have to think why and how just the last 20 out of 240 simulated results caused the problem?&lt;/P&gt;&lt;P&gt;Is it technical problem?&lt;/P&gt;&lt;P&gt;I'll appreciate your opinion.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Orit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Feb 2014 10:03:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160228#M1475</guid>
      <dc:creator>oriti</dc:creator>
      <dc:date>2014-02-04T10:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160229#M1476</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's not a technical problem, it is a mathematical problem. An iterated dynamical system will have a deterministic long-term behavior (bounded or diverging). When you add a stochastic component, you introduce a probability that the system will diverge, even if the deterministic system remains bounded.&amp;nbsp; You can read the main ideas here: &lt;A href="http://blogs.sas.com/content/iml/2012/06/13/convergence-or-divergence-a-simple-iteration-with-a-random-component/" title="http://blogs.sas.com/content/iml/2012/06/13/convergence-or-divergence-a-simple-iteration-with-a-random-component/"&gt; Convergence or divergence? A simple iteration with a random component - The DO Loop&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A simpler model is a random walk game. Let's play a game where you flip a coin 20 times. You move 1 meter forward whenever the coin is heads; you move 1 meter backwards whenever the coin is tails. Now suppose you begin each game 10 meters aways from the edge of a cliff which has a deadly 1000-foot drop.&amp;nbsp; You will probably be able to play the game for a long time, but the more you play the more you risk encountering an unlucky string of heads that plunge you off the cliff!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Feb 2014 15:16:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160229#M1476</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2014-02-04T15:16:05Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix is singular</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160230#M1477</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Really interesting!&lt;/P&gt;&lt;P&gt;Thank you Rick!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Feb 2014 19:37:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Matrix-is-singular/m-p/160230#M1477</guid>
      <dc:creator>oriti</dc:creator>
      <dc:date>2014-02-04T19:37:58Z</dc:date>
    </item>
  </channel>
</rss>

