T3Frame.is_consistent#

t3toolbox.frame_variations_format.T3Frame.is_consistent(rtol=1e-09)#
def is_consistent(self, rtol: float = 1e-9) -> NDArray:  # bool array, shape = stack_shape (scalar unstacked)

True (per stack element) if the left- and right-canonical reconstructions of the base point agree.

A frame stores both the left- and right-orthogonal core-TTs (see to_t3()); for a consistent frame they reconstruct the same base point. This checks ||left - right|| <= rtol * ||right|| in the dense Frobenius norm.

EXPENSIVE – densifies both reconstructions. Deliberately not part of validate() (which is structural and cheap). For a frame from t3_orthogonal_representations() (or from_t3()/orthogonalize()) consistency holds by construction; this is for sanity-checking hand-built bases.

Parameters:

rtol (float)

Return type:

NDArray