It depends on your desired emphasis -- theoretical or computational?
From a more theoretical angle, Jim Hefferon has written an outstanding introductory book. It is free and open source, available with loads of supplementary material, here:
From a computational perspective, I've heard good things about Gilbert Strang's book, although I haven't read it personally. User superbcarrot linked to his MIT course materials, including video lectures.
One word of caution though: as a mathematics educator, I don't endorse "efficiency" as a goal. When I have pursued this goal myself, I have generally regretted it, and decided in retrospect that I was largely wasting my time.
To really learn math you should: do a ton of exercises, come up with your own questions and try to answer them, be willing to explore blind alleys.
From a more theoretical angle, Jim Hefferon has written an outstanding introductory book. It is free and open source, available with loads of supplementary material, here:
https://hefferon.net/source.html
From a computational perspective, I've heard good things about Gilbert Strang's book, although I haven't read it personally. User superbcarrot linked to his MIT course materials, including video lectures.
One word of caution though: as a mathematics educator, I don't endorse "efficiency" as a goal. When I have pursued this goal myself, I have generally regretted it, and decided in retrospect that I was largely wasting my time.
To really learn math you should: do a ton of exercises, come up with your own questions and try to answer them, be willing to explore blind alleys.
Good luck!