Define paths through abstract vector spaces, and work with them efficiently.
MIT License
= Meander.jl Sean Marshallsay [email protected] :source-highlighter: highlightjs :highlightjs-languages: julia :reproducible:
image:https://img.shields.io/badge/docs-dev-blue.svg[title="Dev", link="https://seamsay.gitlab.io/Meander.jl/dev"] image:https://gitlab.com/seamsay/Meander.jl/badges/main/pipeline.svg[title="Build Status", link="https://gitlab.com/seamsay/Meander.jl/pipelines"] image:https://gitlab.com/seamsay/Meander.jl/badges/main/coverage.svg[title="Coverage", link="https://gitlab.com/seamsay/Meander.jl/commits/main"]
[.text-center] image::docs/src/assets/logo-title.svg["The Meander.jl logo."]
Meander is a Julia package for easily defining and iterating through paths in abstract vector spaces. In particular this package was written with Brillouin zone https://en.wikipedia.org/wiki/Brillouin_zone#Critical_points[critical points] in mind, but should work fine with any kind of abstract vector space. See the examples below, or check the documentation link in the badges above.
== Examples
=== Brillouin Zone Critical Points
include::test/examples/brillouin/code.jl[]
<1> Define the path by specifying the critical points, creating an iterator with a length
of N
(1000 in this case).
<2> Retrieve the indices of the iterator at which each of the critical points appears.
<3> Retrieve the tags that were used to define the critical points.
<4> The results of indices
and tags
can be passed straight to Makie.
<5> The path is an entirely normal iterator, that can be used for broadcasting and other such things.
image::test/examples/brillouin/output.png["dispersion.png"]