Files
We briefly describe the file and folder structure of the package.
Source code
All source code is in the "src" folder:
"src"
"StructuralEquationModels.jl"defines the module and the exported objects"types.jl"defines all abstract types and the basic type hierarchy"objective_gradient_hessian.jl"contains methods for computing objective, gradient and hessian values for different model types as well as generic fallback methods- The four folders
"observed","imply","loss"and"diff"contain implementations of specific subtypes (for example, the"loss"folder contains a file"ML.jl"that implements theSemMLloss function). "optimizer"contains connections to different optimization backends (aka methods forsem_fit)"optim.jl": connection to theOptim.jlpackage"NLopt.jl": connection to theNLopt.jlpackage
"frontend"contains user-facing functions"specification"contains functionality for model specification"fit"contains functionality for model assessment, like fit measures and standard errors
"additional_functions"contains helper functions for simulations, loading artifacts (example data) and various other things
Tests and Documentation
Tests are in the "test" folder, documentation in the "docs" folder.