1D CVM Object Instance Attributes: wLeft Details

We illustrate how the specific values for a single object-oriented instance attribute are determined. We do this for the specific case of the “wLeft” instance attribute for the Node object in the 1-D cluster variation method (1D CVM) code. The same considerations will apply when we progress to the 2D CVM code.

The specific values for which we illustrate process here are for wLeft, which is one of several instance attributes for the Python object-oriented class Node.

This blogpost accompanies the YouTube “Code Walkthrough: 1-D Cluster Variation Method Object-Oriented Node Attributes.”

YouTube: Code Walkthrough: 1-D Cluster Variation Method Object-Oriented Node Attributes. (Accessed Aug. 30, 2023; available at https://www.youtube.com/watch?v=MChZ83EE3EY.)

Constructing a 1-D Cluster Variation Method Grid

A cluster variation method (CVM) grid will be composed of layers of zigzag chains.

A 1D CVM grid, which we address as a starting point, is comprised of a single zigzag chain, as show in the following Figure 1.

Figure 1. A 1-D cluster variation method (1D CVM) grid comprises a single zigzag chain, which is constructed as two overlapping (and slightly offset) rows of nodes.

CVM Configuration Variables

There are four different types of local configuration variables in the cluster variation method:

  • xi – activation (“on” or “off”) of a given node (also referred to as a “unit”).
  • yi – nearest-neighbor interactions,
  • wi – next-nearest-neighbor interactions, and
  • zi – triplet interactions.

Figure 2 shows each of these kinds of local configuration variables.

Figure 2. There are four different kinds of local configuration variables used in the cluster variation method (both 1-D and 2-D). Details in the text.

The yi (nearest-neighbor interactions) are actually between a node and nodes in the row above or below that node.

The wi (next-nearest neighbor interactions) are those between a node and its neighboring nodes in the same row. (When we get to 2D CVM grids, this will expand to include rows that are two rows above and two rows below a given node’s row.)

The zi (triplets) will involve multiple rows.


Object-Oriented Nodes in the CVM Code

We take an object-oriented approach, using Python, to creating Node objects in our CVM code.

In this blogpost, we walk through how we compute a single instance attribute – wLeft – for a given Node instance.

Figure 3. We use Python Node objects in our CVM code. Each Node object has instances that include local configuration variable attributes, from the perspective of a given node. These instance attributes correspond to the specific type of configuration variable, using notation first created by Kikuchi (1951). Thus, the wLeft attribute identifies the kind of w next-nearest neighbor that a given node has with regard to its left-most nearest neighbor. See text for details.

Determining wLeft Attribute Values

The YouTube referenced at the beginning of this blogpost provides a detailed walkthrough for computing the wLeft attribute for each node in a 1-D CVM grid.


Resources and References

Themesis GitHub Repository

AJM’s Note: This is new. This is the first time that we are pointing you to a code repository – with the intention that this will not just be code, but also PPTs (MS-PPTXTM) of how the code for computing local variables is based on the CVM (cluster variation method) grid architecture, code walkthroughs, worked examples, etc.

AJM’s Further Note: This code is the baseline for the interactive code, which is still (as of this writing) being added-on-to and debugged. HOWEVER, it’s got a fun little Python turtle graphics illustration of the 1-D CVM baseline that we’ll be using. The specific code is: simple-1D-CVM-w-Python-turtle-1pt3pt6-…

Prior Related YouTubes

Maren, Alianna J. 2023. “The Matrix: Framework for a New Class of Neural Networks.” Themesis YouTube Channel (June 22, 2023). (Accessed June 22, 2023, available online at https://www.youtube.com/watch?v=gVuC8we6f1M.)

Prior Related Blogposts

AJM’s Note: These blogposts were written ages ago – under AJM’s personal blogsite. We’ll be creating more materials soon.

AJM’s Note: Prior Themesis blogpost – a placeholder post – which will be moved (in date) to be NEXT WEEK’S POST as soon as we update the code and update the post.

The Single Most Useful Research Paper

1-D Cluster Variation Method: Computational Result

  • Maren, Alianna J. 2016. “The Cluster Variation Method: A Primer for Neuroscientists.” Brain Sci. 6(4), 44, https://doi.org/10.3390/brainsci6040044; online access, pdf; accessed 2018/09/19.

Two Important CVM Origination Papers

  • Kikuchi, R. (1951). “A Theory of Cooperative Phenomena.” Phys. Rev. 81, 988-1003, pdf, accessed 2018/09/17.
  • Kikuchi, Ryiochi., & Brush, Stephen G. 1967. “Improvement of the Cluster‐Variation Method,” J. Chem. Phys. 47(1), 195; online as: online – for purchase through American Inst. Physics. Costs $30.00 for non-members.


Challenge Exercise

For those who wish to gain more depth with a 1-D CVM grid, we suggest the following from Maren (2016):

  • Scan the Intro, largely skipping the Brain-Computer Interface (BCI) paragraphs. (We believe that CORTECONs will be useful for BCI down the road, but that is not pertinent right now.)
  • Lightly read Sect. 2.3. Neural Motifs, Topographies, and Pattern-Formation – this is general background, again not essential.
  • Sect. 3, Statistical Mechanics for Neural Ensembles, is optional.
  • READ Sect. 4, “Configuration Variables: Describing Local Patterns.”
  • READ Sect. 5, “The Cluster Variation Method for a 1-D Zigzag Chain.”
  • We’ll pick up with the analytic solutions and phase space discussions in later blogposts and YouTubes.

Thank you for joining! – AJM


The Most Powerful Reason for Doing This …

Let’s get serious.

There’s only one reason for working through this code, these equations:

Share via
Copy link
Powered by Social Snap