Skip to main content

Python bindings for the Ising2D C++ simulation

Project description

Upload Python Package

PyIsing

PyIsing is a Python library for simulating the Ising model using C++ bindings via pybind11. It includes implementations of the Wolff and Metropolis Monte Carlo algorithms for efficient simulation of spin systems.

Features

  • Fast C++ core: Uses pybind11 to leverage high-performance C++ computations.
  • Wolff Algorithm: Implements cluster updates for efficient decorrelation.
  • Metropolis Algorithm: Standard single-spin update method.
  • Flexible Parameters: Supports different lattice sizes, temperatures.

installation

pip install pyising

for buliding from scratch

pythin setup.py install

usage

import pyising

temps = np.linspace(1, 4, 50)

L = 64
results = pyising.run_parallel_metropolis(temps, L, N_steps=N_steps,
                                          equ_N=equ_N,
                                          snapshot_interval=snapshot_interval,
                                          seed_base=seed_base,
                                          output_dir=output_dir,
                                          use_wolff=use_wolff,
                                          save_all_configs=save_all_configs
                                          )

References

I built the code based on the following code, added the python binding and made it modular after refining the structure. https://github.com/VictorSeven/IsingModel

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyising-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyising-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyising-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyising-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyising-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file pyising-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyising-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ef18795e6a25597b11cf0db5a52572f2cf36fc11e77e269214690018fc158c5
MD5 13df4e1594f41234bd2101cbc9e723b4
BLAKE2b-256 da2bdc118854a503f2e2ae8a00883c0fe33e8f2536e837d3933ce6b9543439ed

See more details on using hashes here.

File details

Details for the file pyising-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyising-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81ab720c6b9f1c0caa2467040df83d8fda1f20a817905c869f32f387b0fef6c8
MD5 bae02ef680e5a76d5cfa1adc8f502d2d
BLAKE2b-256 f4efdec830dae8ec32e771fae5bdb62eae5b362a07c257a8a9c685f204e98919

See more details on using hashes here.

File details

Details for the file pyising-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyising-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cee12c79cddf0587bf9c6e39fd11cea77b7a5d1e19e78e24cb06e4bf329ae2e3
MD5 466fc7760f52510617bdefdff4d19cb7
BLAKE2b-256 c55302d0e9629127f856d90a914dbb434b23e2401e61727673ceb85d0c94918f

See more details on using hashes here.

File details

Details for the file pyising-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyising-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cb55a32d0c295b4eb8e6d919c007cf48efffb2fe2754beae446331bc2896107
MD5 2e3fd09113330511568cdbd2158db500
BLAKE2b-256 c2034ac01daf1049bb13ad28818946ec3162b55f43402ab30482d09f0d833653

See more details on using hashes here.

File details

Details for the file pyising-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyising-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5a7bbd4874c304608bd3d12c159933f801fe144f6f23b2d92ea70d604b5016e
MD5 a4c8f3b6fef224702dfb694160fc6a4e
BLAKE2b-256 5e2b8b7b6286b021e83635743151e0b3ff10f4ee10227ebd77976384018f15d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page