I've been reading Linear Algebra and its Applications to help understand computer science material (mainly machine learning), but I'm concerned that a lot of the information isn't useful to CS. For example, knowing how to efficiently solve systems of linear equations doesn't seem very useful unless you're trying to program a new equation solver. Additionally, the book has talked a lot about span, linear dependence and independence, when a matrix has an inverse, and the relationships between these, but I can't think of any application of this in CS. So, what parts of linear algebra are used in CS?
The parts that you mentioned are basic concepts of linear algebra. You cannot understand the more advanced concepts (say, eigenvalues and eigenvectors) before first understanding the basic concepts. There are no shortcuts in mathematics. Without an intuitive understanding of the concepts of span and linear independence you won't get far in linear algebra.
Some algorithms only work with full rank matrices – Do you know what that means? Do you know what can make a matrix not full rank? How to handle this? You will have no clue if you don't know what linear independence is.
The Gaussian elimination algorithm that is used to solve linear equations can actually be numerically unstable if implemented improperly, and this is something that you might have to worry about in some cases. Without understanding the algorithm you won't know where the problem comes from and whether there's anything you can do about it – not at the level of algorithms for solving linear equations, but at the level of coming up with the correct linear equations to solve.
In short, don't be lazy, and take it on faith that these things are useful.
Linear algebra is sometimes extremely useful and powerful in graph algorithms. With the matrix-tree theorem you can efficiently count the number of spanning trees a graph has (you need to understand eigenvalues). A more challenging application, where you need an even firmer grasp of linear algebra is the FKT algorithm for computing the number of perfect matchings in a planar graph in polynomial time.
There are many more exciting examples of uses of linear algebra in algebraic graph theory and spectral graph theory. The algorithms that arise are not only for counting problems like the two examples I gave. For instance, you can also check for connectivity, or compute the diameter of a graph.
One of the most well known uses of linear algebra is in Google's Pagerank algorithm:
The PageRank values are the entries of the dominant left eigenvector of the modified adjacency matrix.
There are plenty of matrix algebra based algorithms and techniques out there. And that's great. Principal component analysis is an example of some fairly useful applied linear algebra. The same can be said about Fourier analysis, which also has its roots in orthogonality and inner products. So there are direct applications.
BUT, even more importantly, taking a linear algebra class is valuable because it teaches you to think in a certain way. Most good linear algebra classes place emphasis on generalisation, logic and proofs. Is something true in general, or just certain specific, common cases? How can you be certain? Being able to think about how to prove your assumptions is good because it helps you keep yourself from making bad assumptions and writing code that doesn't generalise in the way you're assuming it does. It also helps you think about how to generalise things which might otherwise be difficult to generalise, and that let's you solve bigger problems.
In summary, it's good to keep in mind that linear algebra is good because it's weight lifting for the part of your brain that is useful in computer science.
Almost anything involving computer graphics, animation, computer vision, image processing, scientific computing, or simulation of physical phenomena will involve extensive use of vectors and matrices (linear algebra) from simple things like representing spatial transformations and orientations, to very complex algorithms. These things used to be the domain of supercomputing, but now these very same fields are the core of all the coolest apps on your desktop, phones, and everywhere else, from video games to computational photography to self-driving cars. Linear algebra is everywhere.