make_equivalent_property_values#

libcasm.xtal.make_equivalent_property_values(
point_group: collections.abc.Sequence[SymOp],
x: Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, 1]'],
property_type: str,
basis: Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, n]'] = array([], shape=(0, 0), dtype=float64),
tol: SupportsFloat | SupportsIndex = 1e-05,
) list[Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']]#

Make the set of symmetry equivalent property values

Parameters:
  • point_group (list[SymOp]) – Point group that generates the equivalent property values.

  • x (array_like, shape=(m,1)) – The property value, as a vector. For strain, this is the unrolled strain metric vector. For local property values, such as atomic displacements, this is the vector value associated with one site.

  • property_type (string) –

    The property type name. See the CASM Degrees of Freedom (DoF) and Properties documentation for the full list of supported properties and their definitions.

  • basis (array_like, shape=(s,m), optional) – The basis in which the value is expressed, as columns of a matrix. A property value in this basis, x, is related to a property value in the CASM standard basis, x_standard, according to x_standard = basis @ x. The number of rows in the basis matrix must match the standard dimension of the CASM supported property_type. The number of columns must be less than or equal to the number of rows. The default value indicates the standard basis should be used.

  • tol (float, default=1e-5) – The tolerance used to eliminate equivalent property values

Returns:

equivalent_x – A list of distinct property values, in the given basis, equivalent under the point group.

Return type:

list[numpy.ndarray[numpy.float64[m, 1]]]