4 ms·
The process itself is visualised here well but can someone explain why anyone would want to multiply matrixes? Yes, I know where it is used and I did my fair sh
by mrtksn 5y ago
The process itself is visualised here well but can someone explain why anyone would want to multiply matrixes? Yes, I know where it is used and I did my fair share back in college but it never really clicked for me in intuitive manner.
Why simply don't go procedural and skip the matrix representation altogether? Using matrixes in physics calculations, for example, feels like disassociating the intuitiveness of the physics for the sake of the matrix calculation tools. When I look at a matrix of values I don't see anything.
- paulpauper 5y agoa major application is markov chains
- mrtksn 5y agoHow do you think about it in intuitive way?
- Jtsummers 5y agoIn a Markov chain, the matrix (or matrices) are similar to the matrix representation of a graph (without brackets): a b c d a 1 0 1 0 b 1 1 0 0 c 0 0 1 1 d 1 0 0 1 Written another way, the above graph has these directed edges: a -> a, a -> c b -> a, b -> b c -> c, c -> d d -> a, d -> d In a Markov chain, the possible state transitions (graph edges) are represented in the same way, but instead of a 1 or 0 (connects or doesn't connect) a probability is assigned to each possible transition. https://en.wikipedia.org/wiki/Examples_of_Markov_chains https://en.wikipedia.org/wiki/Examples_of_Markov_chains - Several examples with a mix of prose, graphical presentation, and the matrix representation.
- eurasiantiger 5y agoConnectedness between words.
- kzrdude 5y agoThe benefit is reusing the matrix theory - matrix knowledge(!) - in different contexts. In some cases making a matrix in physics is a quite sterile representation, like you suggest, like plugging in the numbers in an otherwise generally stated question. The matrix values depend on choices of coordinate system and everything, quite inelegant in that way. Why practically use matrixes on the computer? It's efficient to compute in blocks instead of one by one.
- gizmo686 5y agoMost of the time, the objects you are actually interested on are not NxM grids of numbers, but linear functions. For simplicity, I will assume we are working with real numbers. Suppose you have two linear functions: f :: R3 -> R3 h :: R3 -> R2 and a point: x :: R3 The first problem you have if you want to work with these functions is how to represent them. As it turns out, assuming you have a set of basis vectors, any linear function Rn -> Rm can be represented by exactly n * m real numbers. Further, if we arrange these numbers in a grid it is easy to fill in the grid if you know how the function acts on the basis vectors, and it is easy to read off how the function acts on the basis vectors from the grid. Similarly, a point in Rn can be represented by exactly n real numbers. Again, this representation depends on a choice of basis vectors. For simplicity, let [?] represent the matrix representation of ?. The second problem you want to tackle is how to compute function application y = f(x). Given the representations defined above, y is the point in R3 that is represented by the result of the matrix multiplication [f][x]. The third problem you want to solve is how to compute the function composition g = f∘h. Again, g is the function given by the matrix representation [g] = [f][h]
- bee_rider 5y agoOne example: Physics can sometimes involve pretty gnarly integrals. Some of the intuitiveness of physics comes from the fact that we study the cases where we can get a closed-form solution -- nice geometric shapes for example, where we can set up a nice mathematically described surface integral or whatever. Unfortunately, engineers insist on designing devices which are neither perfect spheres nor perfectly flat planes (ridiculous!), and they might only have equations to describe how properties change in time or space. In this case, it can be easier to discretize the thing into a mesh, and use a matrix to describe how the physical phenomena at the points of that mesh relate to each other.
- hervature 5y agoThe other responses to your question are classic mathematicians giving math answers to someone who doesn't see why the math is useful in response to asking why is the math is useful. The most straightforward application is solving systems of equations. From early high school, we have problems like x+y=2 and x-y=3 and are asked to solve these. We then add a z (and maybe a w) and solve systems of 3 (or 4) equations before realizing it gets annoying very quickly. Linear algebra is simply the generalization of solving these equations. Instead of writing out all those equations line by line, let's make a new notation as: [[1,1],[1,-1]] @ [[x,y]] = [[2,3]] @ is of course matrix multiplication but what it does does not really matter. Only that it performs some "function". But is this notation helpful? It turns out this function is really useful to answer other questions. From here, we can go on to show very interesting things like how to find the answers for x and y. It turns out that it has a recursive process similar to when solving it by hand (isolate one of the variables, plug into another equation, isolate another, ...) and part of this recursive process has a pattern we will call the determinant. Turns out that when the determinant is 0, funny things happen. The point is that it all started by trying to solve these equations which are interesting from a mathematical point of view but also show up naturally in many business applications. See Leontief's Model [1] for how this could be useful. Consumption equals production and bills being linear (#apples * $apples + #bananas * $bananas + ... = total spent) make linear systems arise naturally. All the things that come later, eigenvalues, SVD, etc. were all discovered as mathematical curiosities and later realized that they had very useful applications such as solving OLS and compression. [1] - https://www.math.ksu.edu/~gerald/leontief.pdf https://www.math.ksu.edu/~gerald/leontief.pdf
- MaulingMonkey 5y agoMatrix math is just a standardized, regularized way of doing a whole hell of a lot of multiplication and addition en mass. Disassociation is arguably the goal: instead of remembering to add this, but multiply that, but divide this other thing, and subtract that... you just take the dot product of every row of the left matrix vs every column of the right matrix. Is is procedural math... if you optimize for simplicity of procedure. Optimizing for simplicity of procedure can make computers quite happy, and reduce errors by humans (they can still make arithmetic errors, but will make fewer errors of procedure)... and also lets you build reusable optimizations to that simple procedure (math theory about matricies) that can then be shared across multiple domains (a lot of work has been put into optimizing e.g. sparse matricies.) Figuring out an intuitive understanding of matrix values can be done, although it depends on the problem domain you're applying them to. My problem domain of choice is computer graphics. Rotating a vertex of a triangle can be done using a 3x3 matrix: [ ux_x, ux_y, ux_z ] [v_x, v_y, v_z] [ uy_x, uy_y, uy_z ] = [o_x, o_y, o_z] [ uz_x, uz_y, uz_z ] v_{...} is an input vertex position o_{...} is an output vertex position Can this be visualized? Yes! ux_{...} is where a unit x vector (1,0,0) will end up at uy_{...} is where a unit y vector (0,1,0) will end up at uz_{...} is where a unit z vector (0,0,1) will end up at What if I want to add an offset/position to all the verticies? Well, we don't want the multiplication bits then, so we need a 1 to have a noop multiply: [v_x, v_y, v_z, 1.0] And then we can use that 1.0 to add a new row to our matrix which will get added to the final output: [ ux_x, ux_y, ux_z ] [ uy_x, uy_y, uy_z ] [ uz_x, uz_y, uz_z ] [ t_x, t_y, t_z ] Bam, we added [t_x, t_y, t_z] to [o_x, o_y, o_z]. t_{...} is then easily visualized as the new position where verticies were at the origin (0,0,0) will end up at, and u{...} becomes the position of the unit vectors relative to that origin, instead of in absolute coordinates. EDIT: Adding a 4th column becomes useful for projection matricies in a way I don't have a super great intuition for... but it also lets us multiply transformation matricies together. This is quite useful: We can simplify "transform this vertex from the original mesh, into it's position relative to this larger model, into it's position in worldspace, into it's position relative to this camera" to "multiply against this single 4x4 matrix that we constructed using matrix multiplication."