Writing a calculus book that's more rigorous than typical books is hard because if you go too hard, people will say that you've written a real analysis book and the point of calculus is to introduce certain concepts without going full analysis. This book seems to have at least avoided the trap of trying to be too rigorous about the concept of convergence and spending more time on introducing vocabulary to talk about functions and talking about intersections with linear algebra.
As a math professor who has taught calculus many times, I'd say there are many different things one could hope to learn from a calculus course. I don't think the subject distills well to a single point.
One unusual feature of calculus is that it's much easier to understand at a non-rigorous level than at a rigorous level. I wouldn't say this is true of all of math. For example, if you want to understand why the quadratic formula is true, an informal explanation and a rigorous proof would amount to approximately the same thing.
But, when teaching or learning calculus, if you're willing to say that "the derivative is the instantaneous rate of change of a function", treat dy/dx as the fraction which it looks like (the chain rule gets a lot easier to explain!), and so on, you can make a lot of progress.
In my opinion, the issue with most calculus books is that they don't commit to a rigorous or to a non-rigorous approach. They are usually organized around a rigorous approach to the subject, but then watered down a lot -- in anticipation that most of the audience won't care about the rigor.
I believe it's best to choose a lane and stick to it. Whether that's rigorous or non-rigorous depends on your tastes and interests as a learner. This book won't be for everybody, but I'd call that a strength rather than a weakness.
The rigorous form of the non-rigorous version is non-standard analysis: There really are tiny little numbers we can manipulate algebraically and we don't need the epsilon-delta machinery to do "real math". It's so commonsensical that both Newton and Leibniz invented it in that form before rigor became the fashion, and the textbook "Calculus Made Easy" was doing it that way in 1910, a half-century before Robinson came along and showed us it was rigorous all along.
> The rigorous form of the non-rigorous version is non-standard analysis
This is quite overstated. There are other approaches to infinitesimals such as synthetic differential geometry (SDG aka. smooth infinitesimal analysis) that are probably more intuitive in some ways and less so in others. SDG infinitesimals lose the ordering of hyperreals in non-standard analysis and force you to use some non-classical logic (intuitively, smooth infinitesimals are "neither equal nor non-equal to 0", wherein classical reasoning would conflate every infinitesimal with 0), but in return you gain nilpotency (d^n = 0 for any infinitesimal d) which is often regarded as a desirable feature in informal reasoning.
One of the dangers of a non rigorous approach is not being clear about relative rates. If you're not being precise you're going to confuse people when you say eg that in the limit this triangle is a right triangle. Or look at Taylor's theorem. In different limits you can say a curve is a line, a parabola, a cubic, etc.
Anyway you've already got Apostol - if it's just calculus as such get an older edition. Modern ones have extra goodies like linear algebra but have modern text book pricing (cries softly in $150/volume).
Getting an old enough edition of Apostol's "Calculus" to not include linear algebra might be a bit challenging. Linear algebra was added to both volumes in their second editions, which came out in 1967 for volume 1 and 1969 for volume 2.
The second editions are still the current edition, so no worry that you might be missing out on something if you go with used copies. If you do want new copies (maybe you can't find used copies or they are in bad shape) take a look at international editions.
A new copy of the international edition for India from a seller in India on AbeBooks is around $15 per volume plus around $19 shipping to the US. Same contents as the US edition but paperback instead of hardback, smaller pages, and rougher paper. (International editions also often replace color with grayscale but that's not relevant in this case because Apostol does not use color)).
You can also find US sellers on AbeBooks that has imported an international edition. That will be around $34 but usually with free shipping.
Indian editions sometimes have different question sets to prevent students from using them in other countries' coursework.
They also have a hologram sticker alongside a printed warning that they are not for sale or export outside of India, Nepal and a couple of other countries.
i bought a compilers book that was an Indian edition. The paper and print quality was so bad (like smudgy) that I could not read it and I didn’t think I was particularly picky about this. Not sure if I just got unlucky or if this is generally true?
I tried and failed to find some kind of concrete methodology that they used to get to the number 30 months. I'm still waiting for quadratic algebra to make my knowledge of linear algebra obsolete.
I like the subway analogy. I'm sure I've heard some version of it before, but maybe because I was younger I didn't really get it. It really is a little strange to tell kids who have never really directed their own lives before to start doing it all of a sudden.
There is a bit of a transition period; you have a lot more choice about what classes you're going to take in college than prior to that for example, and you're to a large degree choosing your own path there. But graduating is still the end of a structured path that you've been in nearly your whole life, so I think it's always going to feel pretty abrupt subjectively despite the fact that you have been acclimated a little bit over time.
It sounds like you might be confusing different parts of the stack. NVIDIA Dynamo for example supports vLLM as the inference engine. I think you should think of something like vLLM as more akin to GUnicorn, and llm-d as an application load balancer. And I guess something like NVIDIA Dynamo would be like Django.
1. Balance / schedule incoming requests to the right backend
2. Model server replicas that can run on multiple hardware topologies
3. Prefix caching hierarchy with well-tested variants for different use cases
So it's a 3-tier architecture. The biggest difference with Dynamo is that llm-d is using the inference gateway extension - https://github.com/kubernetes-sigs/gateway-api-inference-ext... - which brings Kubernetes owned APIs for managing model routing, request priority and flow control, LoRA support etc.
That's a good example - I can at least answer about why it's a difference: different target user.
As I understand the Dynamo SDK it is about simplifying and helping someone get started with Dynamo on Kubernetes.
From the user set we work with (large inference deployers) that is not a high priority - they already have mature deployment opinions or a set of tools that would not compose well with something like the Dynamo SDK. Their comfort level with Kubernetes is moderate to high - either they use Kubernetes for high scale training and batch, or they are deploying to many different providers in order to get enough capacity and need a standard orchestration solution.
llm-d focuses on helping achieve efficiency dynamically at runtime based on changing traffic or workload on Kubernetes - some of the things the Dynamo SDK encodes are static and upfront and would conflict with that objective. Also, large deployers with serving typically have significant batch and training and they are looking to maximize capacity use without impacting their prod serving. That requires the orchestrator to know about both workloads at some level - which Dynamo SDK would make more difficult.
In this analogy, Dynamo is most definitely not like Django. It includes inference aware routing, KV caching, etc. -- all the stuff you would need to run a modern SOTA inference stack.
You're right, I was confusing TensorRT with Dynamo. It looks like the relationship between Dynamo and vLLM is actually the opposite of what I was thinking -- Dynamo can use vLLM as a backend rather than vice versa.
This project appears to make use of both vLLM and Inference Gateway (an official Kubernetes extension to the Gateway resource). The contributions of llm-d itself seems to mostly be a scheduling algorithm for load balancing across vLLM instances.