<?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: ERROR: Overflow error in DET. in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476860#M4280</link>
    <description>&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;Thank you so much for the prompt response. The issue is solved and it's working.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 10 Jul 2018 15:50:50 GMT</pubDate>
    <dc:creator>rameezroshan</dc:creator>
    <dc:date>2018-07-10T15:50:50Z</dc:date>
    <item>
      <title>ERROR: Overflow error in DET.</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476838#M4278</link>
      <description>&lt;DIV class="dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;Please some one suggest me how to deal with large determinants in IML. How to solve this issue. This is a part of mixed model anaysis for genetic data. The random effect being individual animals. amatrix1 is numerator relationship matrix based on pedigree. bw5 is bodyweight. batch, pondno, gender are fixed effects.&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;72&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;73 proc iml;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: IML Ready&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;74 USE MAGUR;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;75 READ ALL VAR {BATCH} INTO BATCH;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;76 READ ALL VAR {PONDNO} INTO POND;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;77 READ ALL VAR {GENDER} INTO SEX;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;78 READ ALL VAR {BW5} INTO y1;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;79 x1=DESIGN(BATCH);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;79 ! x2=DESIGN(POND);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;79 ! x3=DESIGN(SEX);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;80 x4=x1||x2||x3;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;81 x5=J(154,15,0);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;82 x6=X5//X4;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;83 x7=J (NROW (x6),1,1)||x6;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;84 START matrank (x7);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;84 ! /** matrank computes matrix rank **/&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;85 matrank=ROUND (TRACE (x7*GINV(x7)));&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;86 RETURN (matrank);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;87 FINISH;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Module MATRANK defined.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;88 a=matrank (x7);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;89 y2=J(154,1,0);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;90 y=y2//y1;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;91 Z=I(1567);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;92 USE AMTRIX1;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;93 READ ALL VAR _all_ INTO am;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;94 *IA=INV(am);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;95 n = NROW (x7);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;96 ie =I (1567);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;97 pi = CONSTANT ("PI");&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;98 START reml (theta) GLOBAL (z,y,x6,am,ie,pi,n,a);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;99 /** Defining the function -2 (Log Likelihood) **/&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;100 sigma_a = theta[1, 1]*am;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;101 sigma_e = theta[1, 2]*ie;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;102 v = z*sigma_a*z` + sigma_e;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;103 /** Covariance matrix **/&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;104 vinv=inv(v);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;105 r=y-x6*GINV(x6`*vinv*x6)*x6`*vinv*y;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;106 prod=LOG(DET(v))+LOG(DET(x6`*vinv*x6))+&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;107 r`*vinv*r+(n-a)*LOG(2*pi);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;108 RETURN (prod);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;109 FINISH reml;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Module REML defined.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;110 /** MIVQUE (0) **/&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;111 p=ie-x7*GINV(x7);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;111 ! /** projection onto x **/;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;112 pz1=p*z*z`;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;113 pz2=p*ie;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;114 mat_a=(TRACE(pz1*pz1)||trace(pz1*pz2))//(TRACE(pz2*pz1)||trace(pz2*pz2));&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;115 mat_b=(y`*pz1*p`*y)//(y`*pz2*p*y);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;116 mivque0=(GINV(mat_a)*mat_b)`;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;117 print mivque0;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;118 *print reml;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;119 optn = {0 1};&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;120 con={ 0 0 };&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;121 CALL NLPNRR (rc, covs,"reml", mivque0,optn,con);&lt;/DIV&gt;&lt;DIV class="sasError"&gt;&lt;FONT color="#FF0000"&gt;ERROR: Overflow error in DET.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV class="sasError"&gt;&lt;FONT color="#FF0000"&gt;ERROR: Execution error as noted previously. (rc=100)&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;operation : DET at line 106 column 13&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;operands : v&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;v 1567 rows 1567 cols (numeric)&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;statement : ASSIGN at line 106 column 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;traceback : module REML at line 106 column 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasError"&gt;&lt;FONT color="#FF0000"&gt;ERROR: Execution error as noted previously. (rc=100)&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;operation : NLPNRR at line 121 column 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;operands : *LIT1023, mivque0, optn, con&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;*LIT1023 1 row 1 col (character, size 4)&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;reml&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;mivque0 1 row 2 cols (numeric)&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;468.80571 468.80571&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;optn 1 row 2 cols (numeric)&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;0 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;con 1 row 2 cols (numeric)&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;0 0&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;statement : CALL at line 121 column 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;122 PRINT covs;&lt;/DIV&gt;&lt;DIV class="sasError"&gt;ERROR: Matrix covs has not been set to a value.&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;statement : PRINT at line 122 column 1&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;123&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;124&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;125&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;126&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;127 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;140&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 10 Jul 2018 14:56:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476838#M4278</guid>
      <dc:creator>rameezroshan</dc:creator>
      <dc:date>2018-07-10T14:56:16Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Overflow error in DET.</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476851#M4279</link>
      <description>&lt;P&gt;Instead of computing the DET and then taking the LOG, compute the log-determinant directly by using the &lt;A href="http://go.documentation.sas.com/?docsetId=imlug&amp;amp;docsetTarget=imlug_langref_sect237.htm&amp;amp;docsetVersion=14.3&amp;amp;locale=en" target="_self"&gt;LOGABSDET function.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For an example, see &lt;A href="https://blogs.sas.com/content/iml/2014/10/20/log-determinant-of-a-matrix.html" target="_self"&gt;"Compute the log-determinant of an arbitrary matrix."&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Jul 2018 15:20:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476851#M4279</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2018-07-10T15:20:40Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Overflow error in DET.</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476860#M4280</link>
      <description>&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;Thank you so much for the prompt response. The issue is solved and it's working.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Jul 2018 15:50:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-Overflow-error-in-DET/m-p/476860#M4280</guid>
      <dc:creator>rameezroshan</dc:creator>
      <dc:date>2018-07-10T15:50:50Z</dc:date>
    </item>
  </channel>
</rss>

