How redefine the lattice orientation by pymatgen?

Hi, I need to redifine the orientation of the lattice from (1 0 0), (0 1 0), (0 0 1) to (1 1 1), (1 1 -2)/2, (1 -1 0). I found a possible solution from another post( How to redefine lattice by pymatgen - pymatgen - Materials Science Community Discourse (matsci.org)). However, when I applied that method, the transformed lattice is not perpendicular to each other. How can I corretly perform the transformation on lattice and atomic fractional positions at the same time?

Hi @xiangluo012 can you post a code example to demonstrate your question? The vectors of the lattice you want to transform to are not orthogonal to the original lattice

  1. The form of the permitted lattice transformation matrix depends on the particular type of space group, so I think this simple description is meaningless.

  2. As a basic fact, if your lattice is defined on a primitive cell, all lattice matrix elements must be represented as integers.