# Conjugacy classes (property)

This page documents an [OPTIMADE](https://www.optimade.org/) [Property Definition](https://schemas.optimade.org/#definitions). See [https://schemas.optimade.org/](https://schemas.optimade.org/) for more information.

**ID: [`https://schemas.anyterial.se/defs/v0.1/properties/pointgroups/conjugacy_classes`](https://schemas.anyterial.se/defs/v0.1/properties/pointgroups/conjugacy_classes.md)**  
**Definition name:** `conjugacy_classes`

**Property name:** Conjugacy classes  
**Description:** Conjugacy classes of a crystallographic point group.  
**Type:** list  

Each class lists its member operation indices, a representative operation, a conventional class label, and operation-type metadata used by the character tables.
Operation indices refer to positions in the `symops` list of the same point-group record, starting at 0.

**Requirements/Conventions**:

- It MUST be a list of dictionaries, one per conjugacy class, ordered consistently with the character tables.
- **size** MUST equal the length of **members**.
- **op\_type** is the signed integer rotation-type code of the representative operation: `1`, `2`, `3`, `4`, `6` for proper rotations, and the negated value for the corresponding rotoinversions, with `-2` denoting a mirror plane.

**Examples:**

- `[{"label": {"ascii": "E", "unicode": "E", "latex": "E"}, "size": 1, "members": [0], "representative": 0, "op_type": 1, "op_axis": [0, 0, 0]}, {"label": {"ascii": "i", "unicode": "i", "latex": "i"}, "size": 1, "members": [1], "representative": 1, "op_type": -1, "op_axis": [0, 0, 0]}]`

**Formats:** [[JSON](conjugacy_classes.json)] [[MD](conjugacy_classes.md)]

**JSON definition:**

``` json
{
    "$id": "https://schemas.anyterial.se/defs/v0.1/properties/pointgroups/conjugacy_classes",
    "$schema": "https://schemas.optimade.org/meta/v1.3/optimade/property_definition.json",
    "title": "Conjugacy classes",
    "x-optimade-type": "list",
    "x-optimade-definition": {
        "kind": "property",
        "version": "0.1.0",
        "format": "1.3",
        "name": "conjugacy_classes",
        "label": "conjugacy_classes_pointgroups"
    },
    "type": [
        "array",
        "null"
    ],
    "description": "Conjugacy classes of a crystallographic point group.\n\nEach class lists its member operation indices, a representative operation, a conventional class label, and operation-type metadata used by the character tables.\nOperation indices refer to positions in the `symops` list of the same point-group record, starting at 0.\n\n**Requirements/Conventions**:\n\n- It MUST be a list of dictionaries, one per conjugacy class, ordered consistently with the character tables.\n- **size** MUST equal the length of **members**.\n- **op\\_type** is the signed integer rotation-type code of the representative operation: `1`, `2`, `3`, `4`, `6` for proper rotations, and the negated value for the corresponding rotoinversions, with `-2` denoting a mirror plane.",
    "x-optimade-unit": "inapplicable",
    "items": {
        "x-optimade-type": "dictionary",
        "type": [
            "object",
            "null"
        ],
        "description": "One conjugacy class of a crystallographic point group.",
        "properties": {
            "label": {
                "x-optimade-type": "dictionary",
                "type": [
                    "object",
                    "null"
                ],
                "description": "Rendered class label.",
                "properties": {
                    "ascii": {
                        "x-optimade-type": "string",
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Plain-text rendering intended for logs, command-line output, or compact display.",
                        "x-optimade-unit": "inapplicable"
                    },
                    "unicode": {
                        "x-optimade-type": "string",
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Unicode rendering of the same label.",
                        "x-optimade-unit": "inapplicable"
                    },
                    "latex": {
                        "x-optimade-type": "string",
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "LaTeX rendering of the same label.",
                        "x-optimade-unit": "inapplicable"
                    }
                },
                "x-optimade-unit": "inapplicable"
            },
            "size": {
                "x-optimade-type": "integer",
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Number of point-group operations in the class. It MUST equal the length of `members`.",
                "x-optimade-unit": "inapplicable"
            },
            "members": {
                "x-optimade-type": "list",
                "type": [
                    "array",
                    "null"
                ],
                "description": "Indices into the `symops` list of the operations belonging to this class.",
                "items": {
                    "x-optimade-type": "integer",
                    "type": [
                        "integer",
                        "null"
                    ],
                    "description": "Operation index into `symops`.",
                    "x-optimade-unit": "inapplicable"
                },
                "x-optimade-unit": "inapplicable"
            },
            "representative": {
                "x-optimade-type": "integer",
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Index into `symops` of a representative operation for the class.",
                "x-optimade-unit": "inapplicable"
            },
            "op_type": {
                "x-optimade-type": "integer",
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Signed integer rotation-type code of the representative operation; negative values denote rotoinversions, with `-2` denoting a mirror plane.",
                "enum": [
                    1,
                    -1,
                    2,
                    -2,
                    3,
                    -3,
                    4,
                    -4,
                    6,
                    -6
                ],
                "x-optimade-unit": "inapplicable"
            },
            "op_axis": {
                "x-optimade-type": "list",
                "x-optimade-dimensions": {
                    "names": [
                        "dim_lattice"
                    ],
                    "sizes": [
                        3
                    ]
                },
                "type": [
                    "array",
                    "null"
                ],
                "description": "Integer-vector axis or invariant direction of the representative operation; `[0, 0, 0]` when no axis is applicable.",
                "items": {
                    "x-optimade-type": "integer",
                    "type": [
                        "integer",
                        "null"
                    ],
                    "description": "One integer component of the axis vector.",
                    "x-optimade-unit": "inapplicable"
                },
                "x-optimade-unit": "inapplicable"
            }
        },
        "x-optimade-unit": "inapplicable"
    },
    "examples": [
        [
            {
                "label": {
                    "ascii": "E",
                    "unicode": "E",
                    "latex": "E"
                },
                "size": 1,
                "members": [
                    0
                ],
                "representative": 0,
                "op_type": 1,
                "op_axis": [
                    0,
                    0,
                    0
                ]
            },
            {
                "label": {
                    "ascii": "i",
                    "unicode": "i",
                    "latex": "i"
                },
                "size": 1,
                "members": [
                    1
                ],
                "representative": 1,
                "op_type": -1,
                "op_axis": [
                    0,
                    0,
                    0
                ]
            }
        ]
    ]
}
```