{"id":27222333,"url":"https://github.com/wavefunction91/macis","last_synced_at":"2025-07-03T14:07:19.833Z","repository":{"id":171821344,"uuid":"380397087","full_name":"wavefunction91/MACIS","owner":"wavefunction91","description":"A modern C++ library for high-performance configuration interaction methods","archived":false,"fork":false,"pushed_at":"2025-03-07T13:12:36.000Z","size":38144,"stargazers_count":16,"open_issues_count":8,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T09:07:40.557Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wavefunction91.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-26T02:31:24.000Z","updated_at":"2025-02-06T17:39:21.000Z","dependencies_parsed_at":"2025-03-07T14:32:51.033Z","dependency_job_id":null,"html_url":"https://github.com/wavefunction91/MACIS","commit_stats":null,"previous_names":["wavefunction91/macis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wavefunction91/MACIS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavefunction91%2FMACIS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavefunction91%2FMACIS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavefunction91%2FMACIS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavefunction91%2FMACIS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wavefunction91","download_url":"https://codeload.github.com/wavefunction91/MACIS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavefunction91%2FMACIS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263339928,"owners_count":23451516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-10T08:58:33.463Z","updated_at":"2025-07-03T14:07:19.197Z","avatar_url":"https://github.com/wavefunction91.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n  ~ MACIS Copyright (c) 2023, The Regents of the University of California,\n  ~ through Lawrence Berkeley National Laboratory (subject to receipt of\n  ~ any required approvals from the U.S. Dept. of Energy). All rights reserved.\n  ~\n  ~ See LICENSE.txt for details\n--\u003e\n\n# About\n\nMany-Body Adaptive Configuration Interaction Suite (MACIS) Copyright (c) 2023,\nThe Regents of the University of California, through Lawrence Berkeley National\nLaboratory (subject to receipt of any required approvals from the U.S. Dept. of\nEnergy). All rights reserved.\n\nIf you have questions about your rights to use or distribute this software,\nplease contact Berkeley Lab's Intellectual Property Office at\nIPO@lbl.gov.\n\nNOTICE.  This Software was developed under funding from the U.S. Department\nof Energy and the U.S. Government consequently retains certain rights.  As\nsuch, the U.S. Government has been granted for itself and others acting on\nits behalf a paid-up, nonexclusive, irrevocable, worldwide license in the\nSoftware to reproduce, distribute copies to the public, prepare derivative \nworks, and perform publicly and display publicly, and to permit others to do so.\n\n# Synopsis\n\nThe Many-Body Adaptive Configuration Interaction Suite (MACIS) is a modern,\nmodular C++ library for high-performance quantum many-body methods based on\nconfiguration interaction (CI). MACIS currently provides a reuseable and\nextentible interface for the development of full CI (FCI), complete\nactive-space (CAS) and selected-CI (sCI) methods for quantum chemistry.\nEfforts have primarily been focused on the development of distributed memory\nvariants of the adaptive sampling CI (ASCI) method on CPU architectures,\nand work is underway to extend the functionality set to other methods \ncommonly encountered in quantum chemistry and to accelerator architectures\ntargeting exascale platforms.\n\n\nMACIS is a work in progress. Its development has been funded by the\nComputational Chemical Sciences (CCS) program of the U.S.  Department of Energy\nOffice of Science, Office of Basic Energy Science (BES). It was originally\ndeveloped under the Scalable Predictive Methods for Excitations and Correlated\nPhenomena [(SPEC)](https://spec.labworks.org/home) Center.\n\n## Main Contributors\n\n* David Williams-Young (LBNL): dbwy [at] lbl [dot] gov\n* Carlos Mejuto Zaera (SISSA)\n* Norm Tubman (NASA)\n\n# Dependencies\n\n* CMake (3.14+)\n* BLAS / LAPACK\n* [BLAS++](https://github.com/icl-utk-edu/blaspp) / [LAPACK++](https://github.com/icl-utk-edu/lapackpp)\n* [`std::mdspan`](https://en.cppreference.com/w/cpp/container/mdspan) with [Kokkos](https://github.com/kokkos/mdspan) extensions\n* spdlog\n* MPI (Optional)\n* OpenMP (Optional)\n* Boost (Optional)\n* Catch2 (Testing)\n\n# Publications\n\nPlease cite the following publications if MACIS was used in your publication or\nsoftware:\n```\n% Distributed Memory ASCI Implementation\n@article{williams23_distributed_asci,\n    title={A parallel, distributed memory implementation of the adaptive\n           sampling configuration interaction method},\n    author={David B. Williams-Young and Norm M. Tubman and Carlos Mejuto-Zaera \n            and Wibe A. de Jong}, \n    journal={The Journal of Chemical Physics},\n    volume={158},\n    pages={214109},\n    year={2023},\n    doi={10.1063/5.0148650},\n    preprint={https://arxiv.org/abs/2303.05688},\n    url={https://pubs.aip.org/aip/jcp/article/158/21/214109/2893713/A-parallel-distributed-memory-implementation-of}\n}\n    \n```\n\n# Build Instructions\n\nMACIS provides a CMake build system with automatic dependency management (through [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html)).\nAs such, a simple CMake invocation will often suffice for most purposes\n```\ncmake -S /path/to/macis -B /path/to/build [MACIS configure options]\ncmake --build /path/to/build\n```\n\nMACIS is linkable both as an installed library as well as a CMake subproject via `FetchContent`\n```\n# MACIS Discovery\nfind_package( macis REQUIRED )\ntarget_link_libraries( my_target PUBLIC macis::macis )\n```\n\n```\n# MACIS as CMake Subproject\ninclude(FetchContent)\n\n# Set MACIS CMake options (see below)\n\n# Pull master branch of MACIS\nFetchContent_Declare( macis \n  GIT_REPOSITORY https://github/com/wavefunction91/MACIS.git \n  GIT_TAG master \n)\nFetchContent_MakeAvailable( macis )\n\n# Link to target\ntarget_link_libraries( my_target PUBLIC macis::macis )\n```\n\n## Influential CMake Variables\n\n| Variable Name              | Description                                               | Default  |\n|----------------------------|-----------------------------------------------------------|----------|\n| `MACIS_ENABLE_OPENMP`      | Enable OpenMP Bindings                                    |  `ON`    |\n| `MACIS_ENABLE_MPI`         | Enable MPI Bindings                                       |  `ON`    |\n| `MACIS_ENABLE_BOOST`       | Enable Boost Bindings                                     |  `ON`    |\n| `BLAS_LIBRARIES`           | Full BLAS linker.                                         |  --      |\n| `LAPACK_LIBRARIES`         | Full LAPACK linker.                                       |  --      |\n| `BUILD_TESTING`            | Whether to build unit tests                               |  `ON`    |\n\n# Example Usage\n\nComing Soon.... See `tests/standalone_driver.cxx` for an example end-to-end\ninvocation of MACIS for CAS-CI, CAS-SCF and ASCI-CI.\n\nHave a question, comment or concern? Open an [Issue](https://github.com/wavefunction91/MACIS/issues) or start a\n[Discussion](https://github.com/wavefunction91/MACIS/discussions).\n\n# License\n\nMACIS is made freely available under the terms of the LBNL modified 3-Clause BSD\nlicense. See LICENSE.txt for details.\n\n# Acknowledgments\n\nThe development of MACIS has ben supported by the Center for Scalable\nPredictive methods for Excitations and Correlated phenomena (SPEC), which is\nfunded by the U.S.  Department of Energy (DoE), Office of Science, Office of\nBasic Energy Sciences, Division of Chemical Sciences, Geosciences and\nBiosciences as part of the Computational Chemical Sciences (CCS) program at\nLawrence Berkeley National Laboratory under FWP 12553.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavefunction91%2Fmacis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwavefunction91%2Fmacis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavefunction91%2Fmacis/lists"}