Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Tensor Network Integrators

This folder contains applications in Matlab and Fortran, for a variety of scientific applications.

Capabilities

The following capabilities are provided here:

Installation

When cloning the git repo, make sure to pull it with all of its submodules:

  git clone --recursive https://github.com/lanl/thor.git

Alternatively, you can pull the submodules after cloning, by running the following git command:

  git submodule update --init --recursive

Running MATLAB inside Jupyter Notebooks

The Jupyter Notebook is a server-client application, very popular in Python community, that allows editing and running interactive notebooks with notes interspersed with the code, via a web browser. Jupyter can be installed on a wide variety of platforms, and run not only with Python but also with other programming languages, including MATLAB.

All of the examples in the examples subdirectory are documented in Jupyter notebooks. To have Jupyter on your local system with an interactive MATLAB code, please follows these steps:

  1. Have a working MATLAB with matlab command in your path.
  2. Use this link for the up-to-date instructions on how to install Jupyter Notebook on your system.
  3. Install Jupyter-MATLAB proxy.

If you do not wish or cannot install Jupyter, you can also open the examples stored in this repo with a browser, and copy the Matlab code to an *.m file to run them directly in Matlab.

FORTRAN, serial version

  • Clone the repo and change to fortran directory.
  • In the subdirectory config, find a configuration that most closely matches your system.
  • Copy it to fortran under the name make.inc. This is a system-dependent part of the Makefile.
  • Modify it to match your compiler and the location of BLAS/LAPACK libraries.
  • Build the code using make. Test using make test.
git clone git@github.com:lanl/thor.git
cd thor/TNI/fortran
cp config/gfortran.inc make.inc
# <edit make.inc>
make -j
make test # optional

You can also follow the (# LANL HPC Installation Notes) for some of the existing LANL systems (current as of September 2025). The code in this folder is derived from the following third-party libraries and packages:

LANL HPC Installation Notes

Darwin

salloc -p general
cd fortran
. load_env.sh intel
make -j
make test # optional

Chicoma

salloc --qos=debug --reservation=debug --partition=debug
cd fortran
. load_env.sh chicoma
make -j
make test # optional