logarithm

How to get the base 10 logarithm of a Fixnum in Ruby?

I want to get the base 10 logarithm of a Fixnum using Ruby, but found that n.log or n.log10 are not defined. Math::log is defined but uses a different base than 10. What is the easiest way to get the base 10 logarithm of a Fixnum? ...

Where can I learn about logarithms?

I hear logarithms mentioned quite a lot in the programming context. They seem to be the solution to many problems and yet I can't seem to find a real-world way of making use of them. I've read the Wikipedia entry and that, quite frankly, leaves me none the wiser. So, where can I learn about the real-world programming problems that logar...

Partially missing gridlines on log-scale charts in Excel 2007

I'm using Excel 2007 to create a log-scale chart of numbers (specifically the Zimbabwean dollar exchange rate) over time. I'm using an x-y scatterplot and noticing one odd quirk. The range of y values (numbers) spans a factor of about 10^30. On every chart I make using this data, half the gridlines are missing. Specifically, only the gr...

What is the correct algorthm for a logarthmic distribution curve between two points?

I've read a bunch of tutorials about the proper way to generate a logarithmic distribution of tagcloud weights. Most of them group the tags into steps. This seems somewhat silly to me, so I developed my own algorithm based on what I've read so that it dynamically distributes the tag's count along the logarthmic curve between the thresh...

Logarithm of a BigDecimal

How can I calculate the logarithm of a BigDecimal? Does anyone know of any algorithms I can use? My googling so far has come up with the (useless) idea of just converting to a double and using Math.log. I will provide the precision of the answer required. edit: any base will do. If it's easier in base x, I'll do that. ...

How to know when Big O is Logarithmic?

My question arises from the post "Plain English Explanation of Big O". I don't know the exact meaning for logarithmic complexity. I know that I can make a regression between the time and the number of operations and calculate the X-squared value, and determine so the complexity. However, I want to know a method to determine it quickly on...

Plot logarithmic axes with matplotlib in python

I want to plot a graph with one logarithmic axis using matplotlib. I've been reading the docs, but can't figure out the syntax. I know that it's probably something simple like 'scale=linear' in the plot arguments, but I can't seem to get it right Sample program: from pylab import * import matplotlib.pyplot as pyplot a = [ pow(10,i)...

Logarithmic slider

I have a slider with steps 0-100; I want the range to be from 100 to 10,000,000. I've seen some functions scattered around the net but they're all in C++; i need it in javascript. Any ideas? ...

What kind of logarithm functions / methods are available in objective-c / cocoa-touch?

I've tried searching for logarithm + objective-c, but all I get is math test pages from teachers, or explanations what a logarithm is ;) I've got some measurements that are like 83912.41234 and others are 32.94232. I need to press down this huge spectrum into something between 0 and 100, and that 32.94232 would habe to be at least somet...

How to do an integer log2() in C++?

In the C++ standard libraries I found only a floating point log method. Now I use log to find the level of an index in a binary tree ( floor(2log(index)) ). Code (C++): int targetlevel = int(log(index)/log(2)); I am afraid that for some of the edge elements (the elements with value 2^n) log will return n-1.999999999999 instead of n....

How to calculate log of a complex number to a base other than 'e'?

I have this bit of VB6 sliced out of a project I'm working on: Public Function C_Ln(c As ComplexNumber) As ComplexNumber Set C_Ln = toComplex(Log(C_Abs(c)), Atan2(c.Imag, c.Real)) End Function The VB6 Log() function is base-e. I'd like to cook up versions of this to do base-2, base-10 and base-n. Where do I start? ...

Is there an FFT that uses a logarithmic division of frequency?

Wikipedia's Wavelet article contains this text: The discrete wavelet transform is also less computationally complex, taking O(N) time as compared to O(N log N) for the fast Fourier transform. This computational advantage is not inherent to the transform, but reflects the choice of a logarithmic division of frequency, in contrast to t...

Why log(1000)/log(10) isn't the same as log10(1000)?

Today, I came across quite strange problem. I needed to calculate string length of a number, so I came up with this solution // say the number is 1000 (int)(log(1000)/log(10)) + 1 This is based on mathematical formula log10x = lognx/logn10 (explained here) But I found out, that in C, (int)(log(1000)/log(10)) + 1 is NOT equal to ...

Qwt log10scaleEngine causes weird filling of the curves

Hello. I'm using qwt chart package and have encountered a problem. I've tried to combine few examples from the web-page into one, and log10scaleEngine behaves strange together with curves that are filled with color. The problem is with switching to log10scale: the curves are filled upwards (instead of downwards): 1) linear scale, 2) lo...

Algorithm for logarithmically converting a number to a percentage

I am looking for a way to convert any number to a percentage in the following way: 1.00 is 50% numbers below 1.00 approach 0% logarithmically numbers above 1.00 approach 100% logarithmically. x > 0. So y needs to approach 0 as x becomes infinitely small on the positive side. I'm sure this is simple to do, but I can't recall how ...

How to get lg2 of a number that is 2^k

What is the best solution for getting the base 2 logarithm of a number that I know is a power of two (2^k). (Of course I know only the value 2^k not k itself.) One way I thought of doing is by subtracting 1 and then doing a bitcount: lg2(n) = bitcount( n - 1 ) = k, iff k is an integer 0b10000 - 1 = 0b01111, bitcount(0b01111) = 4 But ...

How do you code to determine the logarithm of a value in Ada?

Using Ada (GNAT): I need to determine the power of ten for a given value. The most obvious approach is to use a logarithm; but that fails to compile. with Ada.Numerics.Generic_Elementary_Functions; procedure F(Value : in Float) is The_Log : Integer := 0; begin The_Log := Integer(Log(Value, 10)); G(Value, The_Log); end;...

Finding the exponent of n = 2**x using bitwise operations [logarithm in base 2 of n]

Is there a straightforward way to extracting the exponent from a power of 2 using bitwise operations only? EDIT: Although the question was originally about bitwise operations, the thread is a good read also if you are wondering "What's the fastest way to find X given Y = 2**X in Python?" I am currently trying to optimize a routine (Rab...

problem with arithmetic using logarthms to avoid numerical underflow

Hi! I have two lists of fractions; say A = [ 1/212, 5/212, 3/212, ... ] and B = [ 4/143, 7/143, 2/143, ... ]. If we define A' = a[0] * a[1] * a[2] * ... and B' = b[0] * b[1] * b[2] * ... I want to calculate the values of A' / B', My trouble is A are B are both quite long and each value is small so calculating the product causes...

Problem with arithmetic using logarithms to avoid numerical underflow (take 2)

I have two lists of fractions; say A = [ 1/212, 5/212, 3/212, ... ] and B = [ 4/143, 7/143, 2/143, ... ]. If we define A' = a[0] * a[1] * a[2] * ... and B' = b[0] * b[1] * b[2] * ... I want to calculate a normalised value of A' and B' ie specifically the values of A' / (A'+B') and B' / (A'+B') My trouble is A are B are both qui...