Переход от управляемого к неуправляемому коду или от неуправляемого к управляемому коду для отдельных операций является дорогостоящим и не стоит его для отдельных операций. То есть затраты на управляемые или неуправляемые или неуправляемые управляемые затраты при вызове умножения матриц будут выше, чем затраты на умножение в реализации, встроенной в ваш код, хотя пакетные операции помогают.
Для того, что вы обсуждаете, использование F # таким способом не принесет заметной пользы. Также следует отметить, что у вас уже есть несколько математических библиотек, таких как XNAMath (который поставляется с DXSDK) для базовых графических преобразований.
В физическом плане вы должны предпочесть использовать физическое промежуточное программное обеспечение (PhysX, Bullet и т. Д.), Так как они гораздо более зрелые, хорошо протестированные и, как правило, упростят разработку в долгосрочной перспективе. Написание вашей собственной физической реализации не рекомендуется, за исключением случаев обучения КАК это делать.