- Warning
- Most matrix examples are still missing. Benchmark suites are currently included only for testing. Documentation remains rudimentary.
The complete list of Matrices and Benchmark suites of ScaMaC.
ScaMaC provides 15 matrices (with 95 parameters in total) and 1 benchmark suites.
Parameter format
Matrix parameters are listed in the respective Parameters section of each matrix, in the following tabular form (the header is only included here for explanation).
Type | Name | Description | Default |
int | N | number of row | 10 |
Option | shuffle | Diagonality | {yes, no} |
In this example, the matrix has two parameters: (i) the integer-valued N, with default value N=10, and (ii) an option shuffle that can be either "yes" or "no", with default value shuffle=no.
In addition to the standard types int and double, the following parameter types are used:
Seed random seed – see scamac_generator_set_rngseed() and scamac_generator_set_rngseed_str() for further information
Parameters can be subject to additional constraints, which are listed in the optional Constraints section of each matrix.
Type | Constraint | Description |
[Error] | N > 0 | N should be positive |
[Warning] | shuffle != yes | Shuffling is not recommended |
Matrices
Alphabetical list
Anderson — DiagonalReal — Exciton — FreeBosonChain — FreeFermionChain — Harmonic — Hubbard — Membrane1 — OneFermion — SpinChainXXZ — TightBinding — TopIns — Tridiagonal — TridiagonalComplex — TridiagonalReal
List by groups
- (::)
- Anderson — DiagonalReal — Exciton — FreeBosonChain — FreeFermionChain — Harmonic — Hubbard — Membrane1 — OneFermion — SpinChainXXZ — TightBinding — TopIns — Tridiagonal — TridiagonalComplex — TridiagonalReal
Aliases
Anderson
Anderson model of localization in 1D, 2D, 3D
- Properties
- Real Symmetric
- Parameters
int > 0 | Lx | dimensions of cuboid along x-axis | 5 |
int > 0 | Ly | dimensions of cuboid along y-axis | 5 |
int > 0 | Lz | dimensions of cuboid along z-axis | 5 |
double | t | hopping strength | 1.0 |
double ≥ 0 | ranpot | random on-site potential [-ranpot, ranpot] | 0.0 |
Option | boundary_conditions | open or periodic boundary conditions | {open, periodic} |
Seed | seed | random seed | 1 |
Option | sweep | mode of traversal of cuboid | {simple, backforth} |
- Constraints
[Input] | Lx > 0 | [Parameter range] Lx > 0 |
[Input] | Ly > 0 | [Parameter range] Ly > 0 |
[Input] | Lz > 0 | [Parameter range] Lz > 0 |
[Input] | ranpot >= 0 | [Parameter range] ranpot >= 0 |
- Description
- The Anderson model describes the motion of a quantum-mechanical particle in a disordered solid, which is represented as a cuboid of Lx*Ly*Lz lattice sites (this is also the matrix dimension). The kinetic energy is given in the tight-binding approximation (parameter t), the disorder is given by a random on-site potential (parameter ranpot). A 1D or 2D solid is obtained if, e.g., Ly=Lz =1 (for 1D) or Lz =1 (for 2D).
- Matrix dimension
- Matrix dimension is Lx*Ly*Lz
- Benchmark suites
- Simple
DiagonalReal
Diagonal (test) matrix
- Properties
- Real Symmetric
- Parameters
int > 0 | n | matrix dimension | 100 |
double | dmin | minimal diagonal element | -1.0 |
double | dmax | maximal diagonal element | 1.0 |
- Constraints
[Error] | dmin < dmax | |
[Input] | n > 0 | [Parameter range] n > 0 |
- Description
- A simple diagonal (test) matrix, with diagonal elements distributed uniformly in the interval [dmin, dmax] (including the end points).
- Matrix dimension
- dimension = n
Exciton
Exciton on a lattice
- Properties
- Complex Hermitian
- Parameters
double | so | spin orbit | 128.0 |
double | ex | exchange | 666.0 |
double | mlh | mass light hole | 0.16 |
double | mhh | mass heavy hole | 3.1 |
double | me | mass electron | 0.99 |
double | eps | dielectric constant | 6.94 |
double | lc | eff. Coulomb length | 1.75 |
double | kx | momentum kx | 0.0 |
double | ky | momentum ky | 0.0 |
double | kz | momentum kz | 0.0 |
double | a | lattice constant | 0.42696 |
int > 0 | L | cube length | 10 |
Option | symm | symmetry | {para, ortho} |
- Constraints
[Input] | L > 0 | [Parameter range] L > 0 |
- Description
- This matrix describes an exciton, the bound electron+hole state in a semiconductor, within a microscopic lattice model. The default parameter values correspond to the cuprous oxide Cu2O, as investigated in Ref. [...].
FreeBosonChain
Free bosons on a chain
- Properties
- Real Symmetric
- Parameters
double | t | hopping strength | 1.0 |
int > 0 | n_species | number of bosonic species | 1 |
int > 0 | n_sites | number of sites | 10 |
int > 0 | n_bosons | number of bosons per species | 5 |
Option | bc | open (false) or periodic (true) boundary conditions | {open, periodic} |
- Constraints
[Input] | n_species > 0 | [Parameter range] n_species > 0 |
[Input] | n_sites > 0 | [Parameter range] n_sites > 0 |
[Input] | n_bosons > 0 | [Parameter range] n_bosons > 0 |
- Description
- This matrix is a simple example for a non-interacting many-particle quantum system, where bosons move on a chain with n_sites sites and nearest-neighbour hopping (parameter t). The bosons form n_species different species, with n_bosons each.
- Matrix dimension
- The matrix dimension grows roughly exponentially as a function of n_bosons and n_sites.
FreeFermionChain
Free fermions on a chain
- Properties
- Real Symmetric
- Parameters
double | t | hopping strength | 1.0 |
int > 0 | n_species | number of fermionic species | 1 |
int > 0 | n_sites | number of sites | 10 |
int > 0 | n_fermions | number of fermions per species | 5 |
Option | bc | open (false) or periodic (true) boundary conditions | {open, periodic} |
- Constraints
[Error] | n_fermions <= n_sites | |
[Input] | n_species > 0 | [Parameter range] n_species > 0 |
[Input] | n_sites > 0 | [Parameter range] n_sites > 0 |
[Input] | n_fermions > 0 | [Parameter range] n_fermions > 0 |
- Description
- This matrix is a simple example for a non-interacting many-particle quantum system, where fermions move on a chain with n_sites sites and nearest-neighbour hopping (parameter t). The fermions form n_species different species, with n_fermions each. As a consequence of the Pauli exclusion principle for fermions, there cannot be more fermions than sites.
- Matrix dimension
- The matrix dimension grows roughly exponentially as a function of n_fermions and n_sites.
Harmonic
Quantum harmonic oscillator
- Properties
- Real Symmetric
- Parameters
double | omega | oscillator frequency | 1.0 |
double | lambda | oscillator shift | 0.0 |
int > 0 | n_bos | number of bosons | 100 |
- Constraints
[Input] | n_bos > 0 | [Parameter range] n_bos > 0 |
- Description
- The quantum harmonic oscillator in occupation number representation. The resulting matrix is tridiagonal.
- Matrix dimension
- dimension = n_bos
Hubbard
The 1D Hubbard model from quantum physics
- Properties
- Real Symmetric
- Parameters
double | t | hopping strength | 1.0 |
double | U | Hubbard interaction | 0.0 |
int > 0 | n_sites | number of sites | 10 |
int > 0 | n_fermions | number of fermions per spin orientation | 5 |
Option | boundary_conditions | open or periodic boundary conditions | {open, periodic} |
double | ranpot | random on-site potential [-ranpot, ranpot] | 0.0 |
Seed | seed | random seed | 1 |
- Constraints
[Error] | n_fermions <= n_sites | |
[Warning] | n_sites <= 1000 | very large n_sites (>1000) |
[Input] | n_sites > 0 | [Parameter range] n_sites > 0 |
[Input] | n_fermions > 0 | [Parameter range] n_fermions > 0 |
- Description
- The Hubbard model is a prime example of a strongly correlated interacting many-particle quantum system. This matrix implements the 1D Hubbard model, where n_fermions electrons with "spin up" or "spin down" move on a chain with n_sites. The kinetic energy is controlled by the parameter t, the Coulomb interaction (repulsive for U>0, attractive for U<0) by the parameter U. For U=0, one obtains a special case of the FreeFermionChain.
- Matrix dimension
- The matrix dimension is \binomial(n_sites,n_up)^2.
- Benchmark suites
- Simple
Membrane1
Damped vibrations of a thin rectangular membrane (friction type 1)
- Properties
- Real General
- Parameters
double > 0 | lx | length side x | 1.0 |
double > 0 | ly | length side y | 1.0 |
double | rho | mass density | 1.0 |
double | cwave | wave velocity | 1.0 |
double | sigma | friction strength | 0.1 |
int > 0 | nx | discretization points along side x | 10 |
int > 0 | ny | discretization points along side y | 10 |
Option | pack | choose small (=tight) or large (=loose) 2x2 blocks | {tight, loose} |
- Constraints
[Input] | lx > 0 | [Parameter range] lx > 0 |
[Input] | ly > 0 | [Parameter range] ly > 0 |
[Input] | nx > 0 | [Parameter range] nx > 0 |
[Input] | ny > 0 | [Parameter range] ny > 0 |
OneFermion
one fermion on a chain
- Properties
- Real Symmetric
- Parameters
double | t | hopping strength | 1.0 |
int | n_sites | number of sites | 10 |
Option | bc | boundary conditions | {open, periodic} |
- Constraints
[Error] | n_sites > 0 | |
[Warning] | n_sites <= 1000 | n_sites is very large |
SpinChainXXZ
One-dimensional XXZ model
- Properties
- Real Symmetric
- Parameters
double | Jxy | J_x=J_y | 1.0 |
double | Jz | J_z | 1.0 |
double | Bz | B_z | 0.0 |
int > 0 | n_sites | number of sites | 10 |
int > 0 | n_up | number of up spins | 5 |
Option | boundary_conditions | boundary conditions | {open, periodic} |
- Constraints
[Error] | n_up <= n_sites | |
[Input] | n_sites > 0 | [Parameter range] n_sites > 0 |
[Input] | n_up > 0 | [Parameter range] n_up > 0 |
- Description
- Spin chains are examples of strongly correlated interacting many-particle quantum systems. This example implements the XXZ-model, where n_sites spin are arranged as a 1D chain. Neighboring spins interact via magnetic (i.e., Heisenberg) exchange. The interaction strenght is controlled by parameters Jxy (in the xy-plane) and Jz (in the z-direction, perpendicular to the plane). For Jxy=Jz, the interaction is isotropic. Also included is a magnetic field in the z-direction (parameter Bz). The number of "up" spins is fixed by the parameter n_up.
- Matrix dimension
- The matrix dimension is \binomial(n_sites, n_up).
TightBinding
simple 1D (chain), 2D (square), or 3D (cubic) tight-binding model
- Properties
- Real Symmetric
- Parameters
int > 0 | Lx | dimensions of cuboid (x-axis) | 5 |
int > 0 | Ly | dimensions of cuboid (y-axis) | 5 |
int > 0 | Lz | dimensions of cuboid (z-axis) | 5 |
double | t | hopping strength | 1.0 |
Option | boundary_conditions | boundary conditions | {open, periodic} |
int > 0 | mx | subdivision of cuboid (x-axis) | 1 |
int > 0 | my | subdivision of cuboid (y-axis) | 1 |
int > 0 | mz | subdivision of cuboid (z-axis) | 1 |
- Constraints
[Input] | Lx > 0 | [Parameter range] Lx > 0 |
[Input] | Ly > 0 | [Parameter range] Ly > 0 |
[Input] | Lz > 0 | [Parameter range] Lz > 0 |
[Input] | mx > 0 | [Parameter range] mx > 0 |
[Input] | my > 0 | [Parameter range] my > 0 |
[Input] | mz > 0 | [Parameter range] mz > 0 |
TopIns
3D topological insulator
- Properties
- Complex Hermitian
- Parameters
int > 0 | Lx | dimensions of cuboid (x-axis) | 5 |
int > 0 | Ly | dimensions of cuboid (y-axis) | 5 |
int > 0 | Lz | dimensions of cuboid (z-axis) | 5 |
double | t | hopping strength | 1.0 |
double | m | tuning parameter | 0.0 |
double | D1 | symmetry breaking (IS+TRS) | 0.0 |
double | D2 | symmetry breaking (IS) | 0.0 |
double | ranpot | random on-site potential [-ranpot, ranpot] | 0.0 |
Option | boundary_conditions | boundary conditions | {open, periodic} |
Seed | seed | random seed | 1 |
int > 0 | mx | subdivision of cuboid (x-axis) | 1 |
int > 0 | my | subdivision of cuboid (y-axis) | 1 |
int > 0 | mz | subdivision of cuboid (z-axis) | 1 |
- Constraints
[Input] | Lx > 0 | [Parameter range] Lx > 0 |
[Input] | Ly > 0 | [Parameter range] Ly > 0 |
[Input] | Lz > 0 | [Parameter range] Lz > 0 |
[Input] | mx > 0 | [Parameter range] mx > 0 |
[Input] | my > 0 | [Parameter range] my > 0 |
[Input] | mz > 0 | [Parameter range] mz > 0 |
Tridiagonal
Tridiagonal matrix
- Properties
- Complex Hermitian
- Parameters
idx > 0 | n | matrix dimension | 100 |
double | diag | diagonal element | 0.0 |
double | offdiag | off-diagonal element | 1.0 |
double | phi | phase for off-diagonal element | 0.0 |
- Constraints
[Input] | n > 0 | [Parameter range] n > 0 |
TridiagonalComplex
Non-symmetric tridiagonal matrix
- Properties
- Complex General
- Parameters
idx > 0 | n | matrix dimension | 100 |
double | diag_re | diagonal element | 0.0 |
double | diag_im | diagonal element | 0.0 |
double | subdiag | off-diagonal element (below diagonal) | 1.0 |
double | supdiag | off-diagonal element (above diagonal) | 1.0 |
- Constraints
[Input] | n > 0 | [Parameter range] n > 0 |
TridiagonalReal
Non-symmetric tridiagonal matrix
- Properties
- Real General
- Parameters
idx > 0 | n | matrix dimension | 100 |
double | diag | diagonal element | 0.0 |
double | subdiag | off-diagonal element (below diagonal) | 1.0 |
double | supdiag | off-diagonal element (above diagonal) | 1.0 |
- Constraints
[Input] | n > 0 | [Parameter range] n > 0 |
Benchmark suites
Simple
Simple
Simple suite
- Description
- Presently, in ScaMaC v0.8.2, the benchmark suite is included for testing purposes only.
- List of matrices (BmSimple-m-x)
BmSimple-1-x = Hubbard
- The Hubbard model is included because of its ubiquity.
BmSimple-2-x = Anderson