Index: doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx
===================================================================
--- doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx	(revision b60446ed86f8f51f048a6dd0b8e471a279817520)
+++ doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx	(revision 2fa3a271b3fb877023f228846218d84cfdf0752d)
@@ -1,4 +1,4 @@
-#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
+#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 345
 \begin_document
 \begin_header
@@ -28,4 +28,8 @@
 \hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
 \end_preamble
+\use_default_options false
+\begin_modules
+theorems-ams
+\end_modules
 \language spanish
 \inputencoding auto
@@ -38,7 +42,9 @@
 \font_sf_scale 100
 \font_tt_scale 100
+
 \graphics default
 \paperfontsize default
 \spacing single
+\use_hyperref false
 \papersize default
 \use_geometry false
@@ -65,5 +71,6 @@
 
 \begin_layout Chapter
-\begin_inset LatexCommand label
+\begin_inset CommandInset label
+LatexCommand label
 name "cha:El-formato-ASCII-BSR"
 
@@ -84,5 +91,6 @@
 \begin_layout Standard
 La estructura de datos que deine un modelo bÃ¡sico BSR explicada en 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "sec:MÃ©todo-BysMcmc::Bsr::Gibbs::BasicMaster()"
 
@@ -110,6 +118,12 @@
 \begin_layout Standard
 En los directorios test_01, test_02 y test_03 disponibles en 
-\begin_inset LatexCommand htmlurl
-target "http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc/"
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc
+/
+\end_layout
 
 \end_inset
@@ -134,34 +148,43 @@
 status open
 
-\begin_layout Standard
-
-////////////////////////////////////////////////////////////////////////////////
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+///////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
 
 // Bayesian Sparsed Regression 
 \end_layout
 
-\begin_layout Standard
-
-////////////////////////////////////////////////////////////////////////////////
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+///////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+$BEGIN
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 Model.Name = "bysMcmc.test_03";
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Model.Description = 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "Randomly generation of a hierarchycal lineal model with these simple
@@ -170,5 +193,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "structure:
@@ -177,5 +200,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "  1: a set of K1 observational nodes with the same number n of variables
@@ -184,5 +207,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "     and data length m
@@ -191,5 +214,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "  2: a set of n latent nodes with one central parameter for each distinct
@@ -198,5 +221,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "     observational variable with specified standard deviation
@@ -205,5 +228,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "  3: a central prior equation for each latent variable with specified
@@ -212,5 +235,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "     standard deviation
@@ -219,5 +242,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "  4: a set of sparse linear inequalities over the observational variables
@@ -226,131 +249,131 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "";
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Session.Name = "RS_1483339472";
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Session.Description = 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 "Random seed=1483339472";
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Session.Authors = "vdebuen@tol-project.org";
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Regression Variables Declarations with initial values
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 NodeObs.1_Var.1 <- +0.53803037013858557;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.1_Var.2 <- +0.46934376657009125;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.1_Var.3 <- -0.22560517396777868;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.2_Var.1 <- +0.86625403119251132;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.2_Var.2 <- -0.15567512763664126;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.2_Var.3 <- -0.075121806003153324;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.1_Var.nu <- +0.15836594998836517;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.2_Var.nu <- -0.85943601280450821;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.3_Var.nu <- +0.18600673880428076;
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Regression Missing Input Declarations 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 MissInp.NodeObs.3.13 ? ~ Normal(0.896203693933785,0.2007952652551403);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 MissInp.NodeObs.6.30 ? ~ Normal(0.6046165255829692,0.09139028575200531);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 MissInp.NodeObs.3.2 ? ~ TruncatedNormal(0.9820013050921261,0.2410816408006598,0,9.8200
@@ -358,66 +381,66 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 MissInp.NodeObs.5.40 ? ~ Normal(-0.7318465355783701,0.1338998379095156);
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Regression Missing Output Declarations 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 MissOut.NodeObs.31 ? <- -0.4157893265383703;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 MissOut.NodeObs.40 ? <- -0.3029720514576624;
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Regression Residuals Declarations Normal(0,sigma^2)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 NodeObs.1_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
@@ -426,5 +449,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeObs.2_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
@@ -433,53 +456,53 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.1_Residuals[2] ~ Normal(0,0.03276045051869933);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.2_Residuals[2] ~ Normal(0,0.030080604978733022);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodeLat.3_Residuals[2] ~ Normal(0,0.010264774427016805);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NodePri.1_Residuals[3] ~ Normal(0,0.011844979275860658);
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Regression equations 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 +5.2435581658297865 == NodeObs.1_Residuals[1]; //Reg.Equ.1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +2.1913126132131682 == NodeObs.1_Residuals[2]+MissInp.NodeObs.3.2*NodeObs.1_Var.3
@@ -487,5 +510,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.12304427448649291 == NodeObs.1_Residuals[3]+0.63090779585763812*NodeObs.1_Var.1
@@ -493,5 +516,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -2.6088045980742529 == NodeObs.1_Residuals[4]-0.66879721963778138*NodeObs.1_Var.2
@@ -499,10 +522,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -6.0452993628906073 == NodeObs.1_Residuals[5]; //Reg.Equ.5
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -6.3822864805891921 == NodeObs.1_Residuals[6]+0.95094704767689109*NodeObs.1_Var.1
@@ -510,5 +533,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -6.6295145939371594 == NodeObs.1_Residuals[7]+0.93608348118141294*NodeObs.1_Var.1
@@ -516,5 +539,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -5.5561393799341996 == NodeObs.1_Residuals[8]+0.7666153940372169*NodeObs.1_Var.2
@@ -522,5 +545,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -3.1295982695386888 == NodeObs.1_Residuals[9]-0.56221867958083749*NodeObs.1_Var.1
@@ -528,10 +551,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.76951244117245921 == NodeObs.1_Residuals[10]; //Reg.Equ.10
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +2.9132946114405867 == NodeObs.1_Residuals[11]+0.95396953029558063*NodeObs.1_Var.3
@@ -539,5 +562,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +5.7416648977148181 == NodeObs.1_Residuals[12]-0.95996885281056166*NodeObs.1_Var.3
@@ -545,5 +568,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +6.3831794474164543 == NodeObs.1_Residuals[13]-0.64427804760634899*NodeObs.1_Var.2
@@ -551,5 +574,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +4.0282180180201248 == NodeObs.1_Residuals[14]-0.90212121233344078*NodeObs.1_Var.1
@@ -557,5 +580,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +4.3505297967804113 == NodeObs.1_Residuals[15]+0.85422466974705458*NodeObs.1_Var.1
@@ -563,5 +586,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -1.8762849597824245 == NodeObs.1_Residuals[16]-0.71285796910524368*NodeObs.1_Var.1
@@ -569,5 +592,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -5.6888365292228968 == NodeObs.1_Residuals[17]+0.98112034006044269*NodeObs.1_Var.2
@@ -575,10 +598,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -8.3673617279440613 == NodeObs.1_Residuals[18]; //Reg.Equ.18
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -8.0537960538725955 == NodeObs.1_Residuals[19]+0.52584361424669623*NodeObs.1_Var.2
@@ -586,5 +609,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -5.9263487197705214 == NodeObs.1_Residuals[20]-0.96396565064787865*NodeObs.1_Var.2
@@ -592,5 +615,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.6068887599917272 == NodeObs.2_Residuals[1]+0.56295138271525502*NodeObs.2_Var.2
@@ -598,5 +621,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +2.0939562031264218 == NodeObs.2_Residuals[2]+0.65345998154953122*NodeObs.2_Var.1
@@ -604,5 +627,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.60038804953399949 == NodeObs.2_Residuals[3]-0.84704046417027712*NodeObs.2_Var.2
@@ -610,5 +633,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -1.0713915154528588 == NodeObs.2_Residuals[4]-0.93844964541494846*NodeObs.2_Var.1
@@ -616,5 +639,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.32125826101136556 == NodeObs.2_Residuals[5]+0.51997147314250469*NodeObs.2_Var.1
@@ -622,5 +645,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.54762880703286565 == NodeObs.2_Residuals[6]-0.50578109361231327*NodeObs.2_Var.1
@@ -628,5 +651,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +2.4653275135908528 == NodeObs.2_Residuals[7]+0.54335346445441246*NodeObs.2_Var.1
@@ -635,5 +658,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.52714812684114365 == NodeObs.2_Residuals[8]+0.95070930058136582*NodeObs.2_Var.1
@@ -641,5 +664,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -1.0270370273766312 == NodeObs.2_Residuals[9]-0.88577614538371563*NodeObs.2_Var.1
@@ -647,5 +670,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.25652362241255156 == NodeObs.2_Residuals[10]-0.61568234255537391*NodeObs.2_Var.2
@@ -653,5 +676,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +MissOut.NodeObs.31 == NodeObs.2_Residuals[11]-0.73601436568424106*NodeObs.2_Var.3
@@ -659,10 +682,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.38486138593475 == NodeObs.2_Residuals[12]; //Reg.Equ.32
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.1153939096162494 == NodeObs.2_Residuals[13]-0.52979899849742651*NodeObs.2_Var.1
@@ -670,10 +693,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.20153337099189605 == NodeObs.2_Residuals[14]; //Reg.Equ.34
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.60618407368998284 == NodeObs.2_Residuals[15]-0.61933115171268582*NodeObs.2_Var.1
@@ -681,5 +704,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +1.0049067997452399 == NodeObs.2_Residuals[16]+0.86020477814599872*NodeObs.2_Var.2
@@ -687,5 +710,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.72396483131240752 == NodeObs.2_Residuals[17]+0.87632823176681995*NodeObs.2_Var.3
@@ -693,10 +716,10 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.27870237026751166 == NodeObs.2_Residuals[18]; //Reg.Equ.38
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.74122059405715657 == NodeObs.2_Residuals[19]-0.75435957591980696*NodeObs.2_Var.1
@@ -704,5 +727,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +MissOut.NodeObs.40 == NodeObs.2_Residuals[20]-0.72136184806004167*NodeObs.2_Var.1
@@ -710,134 +733,1029 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.1_Residuals[1]-NodeObs.1_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.41
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.1_Residuals[2]-NodeObs.2_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.42
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.2_Residuals[1]-NodeObs.1_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.43
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.2_Residuals[2]-NodeObs.2_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.44
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.3_Residuals[1]-NodeObs.1_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.45
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 0 == NodeLat.3_Residuals[2]-NodeObs.2_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.46
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.6096816505305469 == NodePri.1_Residuals[1]-NodeLat.1_Var.nu ; //Reg.Equ.47
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.66229855222627521 == NodePri.1_Residuals[2]-NodeLat.2_Var.nu ; //Reg.Equ.48
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.46403526607900858 == NodePri.1_Residuals[3]-NodeLat.3_Var.nu ; //Reg.Equ.49
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Restriction inequations 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
 +1.1888731951872438 >= +NodeObs.1_Var.1 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.50465998947620394 >= +NodeObs.1_Var.2 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.21083058095071464 >= +NodeObs.1_Var.3 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.9361133812088519 >= +NodeObs.2_Var.1 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.13837098166579381 >= +NodeObs.2_Var.2 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.0033603257639333584 >= +NodeObs.2_Var.3 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +1.1404310412146701 >= +NodeObs.1_Var.1 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.52799691481748601 >= +NodeObs.1_Var.2 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.73132390667684377 >= -NodeObs.1_Var.1 +NodeObs.1_Var.3 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +1.3114740782628398 >= -NodeObs.1_Var.2 +NodeObs.2_Var.1 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 +0.13644857598003002 >= -NodeObs.1_Var.3 +NodeObs.2_Var.2 ;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 -0.86476675785612311 >= -NodeObs.2_Var.1 +NodeObs.2_Var.3 ;
 \end_layout
 
-\begin_layout Standard
-
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+$END
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+API modular
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:API-modular"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Desde la versiÃ³n 2.0.1 de TOL es posible definir un modelo BSR de forma modular
+ para resolver tres problemas fundamentales:
+\end_layout
+
+\begin_layout Enumerate
+Por una parte, escribir explÃ­citamente las ecuaciones de nodos observacionales
+ densos y grandes es demasiado lento.
+ (Ver ticket #634) 
+\end_layout
+
+\begin_layout Enumerate
+Por otra parte, los modelos masivos con multitud de nodos requieren demasiados
+ recursos si se intentan cargar monolÃ­ticamente.
+ (Ver ticket #628) 
+\end_layout
+
+\begin_layout Enumerate
+AdemÃ¡s, la sintaxis actual no incorpora los filtros no lineales por loque
+ los medelos estÃ¡n inclompletos y no pueden ser ejecutados en sesiones TOL
+ ulteriores.
+\end_layout
+
+\begin_layout Standard
+Para resolver estos problemas se plantea un nuevo esquema en el que la idea
+ inicial serÃ¡ tener tres tipos de mÃ³dulos o archivos ASCII-BSR:
+\end_layout
+
+\begin_layout Enumerate
+
+\emph on
+primary
+\emph default
+: los mÃ³dulos primarios son capaces de leer un sÃ³lo segmento de regresiÃ³n
+ (nodo en el argot jerÃ¡rquico) basÃ¡ndose en cÃ³digo TOL para la construcciÃ³n
+ de la matriz.
+ Normalmente lo usaremos para nodos densos observacionales pero eso a BSR
+ no le importa en absoluto, pues no sabe quÃ© cosa es observacional ni latente
+ ni nada.
+ En esos mÃ³dulos sÃ³lo cabe pues un nodo, con su declaraciÃ³n de variables
+ lineales y missing, estructura de la varianza (sigma-ARIMA), sus filtros
+ no lineales y sus restricciones de desigualdad internas, es decir, todo
+ aquello que no afecta a ningÃºn otro.
+ Un mÃ³dulo primario puede funcionar de forma autÃ³noma, por ejemplo cuando
+ queremos simular un nodo observacional por sÃ­ mismo, sin tener en cuenta
+ estructuras jerÃ¡rquicas, a priori, ni nada por el estilo, aunque eso no
+ creo que se dÃ© muy a menudo, pues lo normal es que la menos haya informaciÃ³n
+ a priori.
+ 
+\end_layout
+
+\begin_layout Enumerate
+
+\emph on
+joint
+\emph default
+: los mÃ³dulos de mezcla serÃ­an los actualmente permitidos, llamados asÃ­
+ por su capacidad de mezclar variables de varios segmentos de regresiÃ³n.
+ Pueden funcionar autÃ³nomamente como hasta ahora, definiendo todas las variables
+ y ecuaciones de forma explÃ­cita, o bien integrarse dentro de un mÃ³dulo
+ mÃ¡ster que se encargue de cargar previamente las variables de las que depende.
+ 
+\end_layout
+
+\begin_layout Enumerate
+
+\emph on
+master
+\emph default
+: los mÃ³dulos maestros simplemente incluyen a otros mÃ³dulos de cualquier
+ tipo, incluidos otros maestros, si se desea tener los modelos estructurados
+ en varios niveles, de forma que en cada nivel cada uno de los sub-master
+ podrÃ­a ser ejecutado autÃ³nomamente.
+\end_layout
+
+\begin_layout Subsection
+Estructura del mÃ³dulo primario
+\end_layout
+
+\begin_layout Standard
+Un mÃ³dulos primario se definirÃ¡ del siguiente modo:
+\end_layout
+
+\begin_layout Enumerate
+En primer lugar se incluye una clÃ¡usula que indique el tipo de mÃ³dulo que
+ se va a definir
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Module.Type = primary;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+Las variables del bloque lineal se definen con la misma sintaxis que rige
+ actualmente para el mÃ³dulo joint.
+\end_layout
+
+\begin_layout Enumerate
+El segmento de regresiÃ³n es Ãºnico pero se define con la misma sintaxis que
+ en el mÃ³dulo joint.
+ En ambos casos hay una novedad: la posibilidad de introducir los filtros
+ no lineales si los hay en la propia definiciÃ³n del ruido.
+ La estructura del campo 
+\family typewriter
+NoiseDistrib
+\family default
+ serÃ¡ distinta a la actual 
+\family typewriter
+BSR.NoiseDistrib
+\family default
+ para que pueda incluir un nuevo campo en el que almacenar los filtros no
+ lineales.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Luego se introducirÃ¡n la matriz de output y la de input.
+ El orden de definiciÃ³n de las variables del bloque lineal debe coincidir
+ con el orden de las columnas en la matriz de inputs.
+\end_layout
+
+\begin_layout Enumerate
+DespuÃ©s se introducirÃ¡n si las hay, las variables de omitidos con una sintaxis
+ simular a la de los mÃ³dulos joint pero aÃ±adiÃ©ndoles la informaciÃ³n de su
+ ubicaciÃ³n en las matrices de input u output, las cuales deberÃ­an tener
+ un valor omitido en la celda correspondiente, cosa que debe por tanto comprobar
+se.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Por Ãºltimo se aÃ±adirÃ¡n si las hay, las restricciones de desigualdad sobre
+ las variables del bloque lineal.
+\end_layout
+
+\begin_layout Standard
+Obviamente el Import deberÃ¡ saber que estÃ¡ escribiendo un mÃ³dulo primario
+ y pedir las matrices en lugar de los coeficientes asÃ­ como la ubicaciÃ³n
+ de los omitidos.
+\end_layout
+
+\begin_layout Standard
+A continuaciÃ³n se presenta una plantilla de cÃ³mo podrÃ­a quedar el fichero
+ ASCII de un mÃ³dulo primario.
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
+inline false
+status open
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Bayesian Sparse Regression
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+$BEGIN
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Module.Type = primary;
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Model.Name = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Model.Description = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Session.Name = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Session.Description = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Session.Authors = "...";
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Defining header of Regression Variables
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+LinearBlk::<node_name>::<variable-name>::Coef <- 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  {+ or -}<initial value or ?>; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+...
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+LinearBlk::<node_name>::<variable-name>::Coef <- 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  {+ or -}<initial value or ?>;
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Defining header of Noise Distribution
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+<node_name>::Noise [length and optional time info]    
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+~ <distribution> 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Optional defininition of Non Linear Filters   
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+with non linear flters {'Set of NameBlock's expresion'};  
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Defining Regression Equations
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Output = {'Matrix or VMatrix expresion'};
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+Input = {'Matrix or VMatrix expresion'};
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Optional defininition of Ouput Missing Variables
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+MissingBlk::<MIXTURE or node name>::<missing_name> ? 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  at row <row_index> for output 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  ~ <distribution>;
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+...
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+MissingBlk::<MIXTURE or node name>::<missing_name> ? 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  at row <row_index> for output 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  ~ <distribution>;
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Defining defininition of Input Missing Variables
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+MissingBlk::<MIXTURE or node name>::<missing_name> ? 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  at row <row_index> for input <column_index> 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  ~ <distribution>; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+...
+ 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+MissingBlk::<MIXTURE or node name>::<missing_name> ? 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  at row <row_index> for input <column_index> 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  ~ <distribution>;
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+// Defining Parameter Constraints
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+{+|-}<number> {<=|>=} 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  ...
+ 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef; 
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+...
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+\end_layout
+
+\begin_layout Plain Layout
+\align left
+
+$END
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Cambios en la estructura del mÃ³dulo joint
+\end_layout
+
+\begin_layout Standard
+El mÃ³dulo joint se queda prÃ¡cticamente como estÃ¡ con estas salvedades:
+\end_layout
+
+\begin_layout Enumerate
+Es posible, aunque no obligatorio por compatibilidad hacia atrÃ¡s, especificar
+ el tipo de mÃ³dulo en la cabecera del archivo:
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Module.Type = joint;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+En un mÃ³dulo joint puede aparecer una referencia a una variable que ha sido
+ definida en otro mÃ³dulo previo.
+ El reconocedor sintÃ¡ctico permitirÃ¡ pues que aparezcan en las ecuaciones
+ e inecuaciones variables no definidas.
+ En la estructura BSR.LinearBlock se aÃ±ade un campo Real Extern cuyo valor
+ serÃ¡ puesto a TRUE en estos casos para que puedan resolverse mÃ¡s tarde
+ las referencias.
+\end_layout
+
+\begin_layout Subsection
+Mezcla de mÃ³dulos en el master
+\end_layout
+
+\begin_layout Standard
+El master debe ocuparse de mezclar los modelos o submodelos resultantes
+ de de los mÃ³dulos en un solo modelo BSR.
+ El modo de hacerlo depende del mecanismo de generaciÃ³n que se vaya a seguir,
+ que puede ser de dos formas
+\end_layout
+
+\begin_layout Subsubsection
+Mecanismo de generaciÃ³n monofase
+\end_layout
+
+\begin_layout Standard
+Es el Ãºnico mecanismo de generaciÃ³n implementado actualmente, en el que
+ todos los segmentos y variables lineales se aÃºnan en un solo sistema lineal
+ de ecuaciones sparse.
+\end_layout
+
+\begin_layout Standard
+En este caso los BSR.ModelDef que resultan de cada mÃ³dulo se deben agregar
+ en un sÃ³lo BSR.ModelDef que defina el modelo completo siguiendo los isguientes
+ pasos con sumo cuidado.
+ Se indicarÃ¡ al principio del mÃ³dulo mÃ¡ster mediante la sintaxis
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Modular.Schema = monophasic;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+La informaciÃ³n documental (campo DocInfo) que prevalece es la del mÃ³dulo
+ master mientras que la de los sub-mÃ³dulos simplemente se olvida.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se obtiene la lista conjunta de variables (campo {{{LinearBlock}}}) del
+ bloque lineal de cada uno de los mÃ³dulos sin repeticiones.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se reubican las posiciones de las variables en cada uno de los mÃ³dulos 1.
+ Se modifica el nÃºmero de columnas y las posiciones de las columnas de la
+ matriz X de inputs para hacerlas coincidir con la posiciÃ³n de las variables
+ en la lista global.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se modifica el nÃºmero de columnas y las posiciones de las columnas de la
+ matriz A de las inecuaciones para hacerlas coincidir con la posiciÃ³n de
+ las variables en la lista global.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se modifica el campo Col de los registros BSR.MissingBlock de definiciÃ³n
+ de omitidos del input en cada mÃ³dulo 1.
+ Se modifica el nÃºmero de filas y columnas de las matrices Cov, L y Li de
+ cada registro BSR.NoiseDistrib correspondiente a cada segmento, asÃ­ como
+ el conjunto de Ã­ndices EquIdx de las filas a las que correponde.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se concatenan las filas de las matrices Y[k], X[k], a[k], A[k] de todos
+ los mÃ³dulos en las correspondientes Y, X, a, A conjuntas.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Se concatenan los conjuntos de omitidos del input (campo InputMissingBlock)
+ y el output (campo OutputMissingBlock) 
+\end_layout
+
+\begin_layout Enumerate
+Se concatenan los conjuntos de segmentos de regresiÃ³n (campo NoiseDistrib)
+\end_layout
+
+\begin_layout Standard
+Intentar hacer todas estas operaciones mientras se estÃ¡ leyendo un BSR actual
+ es algo extremadamente complicado de implementar, pues algunas cosas aÃºn
+ no existen y otras estÃ¡n a medias, no se conocen algunas dimensiones, etc.
+ Precisamente por esta razÃ³n propongo todo este tema de la modularizaciÃ³n
+ de la sintaxis de los ficheros ASCII-BSR.
+\end_layout
+
+\begin_layout Subsubsection
+Mecanismo de generaciÃ³n multifase
+\end_layout
+
+\begin_layout Standard
+En este caso cada mÃ³dulo se generarÃ¡ condicionalmente al resto de mÃ³dulos,
+ bien secuencialmente, bien en paralelo cuando tal cosa sea posible.
+ Esto no es necesario que se implemente en una primera versiÃ³n pero se puede
+ ir adelantando algo del diseÃ±o.
+ Se indicarÃ¡ al principio del mÃ³dulo mÃ¡ster mediante la sintaxis
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+  Modular.Schema = sequential;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Ã³ bien
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+  Modular.Schema = parallel;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+segÃºn sea el caso.
+\end_layout
+
+\begin_layout Standard
+En ambos casos la mezcla de mÃ³dulos es distinta al caso de generaciÃ³n monofase,
+ pues en realildad no se hace agregaciÃ³n fÃ­sica de los mÃ³dulos sino que
+ simplemente se enlazarÃ¡n las dependencias de variables entre ellos para
+ que luego BSR pueda actualizar sus valores en las sucesivas simulaciones
+ condicionadas, de forma similar a como lo ahcÃ­a el antiguo HLM, del cual
+ se podrÃ¡n tomar bastantes ideas.
+\end_layout
+
+\begin_layout Subsubsection
+Plantilla de un mÃ³dulo master
+\end_layout
+
+\begin_layout Standard
+Aunque cada mÃ³dulo internamente especifica con la clÃ¡usula Module.Type de
+ que tipo de mÃ³dulo se trata es conveniente repetir esa informaciÃ³n en la
+ sentencia de inclusiÃ³n del mÃ³dulo hijo en el mÃ³dulo master para llamar
+ directamente al parser adecuado, ya que en realidad lo que habrÃ¡ es 3 parsers
+ distintos, el de mÃ³dulos primarios, el de los joint, que es bÃ¡sicamente
+ el actual y el de los masters.
+ La clÃ¡usula Module.Type puede usarse como mecanismo de control para evitar
+ posibles errores de diseÃ±o del modelo.
+ AsÃ­ podrÃ­a quedar la sintaxis de los mÃ³dulos master
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+// Bayesian Sparse Regression
+\end_layout
+
+\begin_layout Plain Layout
+
+/////////////////////////////////////////////////////////////////////////////
+\end_layout
+
+\begin_layout Plain Layout
+
+$BEGIN
+\end_layout
+
+\begin_layout Plain Layout
+
+Module.Type = master;
+\end_layout
+
+\begin_layout Plain Layout
+
+Model.Name = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+
+Model.Description = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+
+Session.Name = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+
+Session.Description = "..."; 
+\end_layout
+
+\begin_layout Plain Layout
+
+Session.Authors = "...";
+\end_layout
+
+\begin_layout Plain Layout
+
+Modular.Schema = { monophasic, sequential or parallel } ;
+\end_layout
+
+\begin_layout Plain Layout
+
+Include { primary, joint or master } module "file_relative_path.bsr" ; ...
+ Include { primary, joint or master } module "file_relative_path.bsr" ;
+\end_layout
+
+\begin_layout Plain Layout
+
+$END
 \end_layout
 
Index: doc/modeling/BSR/BSR_P2_S4_Import.lyx
===================================================================
--- doc/modeling/BSR/BSR_P2_S4_Import.lyx	(revision b60446ed86f8f51f048a6dd0b8e471a279817520)
+++ doc/modeling/BSR/BSR_P2_S4_Import.lyx	(revision 2fa3a271b3fb877023f228846218d84cfdf0752d)
@@ -1,4 +1,4 @@
-#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
+#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 345
 \begin_document
 \begin_header
@@ -28,4 +28,8 @@
 \hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
 \end_preamble
+\use_default_options false
+\begin_modules
+theorems-ams
+\end_modules
 \language spanish
 \inputencoding auto
@@ -38,7 +42,9 @@
 \font_sf_scale 100
 \font_tt_scale 100
+
 \graphics default
 \paperfontsize default
 \spacing single
+\use_hyperref false
 \papersize default
 \use_geometry false
@@ -65,5 +71,6 @@
 
 \begin_layout Chapter
-\begin_inset LatexCommand label
+\begin_inset CommandInset label
+LatexCommand label
 name "cha:BysMcmc::Bsr::Import"
 
@@ -103,5 +110,6 @@
  SemÃ¡nticamente esta orientado a los conceptos ya definidos en la secciÃ³n
  
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "sec:clase_modelos_BSR"
 
@@ -252,5 +260,6 @@
 
 
-\begin_inset LatexCommand label
+\begin_inset CommandInset label
+LatexCommand label
 name "eq:mod_exa_bsr"
 
@@ -272,20 +281,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Model.Name(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "BSRExample"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -308,20 +317,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Model.Description(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "Modelo simple ARMA(2,1)"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -355,20 +364,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Session.Name(Real void) 
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text _.session.id
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -392,25 +401,25 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Session.Description(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "Session "+_.session.id+" para el modelo: " +
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
        Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -434,20 +443,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Session.Authors(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "user@bayesforecast.com"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -472,20 +481,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Doc.Path(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text _.path.out
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -509,25 +518,25 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.LinReg.Size(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   // para el ejemplo actual solo tenemos un segmento de regresiÃ³n
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real 1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -558,5 +567,6 @@
 \family default
  lo describimos en la secciÃ³n 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "sec:API-segmento-BSR"
 
@@ -570,35 +580,35 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Get.LinReg.Segment(Real iS)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   // en este caso retornamos el NameBlock para el Ãºnico segmento
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   // que se modela para mas de un segmento de regresiÃ³n se suele
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   // usar un Set que es indexado por iS: _bsr.blocks[iS]
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   NameBlock _.bsr.ARMA.2_1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -622,5 +632,6 @@
  parametros de diferentes segmentos.
  En la secciÃ³n 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "sec:Restricciones-en-BSR"
 
@@ -637,30 +648,30 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Get.Constraints.Handler(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   // retornamos un NameBlock predefinido para el caso
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   // no restringido
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -683,65 +694,65 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Build.Example.BSR(Text path.out, Text session.id,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
                             Serie Y, Set X)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   NameBlock [[
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     Text _.path.out = path.out;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     Text _.session.id = session.id;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     NameBlock _.bsr.ARMA.2_1 = [[
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text _.dating.name = DatingName(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Date _.first = First(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Date _.last = Last(Y),
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Matrix _.Y = SerMat(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Matrix _.X = SerSetMat(X);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       /* ...
@@ -749,271 +760,271 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       /* aquÃ­ implementamos el NameBlock para el nodo de observaciÃ³n */
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     ]];
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Model.Name(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text "BSRExample"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Model.Description(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text "Modelo simple ARMA(3,1)"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Session.Name(Real void) 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text _.session.id
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Session.Description(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text "Session "+_.session.id+" para el modelo: " +
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
            Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Session.Authors(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text "user@bayesforecast.com"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Text Get.Doc.Path(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text _.path.output
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     Real Get.LinReg.Size(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // para el ejemplo actual solo tenemos un segmento de regresiÃ³n
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Real 1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     NameBlock Get.LinReg.Segment(Real iS)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // en este caso retornamos el NameBlock para el Ãºnico segmento
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // que se modela para mas de un segmento de regresiÃ³n se suele
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // usar un Set que es indexado por iS: _bsr.blocks[iS]
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       NameBlock _.bsr.ARMA.2_1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
     NameBlock Get.Constraints.Handler(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // retornamos un NameBlock predefinido para el caso
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       // no restringido
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     }
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   ]]
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1027,5 +1038,6 @@
 \begin_layout Section
 API del segmento BSR
-\begin_inset LatexCommand label
+\begin_inset CommandInset label
+LatexCommand label
 name "sec:API-segmento-BSR"
 
@@ -1053,20 +1065,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Name(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "ObsY"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1121,20 +1133,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Sigma2(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "sigma2"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1158,20 +1170,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set Get.TimeInfo(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1191,30 +1203,30 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct BSR.NoiseTimeInfo
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   TimeSet Dating,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Date FirstDate,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Date LastDate
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1250,5 +1262,6 @@
  de grado 2 Ã³ 1.
  Para el modelo 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "eq:mod_exa_bsr"
 
@@ -1262,20 +1275,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.ARIMA.Size(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real 1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 }; 
@@ -1316,35 +1329,35 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct ARIMAStruct
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real Periodicity,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Polyn AR,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Polyn MA,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Polyn DIF
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1354,5 +1367,6 @@
 
 Para el modelo 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "eq:mod_exa_bsr"
 
@@ -1365,20 +1379,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set Get.ARIMA.Factor(Real f)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1406,20 +1420,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Param.Size(Real void) 
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real Rows(_.X)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1464,25 +1478,25 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct Bsr.Param.Info
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text Name,              // identificador Ãºnico del parÃ¡metro
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real InitValue,         // valor inicial conocido o ?
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.LowerBound,  // cota inf.
@@ -1490,5 +1504,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.UpperBound   // cota sup.
@@ -1496,5 +1510,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };   
@@ -1521,20 +1535,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set Get.Param(Real iP)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set Bsr.Param.Info("beta_"+IntText(iP), Real Rand(0,1), -1/0, 1/0)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1559,20 +1573,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Missing.Size(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real 0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1611,30 +1625,30 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct Bsr.Missing.Info
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text Name,              // identificador Ãºnico para el valor missing
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.Average,     // prior media or initial value
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.Sigma,       // sigma del prior or +1/0 si no inf.
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.LowerBound,  // lÃ­mite inf.
@@ -1642,5 +1656,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Prior.UpperBound   // lÃ­mite sup.
@@ -1648,5 +1662,5 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };   
@@ -1661,20 +1675,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set Get.Missing(Real iP)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set Empty
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1701,25 +1715,25 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Equation.Size(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   // _.X e _.Y estÃ¡n dispuestas por filas
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real Columns(_.X);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1776,20 +1790,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Equation.Output(Real iE)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real MatDat(_.Y,1,iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1831,20 +1845,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Equation.Input.Size(Real iE)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real Rows(_.X)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1914,20 +1928,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.Equation.Input.Coef(Real iE, Real iT)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real MatDat(_.X, iT,iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -1962,20 +1976,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.Equation.Input.Param(Real iE, Real iT)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text "beta_"+IntText(iT)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2003,5 +2017,6 @@
  parametros de este segmentos.
  En la secciÃ³n 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "sec:Restricciones-en-BSR"
 
@@ -2010,5 +2025,6 @@
  se describe el API que debe satisfacerse.
  En el modelo planetado en 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "eq:mod_exa_bsr"
 
@@ -2025,20 +2041,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Get.Constraints.Handler(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   NameBlock Explicit.Constraints([["0>=-beta_1+beta_2"]])
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2052,5 +2068,6 @@
 \begin_layout Section
 Restricciones en BSR
-\begin_inset LatexCommand label
+\begin_inset CommandInset label
+LatexCommand label
 name "sec:Restricciones-en-BSR"
 
@@ -2089,40 +2106,40 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Lower <= Upper 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ////////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct Bsr.OrderRelation.Info
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text Lower, //Left parameter
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Text Upper  //Right parameter
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };  
@@ -2148,5 +2165,5 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 \family typewriter
@@ -2183,40 +2200,40 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ///////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // Coefficient * Parameter 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 //////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct Bsr.LinearCombTerm
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real Coefficient,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Text Parameter
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };   
@@ -2237,10 +2254,10 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ///////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 // LowerBound <= c_1*alfa_1 + ...
@@ -2248,35 +2265,35 @@
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ///////////////////////////////////////////////////////////////////
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Struct Bsr.GenericConstraint.Info
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real LowerBound, // cota inferior de la combinaciÃ³n lineal o -1/0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Set  LinearComb, // un conjutno de Bsr.LinearCombTerm
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real UpperBound  // cota superior de la combinaciÃ³n lineal o +1/0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2313,20 +2330,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.OrderRelation.Size (Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real 1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2364,20 +2381,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set  Get.OrderRelation (Real r)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set Bsr.OrdeRelation.Info("beta_2","beta_1")
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2407,20 +2424,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.GenericConstraint.Size (Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real 0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2467,40 +2484,40 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Set  Get.GenericConstraint (Real r)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Set Bsr.GenericConstraint.Info
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   ( 0.0,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     [[Set Bsr.LinearCombTerm(1.0,  "beta_1"),
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Set Bsr.LinearCombTerm(-1.0, "beta_2")]],
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     +1/0 )
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2531,20 +2548,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Real Get.ExplicitConstraint.Size(Real void)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real 0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2567,20 +2584,20 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 Text Get.ExplicitConstraint(Real r)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Text ""
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 };
@@ -2621,5 +2638,5 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Order.Relations([[Bsr.OrdeRelation.Info("beta_2","beta_1")]])
@@ -2651,50 +2668,50 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Generic.Constraints
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 (
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 [[
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Bsr.GenericConstraint.Info
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   ( 0.0,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     [[Set Bsr.LinearCombTerm(1.0,  "beta_1"),
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Set Bsr.LinearCombTerm(-1.0, "beta_2")]],
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     +1/0 )
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 ]]
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 )
@@ -2722,5 +2739,5 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Explicit.Constraints([["0<=+beta_1-beta_2"]])
@@ -2749,5 +2766,5 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Constraints(Empty,Empty,[["0<=+beta_1-beta_2"]])
@@ -2775,5 +2792,5 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Unconstrained(0)
@@ -2791,5 +2808,6 @@
 \begin_layout Standard
 El cÃ³digo completo para el ejemplo dado en las ecuaciones 
-\begin_inset LatexCommand ref
+\begin_inset CommandInset ref
+LatexCommand ref
 reference "eq:mod_exa_bsr"
 
@@ -2805,440 +2823,440 @@
 status open
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
 NameBlock Build.Example.BSR(Text path.out, Text session.id,
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
                             Serie Y, Set X)
 \end_layout
 
-\begin_layout Standard
-
-{
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\begin_layout Plain Layout
 
   Real beta1 = Rand(-1,1);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   Real beta2 = Rand(-1,beta1); 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
   NameBlock [[
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     Text _.path.out = path.out;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     Text _.session.id = session.id;
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
     NameBlock _.bsr.ARMA.2_1 = [[
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Text _.dating.name = DatingName(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       _.first = First(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       _.last = Last(Y),
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Matrix _.Y = SerMat(Y);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Matrix _.X = SerSetMat(X);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       Set _.beta.ini = [[beta1, beta2]];
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Text Get.Name(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Text "ObsY"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Text Get.Sigma2(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Text "sigma2"
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Set Get.TimeInfo(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.ARIMA.Size(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real 1
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Set Get.ARIMA.Factor(Real f)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Param.Size(Real void) 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real Rows(_.X)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Set Get.Param(Real iP)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real value = If(iP>2,Real Rand(-1,1),_.beta.ini[iP]);
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Set Bsr.Param.Info("beta_"+IntText(iP), value, -1/0, 1/0) 
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Missing.Size(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real 0
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Set Get.Missing(Real iP)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Set Empty
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Equation.Size(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         // _.X e _.Y estÃ¡n dispuestas por filas
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real Columns(_.X)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Equation.Output(Real iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real MatDat(_.Y,1,iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Equation.Input.Size(Real iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real Rows(_.X)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Real Get.Equation.Input.Coef(Real iE, Real iT)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Real MatDat(_.X, iT,iE)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       Text Get.Equation.Input.Param(Real iE, Real iT)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         Text "beta_"+IntText(iT)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       };
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
 
       NameBlock Get.Constraints.Handler(Real void)
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
       {
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 
         NameBlock BysMcmc::Bsr::Import::Explicit.Constraints([["0>=-beta1+beta2"]
@@ -3246,273 +3264,517 @@
 \end_layout
 
+\begin_layout Plain Layout
+
+      }
+\end_layout
+
+\begin_layout Plain Layout
+
+    ]];
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Model.Name(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text "BSRExample"
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Model.Description(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text "Modelo simple ARMA(2,1)"
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Session.Name(Real void) 
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text _.session.id
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Session.Description(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text "Session "+_.session.id+" para el modelo: " +
+\end_layout
+
+\begin_layout Plain Layout
+
+           Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Session.Authors(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text "user@bayesforecast.com"
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Text Get.Doc.Path(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      Text _.path.out
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    Real Get.LinReg.Size(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      // para el ejemplo actual solo tenemos un segmento de regresiÃ³n
+\end_layout
+
+\begin_layout Plain Layout
+
+      Real 1
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    NameBlock Get.LinReg.Segment(Real iS)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      // en este caso retornamos el NameBlock para el Ãºnico segmento
+\end_layout
+
+\begin_layout Plain Layout
+
+      // que se modela para mas de un segmento de regresiÃ³n se suele
+\end_layout
+
+\begin_layout Plain Layout
+
+      // usar un Set que es indexado por iS: _bsr.blocks[iS]
+\end_layout
+
+\begin_layout Plain Layout
+
+      NameBlock _.bsr.ARMA.2_1
+\end_layout
+
+\begin_layout Plain Layout
+
+    };
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+
+    NameBlock Get.Constraints.Handler(Real void)
+\end_layout
+
+\begin_layout Plain Layout
+
+    {
+\end_layout
+
+\begin_layout Plain Layout
+
+      // retornamos un NameBlock predefinido para el caso
+\end_layout
+
+\begin_layout Plain Layout
+
+      // no restringido
+\end_layout
+
+\begin_layout Plain Layout
+
+      NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
+\end_layout
+
+\begin_layout Plain Layout
+
+    }
+\end_layout
+
+\begin_layout Plain Layout
+
+  ]]
+\end_layout
+
+\begin_layout Plain Layout
+
+};
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+API modular
+\end_layout
+
 \begin_layout Standard
-
-      }
+Como se ha visto anteriormente 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:API-modular"
+
+\end_inset
+
+, desde la versiÃ³n 2.0.1 de TOL es posible definir un modelo BSR de forma
+ modular.
+ Para que el Import sea capaz de crear este tipo de expresiÃ³n de modeos
+ se le han aÃ±adido una serie mÃ©todos que entrarÃ¡n en acciÃ³n si el NameBlock
+ de definiciÃ³n del usuario implementa a su vez los siguientes mÃ©todos opcionales
+\end_layout
+
+\begin_layout Description
+Get.ModuleType retorna el tipo de mÃ³dulo que puede ser 
+\begin_inset Quotes eld
+\end_inset
+
+primary
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes erd
+\end_inset
+
+joint
+\begin_inset Quotes erd
+\end_inset
+
+ o 
+\begin_inset Quotes eld
+\end_inset
+
+master
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Si no existe mÃ©todo se sobreentiende 
+\begin_inset Quotes eld
+\end_inset
+
+joint
+\begin_inset Quotes erd
+\end_inset
+
+ para guardar compatibilidad hacia atrÃ¡s 
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Text Get.ModuleType(Real unused)
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
-
-    ]];
+Si se trata de un mÃ³dulo de tipo 
+\begin_inset Quotes eld
+\end_inset
+
+master
+\begin_inset Quotes erd
+\end_inset
+
+, entonces deberÃ¡ implementar estos mÃ©todos en lugar de los definidos en
+ la secciÃ³n anterior y que corresponden al actual 
+\begin_inset Quotes eld
+\end_inset
+
+joint
+\begin_inset Quotes erd
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+Get.Modular.Schema retorna el esquema modular o modo en el que se resolverÃ¡n
+ las simulaciones que puede ser 
+\begin_inset Quotes eld
+\end_inset
+
+monophasic
+\begin_inset Quotes erd
+\end_inset
+
+, 
+\begin_inset Quotes eld
+\end_inset
+
+sequential
+\begin_inset Quotes erd
+\end_inset
+
+ Ã³ 
+\begin_inset Quotes eld
+\end_inset
+
+parallel
+\begin_inset Quotes erd
+\end_inset
+
+ 
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Text Get.Modular.Schema(Real unused)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+Get.Modules retorna el conjunto de mÃ³dulos, cada uno de los cuales es un
+ NameBlock utilizable a su vez por el Import de forma recursiva 
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Set Get.Modules(Real unused)
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
+Si se trata de un mÃ³dulo de tipo 
+\begin_inset Quotes eld
+\end_inset
+
+primary
+\begin_inset Quotes erd
+\end_inset
+
+, entonces sÃ³lo puede tener un segmento el cual debe tener estos mÃ©todos
+ en lugar de los descritos en la secciÃ³n Get.Equation.Output, Get.Equation.Input.Size
+, Get.Equation.Input.Coef y Get.Equation.Input.Param 
+\end_layout
+
+\begin_layout Description
+Get.OutputVMatrix devuelve la matriz de output del segmento de regresiÃ³n
+ 
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+VMatrix Get.OutputVMatrix(Real unused)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+Get.InputVMatrix devuelve la matriz de input del segmento de regresiÃ³n 
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+VMatrix Get.InputVMatrix(Real unused)
+\end_layout
+
+\end_inset
+
 
 \end_layout
 
 \begin_layout Standard
-
-    Text Get.Doc.Model.Name(Real void)
+El mÃ©todo Get.Equation.Size se mantiene porque el reconocedor sintÃ¡ctico no
+ va a caragr la matriz y desconoce por tanto sus dimensiones.
 \end_layout
 
 \begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text "BSRExample"
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Text Get.Doc.Model.Description(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text "Modelo simple ARMA(2,1)"
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Text Get.Doc.Session.Name(Real void) 
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text _.session.id
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Text Get.Doc.Session.Description(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text "Session "+_.session.id+" para el modelo: " +
-\end_layout
-
-\begin_layout Standard
-
-           Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Text Get.Doc.Session.Authors(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text "user@bayesforecast.com"
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Text Get.Doc.Path(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      Text _.path.out
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    Real Get.LinReg.Size(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      // para el ejemplo actual solo tenemos un segmento de regresiÃ³n
-\end_layout
-
-\begin_layout Standard
-
-      Real 1
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    NameBlock Get.LinReg.Segment(Real iS)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      // en este caso retornamos el NameBlock para el Ãºnico segmento
-\end_layout
-
-\begin_layout Standard
-
-      // que se modela para mas de un segmento de regresiÃ³n se suele
-\end_layout
-
-\begin_layout Standard
-
-      // usar un Set que es indexado por iS: _bsr.blocks[iS]
-\end_layout
-
-\begin_layout Standard
-
-      NameBlock _.bsr.ARMA.2_1
-\end_layout
-
-\begin_layout Standard
-
-    };
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-    NameBlock Get.Constraints.Handler(Real void)
-\end_layout
-
-\begin_layout Standard
-
-    {
-\end_layout
-
-\begin_layout Standard
-
-      // retornamos un NameBlock predefinido para el caso
-\end_layout
-
-\begin_layout Standard
-
-      // no restringido
-\end_layout
-
-\begin_layout Standard
-
-      NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
-\end_layout
-
-\begin_layout Standard
-
-    }
-\end_layout
-
-\begin_layout Standard
-
-  ]]
-\end_layout
-
-\begin_layout Standard
-
-};
+Tanto en los mÃ³dulos 
+\begin_inset Quotes eld
+\end_inset
+
+primary
+\begin_inset Quotes erd
+\end_inset
+
+ como en los 
+\begin_inset Quotes eld
+\end_inset
+
+joint
+\begin_inset Quotes erd
+\end_inset
+
+ los segmentos pueden ahora aÃ±adir la informaciÃ³n referida a los fitrosno
+ lineales que antes se introducÃ­an a BSR de forma externa.
+ Para ello se deberÃ¡ definir el mÃ©todo
+\end_layout
+
+\begin_layout Description
+Get.NonLinearFilters Devuelve un conjunto de NameBlock's cada uno de los
+ cuales define un filtro no lineal sobre el mismo segmento
+\begin_inset listings
+lstparams "basicstyle={\small\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Set Get.NonLinearFilters(Real unused)
 \end_layout
 
