{"id":22668263,"url":"https://github.com/lanl/bml","last_synced_at":"2025-07-06T22:04:10.869Z","repository":{"id":37548647,"uuid":"46743825","full_name":"lanl/bml","owner":"lanl","description":"The Basic Matrix Library (bml)","archived":false,"fork":false,"pushed_at":"2025-03-29T16:05:51.000Z","size":32262,"stargazers_count":42,"open_issues_count":0,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-23T20:06:27.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://basic-matrix-library.readthedocs.io/","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/lanl.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-23T19:45:48.000Z","updated_at":"2025-05-30T19:16:22.000Z","dependencies_parsed_at":"2024-08-23T22:01:38.193Z","dependency_job_id":"d31ead2c-e5dd-4cbd-85e7-c6b335e011dc","html_url":"https://github.com/lanl/bml","commit_stats":{"total_commits":1481,"total_committers":29,"mean_commits":51.06896551724138,"dds":0.5901417960837272,"last_synced_commit":"8953ff3e121f515716a458335cd3c6e8ab7ecc5f"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/lanl/bml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fbml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fbml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fbml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fbml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lanl","download_url":"https://codeload.github.com/lanl/bml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fbml/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261566854,"owners_count":23178045,"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":"2024-12-09T15:14:29.987Z","updated_at":"2025-07-06T22:04:10.847Z","avatar_url":"https://github.com/lanl.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":".. list-table::\n  :header-rows: 1\n\n  * - Issues\n    - Pull Requests\n    - CI\n    - Conda\n    - Documentation\n    - Docker\n  * - .. image:: https://img.shields.io/github/issues/lanl/bml\n        :alt: GitHub issues\n        :target: https://github.com/lanl/bml/issues\u003e\n    - .. image:: https://img.shields.io/github/issues-pr/lanl/bml.svg\n        :alt: GitHub pull requests\n        :target: https://github.com/lanl/bml/pulls\n    - .. image:: https://github.com/lanl/bml/workflows/CI/badge.svg\n        :alt: GitHub Actions\n        :target: https://github.com/lanl/bml/actions\n    - .. image:: https://anaconda.org/conda-forge/bml/badges/version.svg\n        :alt: Conda Version\n        :target: https://anaconda.org/conda-forge/bml\n      .. image :: https://anaconda.org/conda-forge/bml/badges/downloads.svg\n        :alt: Conda Downloads\n        :target: https://anaconda.org/conda-forge/bml\n    - .. image:: https://readthedocs.org/projects/basic-matrix-library/badge/?version=master\n        :target: https://basic-matrix-library.readthedocs.io/en/master/?badge=master\n        :alt: Documentation Status\n    - .. image:: https://img.shields.io/docker/pulls/nicolasbock/bml\n        :alt: Docker Pulls\n        :target: https://hub.docker.com/repository/docker/nicolasbock/bml\n\nIntroduction\n============\n\nThis website is intended to provide some guidance on how to get and install the\nbml library. LA-UR number LA-UR-**17-27373**.\n\nThe basic matrix library (bml) is a collection of various matrix data formats\n(for dense and sparse) and their associated algorithms for basic matrix\noperations. Application programming interfaces (API) are available for both C\nand FORTRAN. The current status of this library allows us to use two different\nformats for representing matrix data. Currently these formats are: dense,\nELLPACK-R, ELLBLOCK, ELLSORT, and CSR. For information on how to use the BML\nlibrary can be find in\n`BML-API \u003chttps://lanl.github.io/bml/API/developer_documentation.html\u003e`_.\n\nMailing List\n============\n\nWe are running the following mailing list for discussions on usage and features\nof the bml library:\n\n- `bml \u003chttps://groups.io/g/bml\u003e`_\n- `Subscribe \u003chttps://groups.io/g/bml/signup\u003e`_\n- `Archives \u003chttps://groups.io/g/bml/topics\u003e`_\n\nSupported Matrix Formats\n========================\n\nThe bml library supports the following matrix formats:\n\n- dense\n- ELLPACK-R\n- ELLSORT\n- ELLBLOCK\n- CSR\n\nBinary Packages\n===============\n\nWe offer binary packages of the bml library in `RPM format\n\u003chttp://software.opensuse.org/download.html?project=home%3Anicolasbock%3Aqmmd\u0026package=bml\u003e`_\nthanks to SUSE's OpenBuild Service and for Ubuntu in `DEB format\n\u003chttps://launchpad.net/~nicolasbock/+archive/ubuntu/qmmd\u003e`_.\n\nTesting in our CI container\n===========================\n\nWe are switching our CI tests from Travis-CI to GitHub Actions because Travis-CI\nis `limiting the number of builds for open source projects\n\u003chttps://blog.travis-ci.com/2020-11-02-travis-ci-new-billing\u003e`_. Our workflow\nuses a `custom Docker image \u003chttps://hub.docker.com/r/nicolasbock/bml\u003e`_ which\ncomes with the necessary compiler tool chain to build and test the :code:`bml`\nlibrary. Using :code:`docker` is a convenient and quick way to develop, build,\nand test the :code:`bml` library.\n\n.. code-block:: console\n\n  $ ./scripts/run-local-docker-container.sh\n  latest: Pulling from nicolasbock/bml\n  2f94e549220a: Already exists\n  8d8ab0ffcd5e: Pull complete\n  3fa4d3b6f5b4: Pull complete\n  4f4fb700ef54: Pull complete\n  Digest: sha256:18237f909f19896a57c658c93af5e8ed91c9fa596f15021be777a97444a3eaaf\n  Status: Downloaded newer image for nicolasbock/bml:latest\n  docker.io/nicolasbock/bml:latest\n  groups: cannot find name for group ID 1000\n  I have no name!@3a4ae718ba4f:/bml$\n\nInside the container:\n\n.. code-block:: console\n\n  I have no name!@6ea3f4937c0d:/bml$ ./build.sh compile\n  Writing output to /bml/build.log\n  Running command compile\n  mkdir: created directory '/bml/build'\n  mkdir: created directory '/bml/install'\n  -- CMake version 3.12.1\n  -- The C compiler identification is GNU 7.5.0\n  -- The CXX compiler identification is GNU 7.5.0\n  -- The Fortran compiler identification is GNU 7.5.0\n  -- Check for working C compiler: /usr/bin/gcc\n  -- Check for working C compiler: /usr/bin/gcc -- works\n\nAlternatively, you can run one of the CI tests by executing e.g.\n\n.. code-block:: console\n\n  I have no name!@6ea3f4937c0d:/bml$ ./scripts/ci-gcc-10-C-single-real.sh\n  +++ dirname ./scripts/ci-gcc-10-C-single-real.sh\n  ++ readlink --canonicalize ./scripts/..\n  + basedir=/bml\n  + export CC=gcc-10\n  + CC=gcc-10\n  + export CXX=g++-11\n  + CXX=g++-11\n  + export FC=gfortran-11\n  + FC=gfortran-11\n\nBuild Instructions\n==================\n\nThe bml library is built with CMake. For convenience, we provide a shell script\nwhich goes through the necessary motions and builds the library, runs the tests,\nand installs it (in the :code:`install` directory).\n\nFor a quick installation\n------------------------\n\nWe suggest to take a look at the :code:`example_build.sh` script that sets the\nmost important environmental variables needed by :code:`build.sh` script. Change\nthe Variables according to the compilers and architecture. The script can be run\njust by doing:\n\n.. code-block:: console\n\n  $ ./scripts/example_build.sh\n  Writing output to /bml/build.log\n  Running command configure\n  mkdir: created directory '/bml/build'\n  mkdir: created directory '/bml/install'\n  -- CMake version 3.12.1\n  -- The C compiler identification is GNU 7.5.0\n  -- The CXX compiler identification is GNU 7.5.0\n  -- The Fortran compiler identification is GNU 7.5.0\n\nFor a more involved installation\n--------------------------------\n\nBy running:\n\n.. code-block:: console\n\n  $ ./build.sh install\n\nthe library will be built in the :code:`build` directory and installed in the\n:code:`install` directory. In case you change any sources and simply want to\nrebuild the library, you don't have to run :code:`build.sh` again, but rather\n\n.. code-block:: console\n\n  $ make -C build\n\nThe compiled library can be installed by running\n\n.. code-block:: console\n\n  $ make -C build install\n\nThe install directory can be modified by running\n\n.. code-block:: console\n\n  $ CMAKE_INSTALL_PREFIX=/some/path ./build.sh install\n\n(which assumes that you are using the bash shell).\n\nTo build with GNU compilers, OpenMP, and Intel MKL do the following.\n\n.. code-block:: console\n\n  $ CC=gcc FC=gfortran \\\n    BLAS_VENDOR=Intel CMAKE_BUILD_TYPE=Release \\\n    BML_OPENMP=yes CMAKE_INSTALL_PREFIX=/some/path \\\n    ./build.sh install\n\nTo build with MPI, OpenMP, and use Intel MKL do the following.\n\n.. code-block:: console\n\n  $ CC=mpicc FC=mpif90 \\\n    BLAS_VENDOR=Intel CMAKE_BUILD_TYPE=Release \\\n    BML_OPENMP=yes BML_MPI=yes CMAKE_INSTALL_PREFIX=/some/path \\\n    ./build.sh install\n\nPrerequisites\n-------------\n\nIn order to build the library, the following tools need to be installed:\n\n- :code:`gcc` with Fortran support\n- :code:`\u003e=cmake-2.8.8`\n- :code:`\u003e=python-2.7`\n- :code:`\u003e=OpenMP-3.1` (i.e. :code:`\u003e=gcc-4.7`)\n\nIf the build fails\n------------------\n\nIn case the build fails for some reason, please contact the developers by\nopening an issue on GitHub (https://github.com/lanl/bml/issues) and attach the\nfiles\n\n.. code-block:: shell\n\n  build/CMakeFiles/CMakeOutput.log\n  build/CMakeFiles/CMakeError.log\n\nDeveloper Suggested Workflow\n============================\n\nOur main development happens on the :code:`master` branch and is continuously\nverified for correctness. If you would like to contribute with your work to the\nbml project, please follow the instructions at the GitHub help page `\"About pull\nrequests\" \u003chttps://help.github.com/articles/about-pull-requests/\u003e`_. To\nsummarize:\n\n- Fork the project on github\n- Clone that forked repository\n- Create a branch in it\n- Commit any changes to the branch\n- Push the branch to your forked repository\n- Go to https://github.com/lanl/bml and click on 'Create Pull Request'\n\nDuring the review process you might want to update your pull request. Please add\ncommits or :code:`amend` your existing commits as necessary. If you amend any\ncommits you need to add the :code:`--force-with-lease` option to the\n:code:`git push` command. Please make sure that your pull request contains only\none logical change (see `\"Structural split of change\"\n\u003chttps://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes\u003e`_\nfor further details.\n\nCoding Style\n============\n\nPlease indent your C code using\n\n.. code-block:: console\n\n  $ indent -gnu -nut -i4 -bli0 -cli4 -ppi0 -cbi0 -npcs -bfda\n\nYou can use the script :code:`indent.sh` to indent all C code.\n\nHelpful Developer Resources\n===========================\n\nOptimizations\n-------------\n\nFor low level optimization work it is useful to understand what assembly code\nthe compiler generates. For example, to verify that the compiler vectorizes the\nloop in the following example:\n\n.. code-block:: C\n   :linenos:\n   :lineno-start: 5\n   :emphasize-lines: 4\n\n   void double_array(float a[8]) {\n     a = __builtin_assume_aligned(a, 64);\n     for (int i = 0; i \u003c 8; i++) {\n      a[i] *= 2;\n     }\n   }\n\nwe can build the source with\n\n.. code-block:: console\n\n  gcc -S -O3 -fverbose-asm test.c\n\nand analyze the generated assembly code,\n\n.. code-block:: asm\n   :linenos:\n   :emphasize-lines: 2-4\n\n   # test.c:8:    a[i] *= 2;\n     movaps\t(%rdi), %xmm0\t# MEM \u003cvector(4) float\u003e [(float *)a_9], vect__5.8\n     addps\t%xmm0, %xmm0\t#, vect__5.8\n     movaps\t%xmm0, (%rdi)\t# vect__5.8, MEM \u003cvector(4) float\u003e [(float *)a_9]\n     movaps\t16(%rdi), %xmm0\t# MEM \u003cvector(4) float\u003e [(float *)a_9 + 16B], vect__5.8\n     addps\t%xmm0, %xmm0\t#, vect__5.8\n     movaps\t%xmm0, 16(%rdi)\t# vect__5.8, MEM \u003cvector(4) float\u003e [(float *)a_9 + 16B]\n\nThe aligned memory access, `movaps`, moving 4 (aligned packed single-precision)\n`float` values into `%xmm0`, and the subsequent `addps` instruction show that\nthe compiler fully vectorized the loop.\n\nNote that the `Compiler Explorer \u003chttps://godbolt.org/\u003e`_ provides an\nalternative that does not require local compilations, see\n`https://godbolt.org/z/ejEdqKa6Y \u003chttps://godbolt.org/#g:!((g:!((g:!((h:codeEditor,i:(filename:'1',fontScale:14,fontUsePx:'0',j:1,lang:___c,selection:(endColumn:1,endLineNumber:22,positionColumn:1,positionLineNumber:22,selectionStartColumn:1,selectionStartLineNumber:22,startColumn:1,startLineNumber:22),source:'%23include+%3Cstdio.h%3E%0A%0A%23define+N+8%0A%0Avoid+double_array(float+a%5BN%5D)+%7B%0A++a+%3D+__builtin_assume_aligned(a,+64)%3B%0A%23pragma+omp+simd%0A++for+(int+i+%3D+0%3B+i+%3C+N%3B+i%2B%2B)+%7B%0A+++a%5Bi%5D+*%3D+2%3B%0A++%7D%0A%7D%0A%0Aint+main+()+%7B%0A++float+a%5BN%5D+__attribute__((aligned(64)))%3B%0A++for+(int+i+%3D+0%3B+i+%3C+N%3B+i%2B%2B)+%7B%0A++++printf(%22a%5B%25d%5D+%3D+%25p%5Cn%22,+i,+%26a%5Bi%5D)%3B%0A++++a%5Bi%5D+%3D+i%3B%0A++%7D%0A++double_array(a)%3B%0A++printf(%22a%5B0%5D+%3D+%25e%5Cn%22,+a%5B0%5D)%3B%0A%7D%0A'),l:'5',n:'0',o:'C+source+%231',t:'0')),k:50,l:'4',n:'0',o:'',s:0,t:'0'),(g:!((h:compiler,i:(compiler:cg112,filters:(b:'0',binary:'1',commentOnly:'0',demangle:'0',directives:'0',execute:'1',intel:'0',libraryCode:'0',trim:'1'),flagsViewOpen:'1',fontScale:14,fontUsePx:'0',j:1,lang:___c,libs:!(),options:'-O3',selection:(endColumn:1,endLineNumber:1,positionColumn:1,positionLineNumber:1,selectionStartColumn:1,selectionStartLineNumber:1,startColumn:1,startLineNumber:1),source:1,tree:'1'),l:'5',n:'0',o:'x86-64+gcc+11.2+(C,+Editor+%231,+Compiler+%231)',t:'0')),k:50,l:'4',n:'0',o:'',s:0,t:'0')),l:'2',n:'0',o:'',t:'0')),version:4\u003e`_.\n\nCiting\n======\n\nIf you find this library useful, we encourage you to cite us. Our project has a\ncitable DOI:\n\n.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5570404.svg\n   :target: https://doi.org/10.5281/zenodo.5570404\n\nwith the following :code:`bibtex` snipped:\n\n.. code-block:: bibtex\n\n  @misc{bml,\n    author       = {Nicolas Bock and\n                    Susan Mniszewski and\n                    Bálint Aradi and\n                    Michael Wall and\n                    Christian F. A. Negre\n                    Jamal Mohd-Yusof and\n                    Anders N. M. Niklasson},\n    title        = {qmmd/bml v2.1.2},\n    month        = feb,\n    year         = 2022,\n    doi          = {10.5281/zenodo.5570404},\n    url          = {https://doi.org/10.5281/zenodo.5570404}\n  }\n\nAnother citation source is the following journal article (`DOI:\n10.1007/s11227-018-2533-0 \u003chttps://doi.org/10.1007/s11227-018-2533-0\u003e`_):\n\n.. code-block:: bibtex\n\n  @article{bock2018basic,\n    title     = {The basic matrix library (BML) for quantum chemistry},\n    author    = {Bock, Nicolas and\n                 Negre, Christian FA and\n                 Mniszewski, Susan M and\n                 Mohd-Yusof, Jamaludin and\n                 Aradi, B{\\'a}lint and\n                 Fattebert, Jean-Luc and\n                 Osei-Kuffuor, Daniel and\n                 Germann, Timothy C and\n                 Niklasson, Anders MN},\n    journal   = {The Journal of Supercomputing},\n    volume    = {74},\n    number    = {11},\n    pages     = {6201--6219},\n    year      = {2018},\n    publisher = {Springer}\n  }\n\nAuthors\n=======\n\nThe core developers of the bml in alphabetical order:\n\n- Christian Negre \u003ccnegre@lanl.gov\u003e\n- Nicolas Bock \u003cnicolasbock@gmail.com\u003e\n- Susan M. Mniszewski \u003csmm@lanl.gov\u003e\n\nContributors\n============\n\n- Adedoyin Adetokunbo \u003caadedoyin@lanl.gov\u003e\n- Bálint Aradi \u003caradi@uni-bremen.de\u003e\n- Daniel Osei-Kuffuor \u003coseikuffuor1@llnl.gov\u003e\n- Jamaludin Mohd-Yusof \u003cjamal@lanl.gov\u003e\n- Jean-Luc Fattebert \u003cfattebertj@ornl.gov\u003e\n- Mike Wall \u003cmewall@lanl.gov\u003e\n\nLicense\n=======\n\nThe bml library is licensed under the BSD 3-clause license.\n\nCopyright 2015. Los Alamos National Security, LLC. This software was\nproduced under U.S. Government contract DE-AC52-06NA25396 for Los\nAlamos National Laboratory (LANL), which is operated by Los Alamos\nNational Security, LLC for the U.S. Department of Energy. The\nU.S. Government has rights to use, reproduce, and distribute this\nsoftware. NEITHER THE GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY,\nLLC MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY\nFOR THE USE OF THIS SOFTWARE. If software is modified to produce\nderivative works, such modified software should be clearly marked, so\nas not to confuse it with the version available from LANL.\n\nAdditionally, redistribution and use in source and binary forms, with\nor without modification, are permitted provided that the following\nconditions are met:\n\n- Redistributions of source code must retain the above copyright\n  notice, this list of conditions and the following disclaimer.\n- Redistributions in binary form must reproduce the above copyright\n  notice, this list of conditions and the following disclaimer in the\n  documentation and/or other materials provided with the distribution.\n- Neither the name of Los Alamos National Security, LLC, Los Alamos\n  National Laboratory, LANL, the U.S. Government, nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission\n\nTHIS SOFTWARE IS PROVIDED BY LOS ALAMOS NATIONAL SECURITY, LLC AND\nCONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,\nBUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL LOS\nALAMOS NATIONAL SECURITY, LLC OR CONTRIBUTORS BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER\nIN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\nOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nLA-CC\n=====\n\nNOTICE OF OSS COPYRIGHT ASSERTION:\n\nLANS has asserted copyright on the software package entitled *Basic\nMatrix Library (bml), Version 0.x (C16006)*.\n\nABSTRACT\n--------\n\nThe basic matrix library (bml) is a collection of various matrix data\nformats (for dense and sparse) and their associated algorithms for basic\nmatrix operations.\n\nThis code is unclassified and has been assigned LA-CC-**15-093**. Los Alamos\nNational Laboratory’s Export Control Team made an in-house determination that\nthis software is controlled under Department of Commerce regulations and the\nExport Control Classification Number (ECCN) **EAR99**. The export control\nreview is attached.\n\nThe developers intend to distribute this software package under the OSI\nCertified **BSD 3-Clause License**\n(http://www.opensource.org/licenses/BSD-3-Clause)\n\nThis code was developed using funding from:\n\n- Basic Energy Sciences (LANL2014E8AN) and the Laboratory Directed Research\n  and Development Program of Los Alamos National Laboratory. To tests these\n  developments we used resources provided by the Los Alamos National\n  Laboratory Institutional Computing Program, which is supported by the U.S.\n  Department of Energy National Nuclear Security Administration\n\n- Exascale Computing Project (17-SC-20-SC), a collaborative effort of two U.S.\n  Department of Energy organizations (Office of Science and the National\n  Nuclear Security Administration) responsible for the planning and\n  preparation of a capable exascale ecosystem, including software,\n  applications, hardware, advanced system engineering, and early testbed\n  platforms, in support of the nation’s exascale computing imperative.\n\nLarry Kwei, LAFO Program Manager, has granted his concurrence to asserting\ncopyright and then distributing the **Basic Matrix Library (bml), Version\n0.x** code using an open source software license. See attached memo.\n\nLANS acknowledges that it will comply with the DOE OSS policy as follows:\n\n1. submit form DOE F 241.4 to the Energy Science and Technology Software\n   Center (ESTSC),\n2. provide the unique URL on the form for ESTSC to distribute, and\n3. maintain an OSS Record available for inspection by DOE.\n\nFollowing is a table briefly summarizes information for this software package:\n\n.. list-table::\n\n  * - CODE NAME\n    - **Basic Matrix Library (bml), Version 0.x (C16006)**\n  * - Classification Review Number\n    - **LA-CC-15-093**\n  * - Export Control Classification Number (ECCN)\n    - **EAR99**\n  * - B\u0026R Code\n    - **YN0100000**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fbml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanl%2Fbml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fbml/lists"}