euuuhhhh, are people really not been taught this?
Eigenvalues/Eigenvector, space rotation, n-dimension dot product with missing dimensions, LU/RU system ...
How can people do computer science without this knowledge?
It is needed for
1) solving equations;
2) transforming 3D vector and then projecting them on a 2D space (a screen) ;
3) text indexation;
4) resolving graph problem (like drawing a CPU based on declaring connection between "wires"...
5) and with dual space you access even more fire power (fourier, laplace...);
6) clustering db is homeomorph to a balanced n-partition of a graph;
Geometry is one of the most powerful tool prior to the knowledge of any programming language in computer industry.
You seem to be suffering from a variant of the Typical Mind Fallacy [1], let's call it... the Typical Programmer Fallacy. Most programmers never need to do things you mentioned, or anything else that requires linear algebra.
As the ultimate dunce of my former universities, and being scorn in computer related job for dismissing technologies I did not fully grasped, I am feeling a total empathy with people that would be hurt by my own words.
However, I do feel it is necessary: even a limited person can improve by taking all of the juice of the most simple basic maths. I cheat, I use real world out of computer science simple solution in my code.
I noticed the "good student/developers" who were talented tend to solve problem the complicated way. And they developed both an agility and comfort zone out of it. So that my way of helping them saying: «hey man, programming is not about writing code, it is about solving problem with well known, basic understanding.»
You could call it «revenge». I call it irony. And if my words could hurt someone, since I am way more moderated than what I had to cope with, then I consider I am nice.
PS I do AM surprised this knowledge is not a requirement for CS.
Like knowing non linear problem (like estimating the cost of resource "per user" on the cloud with all their "discrete" rough edged pricing plan) cannot be solved with linear algebra.
The cloud, the cost of IP transit (95th percentile) are defeating by nature any possible estimations. And still I see PhD and geniuses trying to code with linear equations the pricing based on the evolution of users. This is mathematically impossible.
So am I a genius, a dunce or what? I would be glad to know I am wrong, I would stop wondering.
Of course non-linear problems can be solved in linear algebra. This is the basis of the Gauss–Newton algorithm, which reduces a non-linear problem to the repeated solving of a linear system.
estimation through linear techniques don't work on non linear problems.
Else, if I have X users, tell me the formula to guess my IP transit bill when the number of users double?
If you study computer science, you will need to learn this. However I would guess that most or at least a lot of people here have never studied computer science at university level.
The problem is not the content of any text. Btw, yours is good, but actually not for me, not because you are any bad, but because my brain is this way.
Knowledge don't magically jump into the brain of people.
The most important part about knowledge is not its raw packed informative formalism but the teaching, or letting enough leisure time for people to study by themselves. It is the art of letting people build their own intuitive understanding. No computer, no books, no things can replace a good teacher, or a a good book that suits you.
That is why we need to disagree ;) dialog, and then agree again. Because, maybe dialog is a way of learning.
How can people do computer science without this knowledge? It is needed for
1) solving equations;
2) transforming 3D vector and then projecting them on a 2D space (a screen) ;
3) text indexation;
4) resolving graph problem (like drawing a CPU based on declaring connection between "wires"...
5) and with dual space you access even more fire power (fourier, laplace...);
6) clustering db is homeomorph to a balanced n-partition of a graph;
Geometry is one of the most powerful tool prior to the knowledge of any programming language in computer industry.