File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ include("observed/EM.jl")
4949include (" frontend/specification/Sem.jl" )
5050include (" frontend/specification/documentation.jl" )
5151# imply
52+ include (" imply/abstract.jl" )
5253include (" imply/RAM/symbolic.jl" )
5354include (" imply/RAM/generic.jl" )
5455include (" imply/empty.jl" )
Original file line number Diff line number Diff line change 1+
2+ vars (imply:: SemImply ) = vars (imply. ram_matrices)
3+ observed_vars (imply:: SemImply ) = observed_vars (imply. ram_matrices)
4+ latent_vars (imply:: SemImply ) = latent_vars (imply. ram_matrices)
5+
6+ nvars (imply:: SemImply ) = nvars (imply. ram_matrices)
7+ nobserved_vars (imply:: SemImply ) = nobserved_vars (imply. ram_matrices)
8+ nlatent_vars (imply:: SemImply ) = nlatent_vars (imply. ram_matrices)
9+
10+ params (imply:: SemImply ) = params (imply. ram_matrices)
11+ nparams (imply:: SemImply ) = nparams (imply. ram_matrices)
12+
13+ function check_acyclic (A:: AbstractMatrix )
14+ # check if the model is acyclic
15+ acyclic = isone (det (I- A))
16+
17+ # check if A is lower or upper triangular
18+ if istril (A)
19+ @info " A matrix is lower triangular"
20+ return LowerTriangular (A)
21+ elseif istriu (A)
22+ @info " A matrix is upper triangular"
23+ return UpperTriangular (A)
24+ else
25+ if acyclic
26+ @info " Your model is acyclic, specifying the A Matrix as either Upper or Lower Triangular can have great performance benefits.\n " maxlog= 1
27+ end
28+ return A
29+ end
30+ end
You can’t perform that action at this time.
0 commit comments