Calculating logarithms by hand

  • Thread starter Thread starter anisotropic
  • Start date Start date
  • Tags Tags
    hand Logarithms
AI Thread Summary
To quickly calculate logarithms by hand, methods such as using the change of base formula and Taylor series expansions are suggested for approximating values. The logarithm of a number can be simplified using the formula log(K * 10^N) = log(K/10) + N + 1, allowing for easier calculations with numbers less than 10. Memorizing logarithms of small integers, like 2 and 3, can aid in interpolation for other values. For quick estimates, rough methods such as interpolation between known logarithm values or using series expansions can provide sufficient accuracy for chemistry applications. Overall, these techniques focus on achieving speed and reasonable accuracy without the use of calculators.
anisotropic
Messages
59
Reaction score
0
Is there a way to quickly calculate a log by hand?

It needs to be "quick & dirty", much like other arithmetic done by hand (i.e. it doesn't have to be pretty, but needs to be quick and accurate, or at the very least, a very accurate estimate).

The only thing I can think of is trial & error. But that doesn't seem terribly efficient, or accurate, to me. Not to mention you would need good "number sense", making your initial guesses very accurate and thus saving you time.

So - what's the best way to do this?

Say for example:

Code:
log(7.0 x 10[SUP]-4[/SUP])

(10 to the power of what is equal to 7.0 x 10[SUP]-4[/SUP] ?)
or
Code:
-log(0.06)

(10 to the power of what is equal to 1/0.06 ?)

(In case you haven't guessed it - I need this skill largely for chemistry problems).
 
Last edited:
Mathematics news on Phys.org
You can memorize the expansion for ln(1-x) and get a quick approx. not sure how fast it converges.
 
Either use a slide-rule or a table of logarithms.
 
Seeing as these are values you are getting in chemistry often, you will be seeing scientific notation a lot, so a good place to start with be with simplification methods, esp this one:

log ( K * 10^N) = log (K/10) + N+1

That already simplifies the problem quite alot, as all you have to do really is to find the log of a number less than 10. Now we use NoMoreExams's suggestion as try to make use of the formula \log_e (1-x) = - (x + x^2/2 + x^3/3 + ... ) . This series only converges for -1\leq x < 1, which is ok since we got it into that form anyway. But what we have is a base 10 log, not a natural log.

The change of base formula says \log_{10} T = \frac{\ln T}{\ln 10}. For this method, we must remember a quick approximation to the recipricol of ln 10, 0.4343. The calculation we now want to make is to appoximate ln (K/10). So we let 1-x = K/10, solve for x and sub that x value into the series. Play around with it, 2 terms will get you about 2 sig figs most of the time. If not, 3 terms should be sufficient. Now that we have this value for ln (K/10) approximated, backtrack. So, first multiply that by 0.4343, then add N+1. And that should be done.

Example: log_{10} 6.8

First, Put that as log_{10} 0.68 + 1. 1-0.68 = 0.32

-( 0.32 + 0.32^2 /2) = -0.3712. Multiply by 0.4343: -0.1612. Add 1, 0.8388.

The actual value is 0.8325, so you got your 3 sig figs there, relatively easily.

Another example: log_{10} 0.84

- (0.16 + 0.16^2/2) = -0.1728. Multiply that by 0.4343: -0.07505. Actual value is -0.07572. Not shabby.
 
Nicely done, Gib Z.

(Though I would have said that -0.07572 is the value of log10 0.84 to 5 decimal places. It obviously is not the "actual value"!)
 
Another, crude method. How about memorizing the logs of 2,3,4,6, and 8? Then

log(A x 10n) = log(A) + n​

log(A) can be estimated by a rough interpolation using the known log(2), log(3), etc.

EDIT: actually, you just need to memorize logs of 2, 3, and maybe 7. The logs of the other digits can be derived from those:

log(4) = 2 log(2)
log(5) = log(10) - log(2)
log(6) = log(2) + log(3)
etc.

So
log(2) = 0.30
log(3) = 0.48
log(7) = 0.84​
Note for 3 and 7, you just reverse the order of the digits.
 
Last edited:
And if you need to do further refinement by hand, you can do some iterative work to improve your answer. e.g.

\log a = (1/2) \log a^2
or
\log 2a = \log a + log 2


For example, if I wanted log(3.6), I could compute
3.6^2 = 12.96 \approx 13
\log 3.6 \approx (1/2) (1 + \log 1.3)
and
1.3^2 \approx 1.7
1.7^2 \approx 3
giving
\log 3.6 \approx (1/2) (1 + (1/4) \log 3) \approx 0.560
(true value is 0.556...)

Of course, if I was even more clever, I would notice
\log 3.6 = (\log 36) - 1 = 2 \log 6 - 1 \approx 0.556
 
Comparing methods with Hurkyl:

Interpolating log(3.6): about 6/10 of the way between log(3) and log(4)

log(3) ≈ 0.48 from memorization
log(4) ≈ 2 log(2) = 2 x 0.30 = 0.60

log(4) - log(3) ≈ 0.12, so 6/10 of that is about 0.07

log(3.6) ≈ log(3) + 0.07
= 0.48 + 0.07
= 0.55​

Actual value = 0.556...
Hurkyl's = 0.56
 
Last edited:
Ok, I'm trying to understand Gib Z's method for starters and I'm pretty lost.

I'm by no means a math whiz. I don't even remember what a natural log (ln ?) really means. It's been years since I took calculus, and I never really did that well to begin with.

Gib Z said:
Example: log_{10} 6.8

First, Put that as log_{10} 0.68 + 1.

I don't understand this. How is 6.8 == 0.68 + 1 ? I suppose it has something to do with the law you posted before it?

EDIT: Ok, is the law the following?:

logx = [ log(x/10) ] + 1
 
Last edited:
  • #10
log(6.8) = log(0.68 x 10)
=log(0.68) + log(10)
=log(0.68) + 1​
 
  • #11
This is as far as I get, but I'm not sure how he's getting -(0.32 + 0.322/2):

log6.8 = log0.68 + 1
= (ln0.68/ln10) + 1
= (ln0.68/0.4343) + 1

I get:

ln0.68 = -(0.68 + 0.682/2)

It's obviously wrong. Should I just "memorize" to subtract the x value (0.68) from 1? I really don't care about concept here, just for it to work.

EDIT:

Gib Z said:
Example: log_{10} 6.8

First, Put that as log_{10} 0.68 + 1. 1-0.68 = 0.32

-( 0.32 + 0.32^2 /2) = -0.3712. Multiply by 0.4343: -0.1612. Add 1, 0.8388.
Why am I multiplying? Isn't it ln0.68/ln10 ?
 
Last edited:
  • #12
Well its because we are making use of the series;

\ln (1-x) = - ( x + \frac{x^2}{2} + \frac{x^3}{3} ... )

that we must subtract from 1 to start with, so we can get the left side to equal what we want to find. Although, since you don't really care about the mathematical details (im assuming) then it probably is easier just to memorize to do that.

And also,

\frac{ \ln 0.68}{\ln 10} = \ln 0.68 * \frac{1}{\ln 10}.

Basically, the 0.4343 is the approximation to 1/(ln 10). Its easier than to approximate ln 10 by itself, and then divide, because division is harder to do quickly than multiplication.
 
  • #13
Ok. I'm not paying much attention for some reason.

This is the fastest way to do logs though, right?

You see, I have a standardized exam coming up (not a lot of time per question). It's all about speed with enough accuracy so as to be able to see the answer among the options (multiple choice).

For one thing, I'm going to use 0.43, not 0.4343.
 
  • #14
I confess... unless you're actually in a race or trying to set speed records, I have great difficulty imagining that punching a few buttons on your calculator would mean the difference between doing well and doing poorly. (And difficulty imagining that training to compute logs quickly would be a more efficient use of time than cementing your understanding of the material)

Given your purpose, I wouldn't really bother spending any effort on base-10 logarithms beyond a single digit of accuracy... which is really easy to compute for a base-10 decimal.
 
  • #15
This is definitely the fastest method I've come up with for base 10 logs, yes.
Well, on your effort to cut down time, make sure you use at least up to the squared term rather than just the first (in the series), otherwise that will introduce a huge error.

And also, I guess you could multiply by just 0.43, but your giving up 1 or 2 dp for practically nothing, because once you've done the multiplication for the 0.43, the remaining 0.0043 is just a matter of writing down two zeros and adding! Very little extra effort for the 1 or 2 dps that could choose the answer.

Halls: O whoops my bad, sloppy =[

Hurkyl : I assumed he wasn't allowed a calculator, but now that I think of it, he should be? lol
 
  • #16
No calculators allowed.

Yea, I know... :rolleyes:
 
  • #17
I really don't understand how they expect chemistry students to be able to numerically approximate logs. But whatever.
 
  • #18
It's not strictly a chemistry exam. We're expected to have some basic calculus experience, biology, etc.
 
Last edited:
  • #19
Did the professor give you a method that you don't like, or did he tell you to figure it out yourself? It seems like an odd task especially for an exam.
 
  • #20
Ok guys, quick question...

Say you have log1.6

Quick, rough estimate would be:

100 = 1
101 = 10

Thus 10x = 1.6 (where 0 < x < 1)
So x = approx. 0.5

Obviously this is very inaccurate, but for purposes of a chemistry question (where the given options are usually significantly different), this should suffice. What I'm asking is if this is an "acceptable" method of quick estimation to within the first decimal place.
 
  • #21
Have you tried calculating log 1.6 on a calculator? 0.5 is not accurate to any decimal places.
 
  • #22
It does seem very peculiar that chemistry students would not be allowed to use calculators on an exam for things like logarithms.

In any case, Gib Z gave you the best formula back in post 12: the Taylor's series
\ln (1-x) = - ( x + \frac{x^2}{2} + \frac{x^3}{3} ... )
If 1- x= 1.6, then x= -.6
ln(1.6)= ln(1-(-.6))= -(-.6+ \frac{.36}{2})= .42
is not a bad approximation.
ln(1.6)= ln(1-(-.6))= -(-.6+ \frac{.36}{2}- \frac{.216}{3})= .492
is a little better (the "calculator" approximation to ln(1.6) is .47000.)
 
  • #23
(See my EDIT at bottom of post.)

anisotropic said:
Ok guys, quick question...

Say you have log1.6

Quick, rough estimate would be:

100 = 1
101 = 10

Thus 10x = 1.6 (where 0 < x < 1)
So x = approx. 0.5

Obviously this is very inaccurate, but for purposes of a chemistry question (where the given options are usually significantly different), this should suffice. What I'm asking is if this is an "acceptable" method of quick estimation to within the first decimal place.

That's a bizarre use of interpolating. 0.5 is half-way between 0 and 1, but 1.6 is not halfway between 1 and 10.

Instead, try one of these two methods; you'll need to have memorized that log(2)=0.30:

1) straightforward interpolation:

Note that 1.6 is between 1 and 2
log(1) = 0
log(2) = 0.30 (from memorization)

1.6 is 6/10 of the way between 1 and 2, so
Estimate log(1.6) as 6/10 of the way between 0 and 0.30, or 0.18.

0.18 is close to the actual value of 0.204...

2) more accurate

1.6 = 16/10 = 24 / 10

log(1.6) = 4 log(2) - log(10)
= 4 x 0.30 - 1
= 1.20 - 1
= 0.20​

EDIT:
After rereading your post, maybe this is more accurate than you need. As you saw, log(1.6) is somewhere between 0 and 1, because 1.6 is between 1 and 10. Are you saying only one of the multiple-choice answers would be between 0 and 1? If that's the case, the problem is a lot easier than we are making it out to be. Just pick the answer that is between 0 and 1. If it helps to think of "0.5" to reason through this, then that is good enough.
 
Last edited:
  • #24
HallsofIvy said:
... the "calculator" approximation to ln(1.6) is .47000.

Halls, it appears the OP is doing base-10 logs (see post #20 for example)
 
  • #25
Gib Z said:
Have you tried calculating log 1.6 on a calculator? 0.5 is not accurate to any decimal places.
Accurate enough for my purposes.
 
  • #26
You told us before that you needed accurate and fast, or at the very least, accurate! =[
 
  • #27
I'm still going to have your method under my sleeve as a secret weapon, should I need the increased accuracy and if I have the 30-60 seconds to spare (this latter part is the limiting factor). So you didn't really waste your time.
 
Back
Top