We generally distinguish between a 2D Array and a matrix in Numpy based on

A. The operations we apply to the array.
B. A general 2D array in NumPy is a more general data structure that can store elements of any data type and perform +-/*
C. The multiplication behavior is different because for 2D arrays it performs element-wise multiplication
D. a matrix which performs linear algebra.