I understand that in OOP languages like C#, it is generally viewed as bad practice to create utility classes, and it's preferable to put methods in the classes in which they will be used.
To that end, I wanted to create a transpose() extension method for double[,] types; however, it told me that extension methods must be declared in non-generic static classes. The problem is that the class that's supposed to utilize the method is meant to be instantiated.
Should I create a static Math class (I do have other methods I could put in it), or should I just make it a regular function rather than a static function?
(The class it's in is a neuralNetwork class, and it doesn't really make sense to create a static class and have neuralNetwork inherit from it).