(s, l, r)
| 133 | return A |
| 134 | |
| 135 | def build_scaling_rotation_4d(s, l, r): |
| 136 | L = torch.zeros((s.shape[0], 4, 4), dtype=torch.float, device="cuda") |
| 137 | R = build_rotation_4d(l, r) |
| 138 | |
| 139 | L[:,0,0] = s[:,0] |
| 140 | L[:,1,1] = s[:,1] |
| 141 | L[:,2,2] = s[:,2] |
| 142 | L[:,3,3] = s[:,3] |
| 143 | |
| 144 | L = R @ L |
| 145 | return L |
| 146 | |
| 147 | def safe_state(silent): |
| 148 | old_f = sys.stdout |
no test coverage detected