GithubHelp home page GithubHelp logo

msg-byu / clusterenumeration.jl Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 24.77 MB

Enumerate clusters for alloy CE models and build correlation matrices for fitting tests

License: MIT License

Roff 2.72% Julia 0.84% Jupyter Notebook 96.44%

clusterenumeration.jl's Introduction

Getting a complete cluster set

In the cluster expansion method, the clusters (geometric "figures" + basis function labels, "s-vectors") form an orthonormal basis.

But when a finite number of clusters are used and the training set is finite, the cluster basis will no longer be orthonormal or even linearly independent in the subspace of training set structures. Clusters may be degenerate (like higher order fourier terms that are "aliased").

The purpose of this code is to generate a set of clusters that form a full-rank correlation matrix, that is every structure in the training set is linearly dependent under the choice of the cluster pool.

The general strategy is, for each input structure, to generate all possible clusters (of every vertex order) using the lattice sites in the unit cell of the input structure. This list is concantenated for every input structure. The resulting set will generally have more clusters than necessary but will not be missing any clusters needed for a full-rank correlation matrix. (Historically, when clusters are generated from the lattice, using heuristic cut-off's etc., the correlation matrix is always rank deficient.)

The cluster pool can be "trimmed" after the full rank is verified by using only those clusters that are linearly independent.

clusterenumeration.jl's People

Contributors

glwhart avatar

Stargazers

LATTE avatar BPY avatar Wei Xie avatar

Watchers

Wei Xie avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.