source: tol/doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx

devel
Last change on this file was 2fa3a27, checked in by Víctor de Buen <vdebuen@…>, 17 years ago

Documentación de la nueva API modular

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1468 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 36.9 KB
Line 
1#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
2\lyxformat 345
3\begin_document
4\begin_header
5\textclass amsbook
6\begin_preamble
7\usepackage{a4wide}
8%\documentclass[spanish]{article}
9\usepackage{babel}
10\usepackage{a4wide}
11\usepackage{varioref}
12\usepackage{amssymb}
13\usepackage{latexsym}
14\usepackage{amssymb}
15\usepackage{amsmath}
16
17\usepackage{graphics}
18\usepackage{graphicx}
19\usepackage{ulem}
20\usepackage{color}
21\usepackage{multicol}
22\usepackage{longtable}
23
24%\usepackage{makeidx}
25\usepackage{hyperref}
26\makeindex
27
28\hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
29\end_preamble
30\use_default_options false
31\begin_modules
32theorems-ams
33\end_modules
34\language spanish
35\inputencoding auto
36\font_roman default
37\font_sans default
38\font_typewriter default
39\font_default_family default
40\font_sc false
41\font_osf false
42\font_sf_scale 100
43\font_tt_scale 100
44
45\graphics default
46\paperfontsize default
47\spacing single
48\use_hyperref false
49\papersize default
50\use_geometry false
51\use_amsmath 1
52\use_esint 0
53\cite_engine basic
54\use_bibtopic false
55\paperorientation portrait
56\secnumdepth 3
57\tocdepth 3
58\paragraph_separation indent
59\defskip medskip
60\quotes_language english
61\papercolumns 1
62\papersides 1
63\paperpagestyle default
64\tracking_changes false
65\output_changes false
66\author ""
67\author ""
68\end_header
69
70\begin_body
71
72\begin_layout Chapter
73\begin_inset CommandInset label
74LatexCommand label
75name "cha:El-formato-ASCII-BSR"
76
77\end_inset
78
79El formato ASCII-BSR
80\end_layout
81
82\begin_layout Standard
83Se describe el formato ASCII-BSR de definición de modelos con la función
84 built-in BSR.Parse
85\end_layout
86
87\begin_layout Section
88Descripción
89\end_layout
90
91\begin_layout Standard
92La estructura de datos que deine un modelo básico BSR explicada en
93\begin_inset CommandInset ref
94LatexCommand ref
95reference "sec:Método-BysMcmc::Bsr::Gibbs::BasicMaster()"
96
97\end_inset
98
99 está diseñada para la máxima eficiencia en la simulación de todos los bloques,
100 pero es realmente complicada de manejar por el analista, e incluso por
101 sistemas automatizados escritos en TOL, es muy difícil de manejar y visualizar
102 y es prácticamente imposible de mantener en un sistema en producción.
103\end_layout
104
105\begin_layout Standard
106Para paliar este problema existe un formato de definición de modelos en
107 ficheros ASCII con extensión .bsr que permite escribir el modelo con una
108 sintaxis muy próxima a las expresiones matemáticas involucradas, que en
109 casos de modelos pequeños se podría incluso escribir a mano, pero que además
110 es bastante fácil de generar mecánicamente desde programas TOL o incluso
111 desde cualquier otro lenguaje de programación que permita escritura formateada.
112\end_layout
113
114\begin_layout Section
115Ejemplo
116\end_layout
117
118\begin_layout Standard
119En los directorios test_01, test_02 y test_03 disponibles en
120\begin_inset Flex URL
121status collapsed
122
123\begin_layout Plain Layout
124
125http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc
126/
127\end_layout
128
129\end_inset
130
131 se puede ver ejemplos de modelos generados automáticamente de forma aleatoria
132 en los que los archivos def.tol construyen ficheros .bsr a partir de ciertos
133 parámetros dimensionales para el chequeo de calidad del simulador BSR básico.
134\end_layout
135
136\begin_layout Standard
137A continuación se puede ver un ejemplo generado automáticamente con el ejemplo
138 test_03 de un modelo HLM muy sencillo pero completo, con sólo dos nodos
139 observacionales con parte ARIMA y omitidos en el input y en el output,
140 y con un nodo latente para cada variable observacional y otro a priori
141 para los hiperparámetros latentes.
142\end_layout
143
144\begin_layout Standard
145\begin_inset listings
146lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
147inline false
148status open
149
150\begin_layout Plain Layout
151
152///////////////////////////////////////////////////////////////////////////////
153\end_layout
154
155\begin_layout Plain Layout
156
157// Bayesian Sparsed Regression
158\end_layout
159
160\begin_layout Plain Layout
161
162///////////////////////////////////////////////////////////////////////////////
163\end_layout
164
165\begin_layout Plain Layout
166
167\end_layout
168
169\begin_layout Plain Layout
170
171$BEGIN
172\end_layout
173
174\begin_layout Plain Layout
175
176\end_layout
177
178\begin_layout Plain Layout
179
180Model.Name = "bysMcmc.test_03";
181\end_layout
182
183\begin_layout Plain Layout
184
185Model.Description =
186\end_layout
187
188\begin_layout Plain Layout
189
190"Randomly generation of a hierarchycal lineal model with these simple
191\backslash
192n"
193\end_layout
194
195\begin_layout Plain Layout
196
197"structure:
198\backslash
199n"
200\end_layout
201
202\begin_layout Plain Layout
203
204"  1: a set of K1 observational nodes with the same number n of variables
205\backslash
206n"
207\end_layout
208
209\begin_layout Plain Layout
210
211"     and data length m
212\backslash
213n"
214\end_layout
215
216\begin_layout Plain Layout
217
218"  2: a set of n latent nodes with one central parameter for each distinct
219\backslash
220n"
221\end_layout
222
223\begin_layout Plain Layout
224
225"     observational variable with specified standard deviation
226\backslash
227n"
228\end_layout
229
230\begin_layout Plain Layout
231
232"  3: a central prior equation for each latent variable with specified
233\backslash
234n"
235\end_layout
236
237\begin_layout Plain Layout
238
239"     standard deviation
240\backslash
241n"
242\end_layout
243
244\begin_layout Plain Layout
245
246"  4: a set of sparse linear inequalities over the observational variables
247\backslash
248n"
249\end_layout
250
251\begin_layout Plain Layout
252
253"";
254\end_layout
255
256\begin_layout Plain Layout
257
258Session.Name = "RS_1483339472";
259\end_layout
260
261\begin_layout Plain Layout
262
263Session.Description =
264\end_layout
265
266\begin_layout Plain Layout
267
268"Random seed=1483339472";
269\end_layout
270
271\begin_layout Plain Layout
272
273Session.Authors = "vdebuen@tol-project.org";
274\end_layout
275
276\begin_layout Plain Layout
277
278\end_layout
279
280\begin_layout Plain Layout
281
282////////////////////////////////////////////////////////////////////////////////
283\end_layout
284
285\begin_layout Plain Layout
286
287// Regression Variables Declarations with initial values
288\end_layout
289
290\begin_layout Plain Layout
291
292////////////////////////////////////////////////////////////////////////////////
293\end_layout
294
295\begin_layout Plain Layout
296
297\end_layout
298
299\begin_layout Plain Layout
300
301NodeObs.1_Var.1 <- +0.53803037013858557;
302\end_layout
303
304\begin_layout Plain Layout
305
306NodeObs.1_Var.2 <- +0.46934376657009125;
307\end_layout
308
309\begin_layout Plain Layout
310
311NodeObs.1_Var.3 <- -0.22560517396777868;
312\end_layout
313
314\begin_layout Plain Layout
315
316NodeObs.2_Var.1 <- +0.86625403119251132;
317\end_layout
318
319\begin_layout Plain Layout
320
321NodeObs.2_Var.2 <- -0.15567512763664126;
322\end_layout
323
324\begin_layout Plain Layout
325
326NodeObs.2_Var.3 <- -0.075121806003153324;
327\end_layout
328
329\begin_layout Plain Layout
330
331NodeLat.1_Var.nu <- +0.15836594998836517;
332\end_layout
333
334\begin_layout Plain Layout
335
336NodeLat.2_Var.nu <- -0.85943601280450821;
337\end_layout
338
339\begin_layout Plain Layout
340
341NodeLat.3_Var.nu <- +0.18600673880428076;
342\end_layout
343
344\begin_layout Plain Layout
345
346\end_layout
347
348\begin_layout Plain Layout
349
350////////////////////////////////////////////////////////////////////////////////
351\end_layout
352
353\begin_layout Plain Layout
354
355// Regression Missing Input Declarations
356\end_layout
357
358\begin_layout Plain Layout
359
360////////////////////////////////////////////////////////////////////////////////
361\end_layout
362
363\begin_layout Plain Layout
364
365\end_layout
366
367\begin_layout Plain Layout
368
369MissInp.NodeObs.3.13 ? ~ Normal(0.896203693933785,0.2007952652551403);
370\end_layout
371
372\begin_layout Plain Layout
373
374MissInp.NodeObs.6.30 ? ~ Normal(0.6046165255829692,0.09139028575200531);
375\end_layout
376
377\begin_layout Plain Layout
378
379MissInp.NodeObs.3.2 ? ~ TruncatedNormal(0.9820013050921261,0.2410816408006598,0,9.8200
38013050921261);
381\end_layout
382
383\begin_layout Plain Layout
384
385MissInp.NodeObs.5.40 ? ~ Normal(-0.7318465355783701,0.1338998379095156);
386\end_layout
387
388\begin_layout Plain Layout
389
390\end_layout
391
392\begin_layout Plain Layout
393
394////////////////////////////////////////////////////////////////////////////////
395\end_layout
396
397\begin_layout Plain Layout
398
399// Regression Missing Output Declarations
400\end_layout
401
402\begin_layout Plain Layout
403
404////////////////////////////////////////////////////////////////////////////////
405\end_layout
406
407\begin_layout Plain Layout
408
409\end_layout
410
411\begin_layout Plain Layout
412
413MissOut.NodeObs.31 ? <- -0.4157893265383703;
414\end_layout
415
416\begin_layout Plain Layout
417
418MissOut.NodeObs.40 ? <- -0.3029720514576624;
419\end_layout
420
421\begin_layout Plain Layout
422
423\end_layout
424
425\begin_layout Plain Layout
426
427////////////////////////////////////////////////////////////////////////////////
428\end_layout
429
430\begin_layout Plain Layout
431
432// Regression Residuals Declarations Normal(0,sigma^2)
433\end_layout
434
435\begin_layout Plain Layout
436
437////////////////////////////////////////////////////////////////////////////////
438\end_layout
439
440\begin_layout Plain Layout
441
442\end_layout
443
444\begin_layout Plain Layout
445
446NodeObs.1_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
447 Normal(0,NodeObs.1_Sigma2*ARIMA.COV([[  ARIMAStruct( 1, 1-1.70970212223966*B+0.9668
44893838252872*B^2, 1, 1), ARIMAStruct( 7, 1, 1, 1)]]));
449\end_layout
450
451\begin_layout Plain Layout
452
453NodeObs.2_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
454 Normal(0,NodeObs.2_Sigma2*ARIMA.COV([[  ARIMAStruct( 1, 1-0.0191113898593219*B+0.12
4559901138134301*B^2, 1, 1), ARIMAStruct( 7, 1, 1, 1)]]));
456\end_layout
457
458\begin_layout Plain Layout
459
460NodeLat.1_Residuals[2] ~ Normal(0,0.03276045051869933);
461\end_layout
462
463\begin_layout Plain Layout
464
465NodeLat.2_Residuals[2] ~ Normal(0,0.030080604978733022);
466\end_layout
467
468\begin_layout Plain Layout
469
470NodeLat.3_Residuals[2] ~ Normal(0,0.010264774427016805);
471\end_layout
472
473\begin_layout Plain Layout
474
475NodePri.1_Residuals[3] ~ Normal(0,0.011844979275860658);
476\end_layout
477
478\begin_layout Plain Layout
479
480\end_layout
481
482\begin_layout Plain Layout
483
484////////////////////////////////////////////////////////////////////////////////
485\end_layout
486
487\begin_layout Plain Layout
488
489// Regression equations
490\end_layout
491
492\begin_layout Plain Layout
493
494////////////////////////////////////////////////////////////////////////////////
495\end_layout
496
497\begin_layout Plain Layout
498
499\end_layout
500
501\begin_layout Plain Layout
502
503+5.2435581658297865 == NodeObs.1_Residuals[1]; //Reg.Equ.1
504\end_layout
505
506\begin_layout Plain Layout
507
508+2.1913126132131682 == NodeObs.1_Residuals[2]+MissInp.NodeObs.3.2*NodeObs.1_Var.3
509 ; //Reg.Equ.2
510\end_layout
511
512\begin_layout Plain Layout
513
514+0.12304427448649291 == NodeObs.1_Residuals[3]+0.63090779585763812*NodeObs.1_Var.1
515 +0.54491685889661312*NodeObs.1_Var.2 +0.94600624032318592*NodeObs.1_Var.3 ; //Reg.Equ.3
516\end_layout
517
518\begin_layout Plain Layout
519
520-2.6088045980742529 == NodeObs.1_Residuals[4]-0.66879721963778138*NodeObs.1_Var.2
521 ; //Reg.Equ.4
522\end_layout
523
524\begin_layout Plain Layout
525
526-6.0452993628906073 == NodeObs.1_Residuals[5]; //Reg.Equ.5
527\end_layout
528
529\begin_layout Plain Layout
530
531-6.3822864805891921 == NodeObs.1_Residuals[6]+0.95094704767689109*NodeObs.1_Var.1
532 -0.54092238331213593*NodeObs.1_Var.2 ; //Reg.Equ.6
533\end_layout
534
535\begin_layout Plain Layout
536
537-6.6295145939371594 == NodeObs.1_Residuals[7]+0.93608348118141294*NodeObs.1_Var.1
538 +0.9823420150205493*NodeObs.1_Var.2 ; //Reg.Equ.7
539\end_layout
540
541\begin_layout Plain Layout
542
543-5.5561393799341996 == NodeObs.1_Residuals[8]+0.7666153940372169*NodeObs.1_Var.2
544 -0.66276752250269055*NodeObs.1_Var.3 ; //Reg.Equ.8
545\end_layout
546
547\begin_layout Plain Layout
548
549-3.1295982695386888 == NodeObs.1_Residuals[9]-0.56221867958083749*NodeObs.1_Var.1
550 -0.90145999845117331*NodeObs.1_Var.3 ; //Reg.Equ.9
551\end_layout
552
553\begin_layout Plain Layout
554
555+0.76951244117245921 == NodeObs.1_Residuals[10]; //Reg.Equ.10
556\end_layout
557
558\begin_layout Plain Layout
559
560+2.9132946114405867 == NodeObs.1_Residuals[11]+0.95396953029558063*NodeObs.1_Var.3
561 ; //Reg.Equ.11
562\end_layout
563
564\begin_layout Plain Layout
565
566+5.7416648977148181 == NodeObs.1_Residuals[12]-0.95996885281056166*NodeObs.1_Var.3
567 ; //Reg.Equ.12
568\end_layout
569
570\begin_layout Plain Layout
571
572+6.3831794474164543 == NodeObs.1_Residuals[13]-0.64427804760634899*NodeObs.1_Var.2
573 +MissInp.NodeObs.3.13*NodeObs.1_Var.3 ; //Reg.Equ.13
574\end_layout
575
576\begin_layout Plain Layout
577
578+4.0282180180201248 == NodeObs.1_Residuals[14]-0.90212121233344078*NodeObs.1_Var.1
579 ; //Reg.Equ.14
580\end_layout
581
582\begin_layout Plain Layout
583
584+4.3505297967804113 == NodeObs.1_Residuals[15]+0.85422466974705458*NodeObs.1_Var.1
585 -0.78263330226764083*NodeObs.1_Var.3 ; //Reg.Equ.15
586\end_layout
587
588\begin_layout Plain Layout
589
590-1.8762849597824245 == NodeObs.1_Residuals[16]-0.71285796910524368*NodeObs.1_Var.1
591 -0.58573955669999123*NodeObs.1_Var.3 ; //Reg.Equ.16
592\end_layout
593
594\begin_layout Plain Layout
595
596-5.6888365292228968 == NodeObs.1_Residuals[17]+0.98112034006044269*NodeObs.1_Var.2
597 -0.79486409109085798*NodeObs.1_Var.3 ; //Reg.Equ.17
598\end_layout
599
600\begin_layout Plain Layout
601
602-8.3673617279440613 == NodeObs.1_Residuals[18]; //Reg.Equ.18
603\end_layout
604
605\begin_layout Plain Layout
606
607-8.0537960538725955 == NodeObs.1_Residuals[19]+0.52584361424669623*NodeObs.1_Var.2
608 +0.67250693123787642*NodeObs.1_Var.3 ; //Reg.Equ.19
609\end_layout
610
611\begin_layout Plain Layout
612
613-5.9263487197705214 == NodeObs.1_Residuals[20]-0.96396565064787865*NodeObs.1_Var.2
614 +0.8175902683287859*NodeObs.1_Var.3 ; //Reg.Equ.20
615\end_layout
616
617\begin_layout Plain Layout
618
619-0.6068887599917272 == NodeObs.2_Residuals[1]+0.56295138271525502*NodeObs.2_Var.2
620 ; //Reg.Equ.21
621\end_layout
622
623\begin_layout Plain Layout
624
625+2.0939562031264218 == NodeObs.2_Residuals[2]+0.65345998154953122*NodeObs.2_Var.1
626 -0.71942238695919514*NodeObs.2_Var.3 ; //Reg.Equ.22
627\end_layout
628
629\begin_layout Plain Layout
630
631+0.60038804953399949 == NodeObs.2_Residuals[3]-0.84704046417027712*NodeObs.2_Var.2
632 ; //Reg.Equ.23
633\end_layout
634
635\begin_layout Plain Layout
636
637-1.0713915154528588 == NodeObs.2_Residuals[4]-0.93844964541494846*NodeObs.2_Var.1
638 ; //Reg.Equ.24
639\end_layout
640
641\begin_layout Plain Layout
642
643-0.32125826101136556 == NodeObs.2_Residuals[5]+0.51997147314250469*NodeObs.2_Var.1
644 -0.63292960310354829*NodeObs.2_Var.2 ; //Reg.Equ.25
645\end_layout
646
647\begin_layout Plain Layout
648
649-0.54762880703286565 == NodeObs.2_Residuals[6]-0.50578109361231327*NodeObs.2_Var.1
650 ; //Reg.Equ.26
651\end_layout
652
653\begin_layout Plain Layout
654
655+2.4653275135908528 == NodeObs.2_Residuals[7]+0.54335346445441246*NodeObs.2_Var.1
656 -0.93712931545451283*NodeObs.2_Var.2 -0.72416583448648453*NodeObs.2_Var.3 ; //Reg.Equ.2
6577
658\end_layout
659
660\begin_layout Plain Layout
661
662+0.52714812684114365 == NodeObs.2_Residuals[8]+0.95070930058136582*NodeObs.2_Var.1
663 -0.97863368503749371*NodeObs.2_Var.3 ; //Reg.Equ.28
664\end_layout
665
666\begin_layout Plain Layout
667
668-1.0270370273766312 == NodeObs.2_Residuals[9]-0.88577614538371563*NodeObs.2_Var.1
669 +0.54846574366092682*NodeObs.2_Var.3 ; //Reg.Equ.29
670\end_layout
671
672\begin_layout Plain Layout
673
674+0.25652362241255156 == NodeObs.2_Residuals[10]-0.61568234255537391*NodeObs.2_Var.2
675 +MissInp.NodeObs.6.30*NodeObs.2_Var.3 ; //Reg.Equ.30
676\end_layout
677
678\begin_layout Plain Layout
679
680+MissOut.NodeObs.31 == NodeObs.2_Residuals[11]-0.73601436568424106*NodeObs.2_Var.3
681 ; //Reg.Equ.31
682\end_layout
683
684\begin_layout Plain Layout
685
686+0.38486138593475 == NodeObs.2_Residuals[12]; //Reg.Equ.32
687\end_layout
688
689\begin_layout Plain Layout
690
691-0.1153939096162494 == NodeObs.2_Residuals[13]-0.52979899849742651*NodeObs.2_Var.1
692 ; //Reg.Equ.33
693\end_layout
694
695\begin_layout Plain Layout
696
697+0.20153337099189605 == NodeObs.2_Residuals[14]; //Reg.Equ.34
698\end_layout
699
700\begin_layout Plain Layout
701
702-0.60618407368998284 == NodeObs.2_Residuals[15]-0.61933115171268582*NodeObs.2_Var.1
703 ; //Reg.Equ.35
704\end_layout
705
706\begin_layout Plain Layout
707
708+1.0049067997452399 == NodeObs.2_Residuals[16]+0.86020477814599872*NodeObs.2_Var.2
709 -0.98850312503054738*NodeObs.2_Var.3 ; //Reg.Equ.36
710\end_layout
711
712\begin_layout Plain Layout
713
714-0.72396483131240752 == NodeObs.2_Residuals[17]+0.87632823176681995*NodeObs.2_Var.3
715 ; //Reg.Equ.37
716\end_layout
717
718\begin_layout Plain Layout
719
720+0.27870237026751166 == NodeObs.2_Residuals[18]; //Reg.Equ.38
721\end_layout
722
723\begin_layout Plain Layout
724
725-0.74122059405715657 == NodeObs.2_Residuals[19]-0.75435957591980696*NodeObs.2_Var.1
726 -0.91726320842280984*NodeObs.2_Var.2 ; //Reg.Equ.39
727\end_layout
728
729\begin_layout Plain Layout
730
731+MissOut.NodeObs.40 == NodeObs.2_Residuals[20]-0.72136184806004167*NodeObs.2_Var.1
732 +MissInp.NodeObs.5.40*NodeObs.2_Var.2 ; //Reg.Equ.40
733\end_layout
734
735\begin_layout Plain Layout
736
7370 == NodeLat.1_Residuals[1]-NodeObs.1_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.41
738\end_layout
739
740\begin_layout Plain Layout
741
7420 == NodeLat.1_Residuals[2]-NodeObs.2_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.42
743\end_layout
744
745\begin_layout Plain Layout
746
7470 == NodeLat.2_Residuals[1]-NodeObs.1_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.43
748\end_layout
749
750\begin_layout Plain Layout
751
7520 == NodeLat.2_Residuals[2]-NodeObs.2_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.44
753\end_layout
754
755\begin_layout Plain Layout
756
7570 == NodeLat.3_Residuals[1]-NodeObs.1_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.45
758\end_layout
759
760\begin_layout Plain Layout
761
7620 == NodeLat.3_Residuals[2]-NodeObs.2_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.46
763\end_layout
764
765\begin_layout Plain Layout
766
767-0.6096816505305469 == NodePri.1_Residuals[1]-NodeLat.1_Var.nu ; //Reg.Equ.47
768\end_layout
769
770\begin_layout Plain Layout
771
772+0.66229855222627521 == NodePri.1_Residuals[2]-NodeLat.2_Var.nu ; //Reg.Equ.48
773\end_layout
774
775\begin_layout Plain Layout
776
777+0.46403526607900858 == NodePri.1_Residuals[3]-NodeLat.3_Var.nu ; //Reg.Equ.49
778\end_layout
779
780\begin_layout Plain Layout
781
782\end_layout
783
784\begin_layout Plain Layout
785
786////////////////////////////////////////////////////////////////////////////////
787\end_layout
788
789\begin_layout Plain Layout
790
791// Restriction inequations
792\end_layout
793
794\begin_layout Plain Layout
795
796////////////////////////////////////////////////////////////////////////////////
797\end_layout
798
799\begin_layout Plain Layout
800
801\end_layout
802
803\begin_layout Plain Layout
804
805+1.1888731951872438 >= +NodeObs.1_Var.1 ;
806\end_layout
807
808\begin_layout Plain Layout
809
810+0.50465998947620394 >= +NodeObs.1_Var.2 ;
811\end_layout
812
813\begin_layout Plain Layout
814
815-0.21083058095071464 >= +NodeObs.1_Var.3 ;
816\end_layout
817
818\begin_layout Plain Layout
819
820+0.9361133812088519 >= +NodeObs.2_Var.1 ;
821\end_layout
822
823\begin_layout Plain Layout
824
825-0.13837098166579381 >= +NodeObs.2_Var.2 ;
826\end_layout
827
828\begin_layout Plain Layout
829
830-0.0033603257639333584 >= +NodeObs.2_Var.3 ;
831\end_layout
832
833\begin_layout Plain Layout
834
835+1.1404310412146701 >= +NodeObs.1_Var.1 ;
836\end_layout
837
838\begin_layout Plain Layout
839
840+0.52799691481748601 >= +NodeObs.1_Var.2 ;
841\end_layout
842
843\begin_layout Plain Layout
844
845-0.73132390667684377 >= -NodeObs.1_Var.1 +NodeObs.1_Var.3 ;
846\end_layout
847
848\begin_layout Plain Layout
849
850+1.3114740782628398 >= -NodeObs.1_Var.2 +NodeObs.2_Var.1 ;
851\end_layout
852
853\begin_layout Plain Layout
854
855+0.13644857598003002 >= -NodeObs.1_Var.3 +NodeObs.2_Var.2 ;
856\end_layout
857
858\begin_layout Plain Layout
859
860-0.86476675785612311 >= -NodeObs.2_Var.1 +NodeObs.2_Var.3 ;
861\end_layout
862
863\begin_layout Plain Layout
864
865\end_layout
866
867\begin_layout Plain Layout
868
869$END
870\end_layout
871
872\end_inset
873
874
875\end_layout
876
877\begin_layout Section
878API modular
879\begin_inset CommandInset label
880LatexCommand label
881name "sec:API-modular"
882
883\end_inset
884
885
886\end_layout
887
888\begin_layout Standard
889Desde la versión 2.0.1 de TOL es posible definir un modelo BSR de forma modular
890 para resolver tres problemas fundamentales:
891\end_layout
892
893\begin_layout Enumerate
894Por una parte, escribir explícitamente las ecuaciones de nodos observacionales
895 densos y grandes es demasiado lento.
896 (Ver ticket #634)
897\end_layout
898
899\begin_layout Enumerate
900Por otra parte, los modelos masivos con multitud de nodos requieren demasiados
901 recursos si se intentan cargar monolíticamente.
902 (Ver ticket #628)
903\end_layout
904
905\begin_layout Enumerate
906Además, la sintaxis actual no incorpora los filtros no lineales por loque
907 los medelos están inclompletos y no pueden ser ejecutados en sesiones TOL
908 ulteriores.
909\end_layout
910
911\begin_layout Standard
912Para resolver estos problemas se plantea un nuevo esquema en el que la idea
913 inicial será tener tres tipos de módulos o archivos ASCII-BSR:
914\end_layout
915
916\begin_layout Enumerate
917
918\emph on
919primary
920\emph default
921: los módulos primarios son capaces de leer un sólo segmento de regresión
922 (nodo en el argot jerárquico) basándose en código TOL para la construcción
923 de la matriz.
924 Normalmente lo usaremos para nodos densos observacionales pero eso a BSR
925 no le importa en absoluto, pues no sabe qué cosa es observacional ni latente
926 ni nada.
927 En esos módulos sólo cabe pues un nodo, con su declaración de variables
928 lineales y missing, estructura de la varianza (sigma-ARIMA), sus filtros
929 no lineales y sus restricciones de desigualdad internas, es decir, todo
930 aquello que no afecta a ningún otro.
931 Un módulo primario puede funcionar de forma autónoma, por ejemplo cuando
932 queremos simular un nodo observacional por sí mismo, sin tener en cuenta
933 estructuras jerárquicas, a priori, ni nada por el estilo, aunque eso no
934 creo que se dé muy a menudo, pues lo normal es que la menos haya información
935 a priori.
936 
937\end_layout
938
939\begin_layout Enumerate
940
941\emph on
942joint
943\emph default
944: los módulos de mezcla serían los actualmente permitidos, llamados así
945 por su capacidad de mezclar variables de varios segmentos de regresión.
946 Pueden funcionar autónomamente como hasta ahora, definiendo todas las variables
947 y ecuaciones de forma explícita, o bien integrarse dentro de un módulo
948 máster que se encargue de cargar previamente las variables de las que depende.
949 
950\end_layout
951
952\begin_layout Enumerate
953
954\emph on
955master
956\emph default
957: los módulos maestros simplemente incluyen a otros módulos de cualquier
958 tipo, incluidos otros maestros, si se desea tener los modelos estructurados
959 en varios niveles, de forma que en cada nivel cada uno de los sub-master
960 podría ser ejecutado autónomamente.
961\end_layout
962
963\begin_layout Subsection
964Estructura del módulo primario
965\end_layout
966
967\begin_layout Standard
968Un módulos primario se definirá del siguiente modo:
969\end_layout
970
971\begin_layout Enumerate
972En primer lugar se incluye una cláusula que indique el tipo de módulo que
973 se va a definir
974\begin_inset listings
975inline false
976status open
977
978\begin_layout Plain Layout
979
980Module.Type = primary;
981\end_layout
982
983\end_inset
984
985
986\end_layout
987
988\begin_layout Enumerate
989Las variables del bloque lineal se definen con la misma sintaxis que rige
990 actualmente para el módulo joint.
991\end_layout
992
993\begin_layout Enumerate
994El segmento de regresión es único pero se define con la misma sintaxis que
995 en el módulo joint.
996 En ambos casos hay una novedad: la posibilidad de introducir los filtros
997 no lineales si los hay en la propia definición del ruido.
998 La estructura del campo
999\family typewriter
1000NoiseDistrib
1001\family default
1002 será distinta a la actual
1003\family typewriter
1004BSR.NoiseDistrib
1005\family default
1006 para que pueda incluir un nuevo campo en el que almacenar los filtros no
1007 lineales.
1008 
1009\end_layout
1010
1011\begin_layout Enumerate
1012Luego se introducirán la matriz de output y la de input.
1013 El orden de definición de las variables del bloque lineal debe coincidir
1014 con el orden de las columnas en la matriz de inputs.
1015\end_layout
1016
1017\begin_layout Enumerate
1018Después se introducirán si las hay, las variables de omitidos con una sintaxis
1019 simular a la de los módulos joint pero añadiéndoles la información de su
1020 ubicación en las matrices de input u output, las cuales deberían tener
1021 un valor omitido en la celda correspondiente, cosa que debe por tanto comprobar
1022se.
1023 
1024\end_layout
1025
1026\begin_layout Enumerate
1027Por último se añadirán si las hay, las restricciones de desigualdad sobre
1028 las variables del bloque lineal.
1029\end_layout
1030
1031\begin_layout Standard
1032Obviamente el Import deberá saber que está escribiendo un módulo primario
1033 y pedir las matrices en lugar de los coeficientes así como la ubicación
1034 de los omitidos.
1035\end_layout
1036
1037\begin_layout Standard
1038A continuación se presenta una plantilla de cómo podría quedar el fichero
1039 ASCII de un módulo primario.
1040\end_layout
1041
1042\begin_layout Standard
1043\begin_inset listings
1044lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
1045inline false
1046status open
1047
1048\begin_layout Plain Layout
1049\align left
1050
1051/////////////////////////////////////////////////////////////////////////////
1052\end_layout
1053
1054\begin_layout Plain Layout
1055\align left
1056
1057// Bayesian Sparse Regression
1058\end_layout
1059
1060\begin_layout Plain Layout
1061\align left
1062
1063/////////////////////////////////////////////////////////////////////////////
1064\end_layout
1065
1066\begin_layout Plain Layout
1067
1068\end_layout
1069
1070\begin_layout Plain Layout
1071\align left
1072
1073$BEGIN
1074\end_layout
1075
1076\begin_layout Plain Layout
1077\align left
1078
1079\end_layout
1080
1081\begin_layout Plain Layout
1082\align left
1083
1084Module.Type = primary;
1085\end_layout
1086
1087\begin_layout Plain Layout
1088\align left
1089
1090\end_layout
1091
1092\begin_layout Plain Layout
1093\align left
1094
1095Model.Name = "...";
1096\end_layout
1097
1098\begin_layout Plain Layout
1099\align left
1100
1101Model.Description = "...";
1102\end_layout
1103
1104\begin_layout Plain Layout
1105\align left
1106
1107Session.Name = "...";
1108\end_layout
1109
1110\begin_layout Plain Layout
1111\align left
1112
1113Session.Description = "...";
1114\end_layout
1115
1116\begin_layout Plain Layout
1117\align left
1118
1119Session.Authors = "...";
1120\end_layout
1121
1122\begin_layout Plain Layout
1123\align left
1124
1125\end_layout
1126
1127\begin_layout Plain Layout
1128\align left
1129
1130/////////////////////////////////////////////////////////////////////////////
1131\end_layout
1132
1133\begin_layout Plain Layout
1134\align left
1135
1136// Defining header of Regression Variables
1137\end_layout
1138
1139\begin_layout Plain Layout
1140\align left
1141
1142/////////////////////////////////////////////////////////////////////////////
1143\end_layout
1144
1145\begin_layout Plain Layout
1146
1147\end_layout
1148
1149\begin_layout Plain Layout
1150\align left
1151
1152LinearBlk::<node_name>::<variable-name>::Coef <-
1153\end_layout
1154
1155\begin_layout Plain Layout
1156\align left
1157
1158  {+ or -}<initial value or ?>;
1159\end_layout
1160
1161\begin_layout Plain Layout
1162\align left
1163
1164...
1165\end_layout
1166
1167\begin_layout Plain Layout
1168\align left
1169
1170LinearBlk::<node_name>::<variable-name>::Coef <-
1171\end_layout
1172
1173\begin_layout Plain Layout
1174\align left
1175
1176  {+ or -}<initial value or ?>;
1177\end_layout
1178
1179\begin_layout Plain Layout
1180\align left
1181
1182\end_layout
1183
1184\begin_layout Plain Layout
1185\align left
1186
1187/////////////////////////////////////////////////////////////////////////////
1188\end_layout
1189
1190\begin_layout Plain Layout
1191\align left
1192
1193// Defining header of Noise Distribution
1194\end_layout
1195
1196\begin_layout Plain Layout
1197\align left
1198
1199/////////////////////////////////////////////////////////////////////////////
1200\end_layout
1201
1202\begin_layout Plain Layout
1203
1204\end_layout
1205
1206\begin_layout Plain Layout
1207\align left
1208
1209<node_name>::Noise [length and optional time info]   
1210\end_layout
1211
1212\begin_layout Plain Layout
1213\align left
1214
1215~ <distribution>
1216\end_layout
1217
1218\begin_layout Plain Layout
1219\align left
1220
1221// Optional defininition of Non Linear Filters   
1222\end_layout
1223
1224\begin_layout Plain Layout
1225\align left
1226
1227with non linear flters {'Set of NameBlock's expresion'}; 
1228\end_layout
1229
1230\begin_layout Plain Layout
1231\align left
1232
1233\end_layout
1234
1235\begin_layout Plain Layout
1236\align left
1237
1238/////////////////////////////////////////////////////////////////////////////
1239\end_layout
1240
1241\begin_layout Plain Layout
1242\align left
1243
1244// Defining Regression Equations
1245\end_layout
1246
1247\begin_layout Plain Layout
1248\align left
1249
1250/////////////////////////////////////////////////////////////////////////////
1251\end_layout
1252
1253\begin_layout Plain Layout
1254
1255\end_layout
1256
1257\begin_layout Plain Layout
1258\align left
1259
1260Output = {'Matrix or VMatrix expresion'};
1261\end_layout
1262
1263\begin_layout Plain Layout
1264\align left
1265
1266Input = {'Matrix or VMatrix expresion'};
1267\end_layout
1268
1269\begin_layout Plain Layout
1270
1271\end_layout
1272
1273\begin_layout Plain Layout
1274\align left
1275
1276/////////////////////////////////////////////////////////////////////////////
1277\end_layout
1278
1279\begin_layout Plain Layout
1280\align left
1281
1282// Optional defininition of Ouput Missing Variables
1283\end_layout
1284
1285\begin_layout Plain Layout
1286\align left
1287
1288/////////////////////////////////////////////////////////////////////////////
1289\end_layout
1290
1291\begin_layout Plain Layout
1292
1293\end_layout
1294
1295\begin_layout Plain Layout
1296\align left
1297
1298MissingBlk::<MIXTURE or node name>::<missing_name> ?
1299\end_layout
1300
1301\begin_layout Plain Layout
1302\align left
1303
1304  at row <row_index> for output
1305\end_layout
1306
1307\begin_layout Plain Layout
1308\align left
1309
1310  ~ <distribution>;
1311\end_layout
1312
1313\begin_layout Plain Layout
1314\align left
1315
1316...
1317\end_layout
1318
1319\begin_layout Plain Layout
1320\align left
1321
1322MissingBlk::<MIXTURE or node name>::<missing_name> ?
1323\end_layout
1324
1325\begin_layout Plain Layout
1326\align left
1327
1328  at row <row_index> for output
1329\end_layout
1330
1331\begin_layout Plain Layout
1332\align left
1333
1334  ~ <distribution>;
1335\end_layout
1336
1337\begin_layout Plain Layout
1338\align left
1339
1340\end_layout
1341
1342\begin_layout Plain Layout
1343\align left
1344
1345/////////////////////////////////////////////////////////////////////////////
1346\end_layout
1347
1348\begin_layout Plain Layout
1349\align left
1350
1351// Defining defininition of Input Missing Variables
1352\end_layout
1353
1354\begin_layout Plain Layout
1355\align left
1356
1357/////////////////////////////////////////////////////////////////////////////
1358\end_layout
1359
1360\begin_layout Plain Layout
1361
1362\end_layout
1363
1364\begin_layout Plain Layout
1365\align left
1366
1367MissingBlk::<MIXTURE or node name>::<missing_name> ?
1368\end_layout
1369
1370\begin_layout Plain Layout
1371\align left
1372
1373  at row <row_index> for input <column_index>
1374\end_layout
1375
1376\begin_layout Plain Layout
1377\align left
1378
1379  ~ <distribution>;
1380\end_layout
1381
1382\begin_layout Plain Layout
1383\align left
1384
1385...
1386 
1387\end_layout
1388
1389\begin_layout Plain Layout
1390\align left
1391
1392MissingBlk::<MIXTURE or node name>::<missing_name> ?
1393\end_layout
1394
1395\begin_layout Plain Layout
1396\align left
1397
1398  at row <row_index> for input <column_index>
1399\end_layout
1400
1401\begin_layout Plain Layout
1402\align left
1403
1404  ~ <distribution>;
1405\end_layout
1406
1407\begin_layout Plain Layout
1408\align left
1409
1410\end_layout
1411
1412\begin_layout Plain Layout
1413\align left
1414
1415/////////////////////////////////////////////////////////////////////////////
1416\end_layout
1417
1418\begin_layout Plain Layout
1419\align left
1420
1421// Defining Parameter Constraints
1422\end_layout
1423
1424\begin_layout Plain Layout
1425\align left
1426
1427/////////////////////////////////////////////////////////////////////////////
1428\end_layout
1429
1430\begin_layout Plain Layout
1431
1432\end_layout
1433
1434\begin_layout Plain Layout
1435\align left
1436
1437{+|-}<number> {<=|>=}
1438\end_layout
1439
1440\begin_layout Plain Layout
1441\align left
1442
1443  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef
1444\end_layout
1445
1446\begin_layout Plain Layout
1447\align left
1448
1449  ...
1450 
1451\end_layout
1452
1453\begin_layout Plain Layout
1454\align left
1455
1456  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef;
1457\end_layout
1458
1459\begin_layout Plain Layout
1460\align left
1461
1462...
1463\end_layout
1464
1465\begin_layout Plain Layout
1466\align left
1467
1468\end_layout
1469
1470\begin_layout Plain Layout
1471\align left
1472
1473$END
1474\end_layout
1475
1476\end_inset
1477
1478
1479\end_layout
1480
1481\begin_layout Subsection
1482Cambios en la estructura del módulo joint
1483\end_layout
1484
1485\begin_layout Standard
1486El módulo joint se queda prácticamente como está con estas salvedades:
1487\end_layout
1488
1489\begin_layout Enumerate
1490Es posible, aunque no obligatorio por compatibilidad hacia atrás, especificar
1491 el tipo de módulo en la cabecera del archivo:
1492\begin_inset listings
1493inline false
1494status open
1495
1496\begin_layout Plain Layout
1497
1498Module.Type = joint;
1499\end_layout
1500
1501\end_inset
1502
1503
1504\end_layout
1505
1506\begin_layout Enumerate
1507En un módulo joint puede aparecer una referencia a una variable que ha sido
1508 definida en otro módulo previo.
1509 El reconocedor sintáctico permitirá pues que aparezcan en las ecuaciones
1510 e inecuaciones variables no definidas.
1511 En la estructura BSR.LinearBlock se añade un campo Real Extern cuyo valor
1512 será puesto a TRUE en estos casos para que puedan resolverse más tarde
1513 las referencias.
1514\end_layout
1515
1516\begin_layout Subsection
1517Mezcla de módulos en el master
1518\end_layout
1519
1520\begin_layout Standard
1521El master debe ocuparse de mezclar los modelos o submodelos resultantes
1522 de de los módulos en un solo modelo BSR.
1523 El modo de hacerlo depende del mecanismo de generación que se vaya a seguir,
1524 que puede ser de dos formas
1525\end_layout
1526
1527\begin_layout Subsubsection
1528Mecanismo de generación monofase
1529\end_layout
1530
1531\begin_layout Standard
1532Es el único mecanismo de generación implementado actualmente, en el que
1533 todos los segmentos y variables lineales se aúnan en un solo sistema lineal
1534 de ecuaciones sparse.
1535\end_layout
1536
1537\begin_layout Standard
1538En este caso los BSR.ModelDef que resultan de cada módulo se deben agregar
1539 en un sólo BSR.ModelDef que defina el modelo completo siguiendo los isguientes
1540 pasos con sumo cuidado.
1541 Se indicará al principio del módulo máster mediante la sintaxis
1542\begin_inset listings
1543inline false
1544status open
1545
1546\begin_layout Plain Layout
1547
1548Modular.Schema = monophasic;
1549\end_layout
1550
1551\end_inset
1552
1553
1554\end_layout
1555
1556\begin_layout Enumerate
1557La información documental (campo DocInfo) que prevalece es la del módulo
1558 master mientras que la de los sub-módulos simplemente se olvida.
1559 
1560\end_layout
1561
1562\begin_layout Enumerate
1563Se obtiene la lista conjunta de variables (campo {{{LinearBlock}}}) del
1564 bloque lineal de cada uno de los módulos sin repeticiones.
1565 
1566\end_layout
1567
1568\begin_layout Enumerate
1569Se reubican las posiciones de las variables en cada uno de los módulos 1.
1570 Se modifica el número de columnas y las posiciones de las columnas de la
1571 matriz X de inputs para hacerlas coincidir con la posición de las variables
1572 en la lista global.
1573 
1574\end_layout
1575
1576\begin_layout Enumerate
1577Se modifica el número de columnas y las posiciones de las columnas de la
1578 matriz A de las inecuaciones para hacerlas coincidir con la posición de
1579 las variables en la lista global.
1580 
1581\end_layout
1582
1583\begin_layout Enumerate
1584Se modifica el campo Col de los registros BSR.MissingBlock de definición
1585 de omitidos del input en cada módulo 1.
1586 Se modifica el número de filas y columnas de las matrices Cov, L y Li de
1587 cada registro BSR.NoiseDistrib correspondiente a cada segmento, así como
1588 el conjunto de índices EquIdx de las filas a las que correponde.
1589 
1590\end_layout
1591
1592\begin_layout Enumerate
1593Se concatenan las filas de las matrices Y[k], X[k], a[k], A[k] de todos
1594 los módulos en las correspondientes Y, X, a, A conjuntas.
1595 
1596\end_layout
1597
1598\begin_layout Enumerate
1599Se concatenan los conjuntos de omitidos del input (campo InputMissingBlock)
1600 y el output (campo OutputMissingBlock)
1601\end_layout
1602
1603\begin_layout Enumerate
1604Se concatenan los conjuntos de segmentos de regresión (campo NoiseDistrib)
1605\end_layout
1606
1607\begin_layout Standard
1608Intentar hacer todas estas operaciones mientras se está leyendo un BSR actual
1609 es algo extremadamente complicado de implementar, pues algunas cosas aún
1610 no existen y otras están a medias, no se conocen algunas dimensiones, etc.
1611 Precisamente por esta razón propongo todo este tema de la modularización
1612 de la sintaxis de los ficheros ASCII-BSR.
1613\end_layout
1614
1615\begin_layout Subsubsection
1616Mecanismo de generación multifase
1617\end_layout
1618
1619\begin_layout Standard
1620En este caso cada módulo se generará condicionalmente al resto de módulos,
1621 bien secuencialmente, bien en paralelo cuando tal cosa sea posible.
1622 Esto no es necesario que se implemente en una primera versión pero se puede
1623 ir adelantando algo del diseño.
1624 Se indicará al principio del módulo máster mediante la sintaxis
1625\end_layout
1626
1627\begin_layout Standard
1628\begin_inset listings
1629inline false
1630status open
1631
1632\begin_layout Plain Layout
1633
1634  Modular.Schema = sequential;
1635\end_layout
1636
1637\end_inset
1638
1639
1640\end_layout
1641
1642\begin_layout Standard
1643ó bien
1644\end_layout
1645
1646\begin_layout Standard
1647\begin_inset listings
1648inline false
1649status open
1650
1651\begin_layout Plain Layout
1652
1653  Modular.Schema = parallel;
1654\end_layout
1655
1656\end_inset
1657
1658
1659\end_layout
1660
1661\begin_layout Standard
1662según sea el caso.
1663\end_layout
1664
1665\begin_layout Standard
1666En ambos casos la mezcla de módulos es distinta al caso de generación monofase,
1667 pues en realildad no se hace agregación física de los módulos sino que
1668 simplemente se enlazarán las dependencias de variables entre ellos para
1669 que luego BSR pueda actualizar sus valores en las sucesivas simulaciones
1670 condicionadas, de forma similar a como lo ahcía el antiguo HLM, del cual
1671 se podrán tomar bastantes ideas.
1672\end_layout
1673
1674\begin_layout Subsubsection
1675Plantilla de un módulo master
1676\end_layout
1677
1678\begin_layout Standard
1679Aunque cada módulo internamente especifica con la cláusula Module.Type de
1680 que tipo de módulo se trata es conveniente repetir esa información en la
1681 sentencia de inclusión del módulo hijo en el módulo master para llamar
1682 directamente al parser adecuado, ya que en realidad lo que habrá es 3 parsers
1683 distintos, el de módulos primarios, el de los joint, que es básicamente
1684 el actual y el de los masters.
1685 La cláusula Module.Type puede usarse como mecanismo de control para evitar
1686 posibles errores de diseño del modelo.
1687 Así podría quedar la sintaxis de los módulos master
1688\end_layout
1689
1690\begin_layout Standard
1691\begin_inset listings
1692lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
1693inline false
1694status open
1695
1696\begin_layout Plain Layout
1697
1698/////////////////////////////////////////////////////////////////////////////
1699\end_layout
1700
1701\begin_layout Plain Layout
1702
1703// Bayesian Sparse Regression
1704\end_layout
1705
1706\begin_layout Plain Layout
1707
1708/////////////////////////////////////////////////////////////////////////////
1709\end_layout
1710
1711\begin_layout Plain Layout
1712
1713$BEGIN
1714\end_layout
1715
1716\begin_layout Plain Layout
1717
1718Module.Type = master;
1719\end_layout
1720
1721\begin_layout Plain Layout
1722
1723Model.Name = "...";
1724\end_layout
1725
1726\begin_layout Plain Layout
1727
1728Model.Description = "...";
1729\end_layout
1730
1731\begin_layout Plain Layout
1732
1733Session.Name = "...";
1734\end_layout
1735
1736\begin_layout Plain Layout
1737
1738Session.Description = "...";
1739\end_layout
1740
1741\begin_layout Plain Layout
1742
1743Session.Authors = "...";
1744\end_layout
1745
1746\begin_layout Plain Layout
1747
1748Modular.Schema = { monophasic, sequential or parallel } ;
1749\end_layout
1750
1751\begin_layout Plain Layout
1752
1753Include { primary, joint or master } module "file_relative_path.bsr" ; ...
1754 Include { primary, joint or master } module "file_relative_path.bsr" ;
1755\end_layout
1756
1757\begin_layout Plain Layout
1758
1759$END
1760\end_layout
1761
1762\end_inset
1763
1764
1765\end_layout
1766
1767\end_body
1768\end_document
Note: See TracBrowser for help on using the repository browser.