I understand how bezier curves can be expressed in matrix form: you have a matrix multiplied by a vector containing the power series of t, and also multiply be a vector containing the control points. After multiplication you sum the elements of the vector to get the final value.
I get that these basic ideas could also apply to B-splines, since they have basis functions per control point, so could do similar operations with matrix math as you can do with Bezier curves.
What confuses me though is that bspline basis functions are conditional. The lowest order basis function that the higher ones are based on has a value of 1 if the time value is between the specified knot values, else it's 0.
I see plenty of mentions of a matrix form of B-splines, but how could a matrix take the conditional test into account? Or is the key that you test the conditional before doing the matrix math? Or maybe something else?
A bit confused, thanks for any help you can provide!