We don’t tend to focus on specialized functions for wrapping all the things that are slow in python, since there are just too many

However, I’m not a numpy expert but it looks like you should be able to use the append() method with the axis argument to add a column/row to the array of points?

Thanks for your reply spiff. After discussing it with the team, they found a good way to do this with numpy which is way faster than running [matrix.Transform(p) for p in local_points].

That’s fantastic, @erikcarlson - numpy is pretty cool!

What you propose would be nice, but we made the decision that Vt should be “above” Gf in our software stack, so that VtValue and VtArray can support data-transformations between different core datatypes, and the Gf types are among those for which we pre-define transformations. So it’s not clear where such a vectorized matrix-multiply would sensibly be provided.