# Knuth vol1 and Apostol.

• nascentmind

#### nascentmind

Hi,

I am doing self study with some special attention to number theory with application to computer science. I have Knuth vol1 and Apostol but I am finding Knuth exercises too tough and explanations too short and very less basic material to base proofs on. I find that simply reading Apostol's introductory material throws a lot of light on some of the problems. Does anybody else feel the same? Are Knuth's exercises designed so that I have to research mathematics from other books in order to solve them rather than find ideas from his own material? My aim is to learn and write proofs.

Last edited:

Knuths problems are very hard, its not expected you'll get all of them.

How would you suggest tackling Knuth?

You might want to refer to http://en.wikipedia.org/wiki/Concrete_Mathematics" [Broken] by Graham, Knuth and Patashnik. It expands in a really excellent way on the mathematical preliminaries in the Art of Computer Programming.

Last edited by a moderator:
Facing similar problems...
Think Knuth's are a bit to tough for my current level...

I have tried to read a bit of Concrete Mathematics, seems enjoyable..

As you have read concrete mathematics how is the treatment of function growth explained? I want to read deeply on it that is its evolution and the inner workings etc but I am not able to get resources on it.

nascentmind: You likely can find a copy of Concrete Mathematics in a local library. Chapter 9 is 58 pp on Asymptotics. Growth rates are classified and big-O is developed in detail including many worked examples of how to calculate rates of growth using big-O.

Are Knuth's exercises designed so that I have to research mathematics from other books in order to solve them rather than find ideas from his own material? My aim is to learn and write proofs.

Jeesh that Knuth book looks ridiculously unsuitable for someone looking to learn proof writing.
I remember looking for a discrete math book a couple of months ago to have a good look at
proofs & consciously remember not choosing this book despite it's fame.

My advice to you is to get Discrete Mathematics Demystified by Steve Krantz. Don't let the
amazon reviews fool you, this book is an absolute gem of a book. It has a lot of proofs in it,
it derives the real numbers from the naturals explaining equivalence classes etc... explains
the rudiments of logic, has some set theory, number theory and other great things.

This book along with the early chapters of Lay's Analysis with an Introduction to Proof will
give you such a brilliant understanding of proof methods that reading Apostol will become a
game of translating his theorems into a chain of implications starting from definitions :tongue:

I seriously found Apostol very intimidating when he would routinely assume "the converse
is true" or something not understanding the "logic" of it all, I really & truly recommend
taking a break from Apostol & Knuth and focusing on Krantz (at least, but Krantz & Lay
far more recommended) if your goal is, as you say, to learn and write proofs

Not only is the proof writing the goal, but also the applications of it to Computer Science. For eg I want some good understanding on ordering theory to tackle some problems in distributed systems such as providing partial ordering to events,vector clocks etc.

I'm a university student studying computer science. I'm currently trying to read Donald Knuth's 'The Art of Computer Programming'. I'm finding the maths in the book very difficult; even the first few chapters are hard for me to get my head around.

Can anyone recommend a book that will provide a good introduction to maths useful for computer science? Or even a companion book to TAOCP?

Can anyone recommend a book that will provide a good introduction to maths useful for computer science? Or even a companion book to TAOCP?

Yes. I am finding concrete mathematics by Knuth much better to understand. I feel it should complement TAOCP. Apart from that you should be reading as many discrete mathematics books as possible and working out the examples and exercises , at least that's what I am trying to do. As a bonus (and to see the applications of the concepts) you can try to apply some of the concepts in solving problems in project euler, IBM's ponder this or in contests like google top coder.