Quartz | Level 8

## Is there Harmonic Number in SAS-IML?

Hello

Does SAS have HarmonicNumber? When I looked this up,  I only found "Harmean" function, but this calculates the mean of vector of size n.

I tried to take n=1,  unfortunately, this didn't work.

In my problem, I derived the log-likelihood function using Mathematica and then I used the output in my code (see pic below).

Thank you

1 ACCEPTED SOLUTION

Accepted Solutions
SAS Super FREQ

## Re: Is there Harmonic Number in SAS-IML?

I hesitate to correct Mathematica, but I thought Harmonic Numbers were only defined for integers. The arguments do not look like integers to me.

I don't think SAS has a built-in function for harmonic numbers. However, the harmonic numbers are just the sum of the reciprocals of integers, so you can define the following function:

``````proc iml;
start HarmonicNumber(n);
return sum(1/(1:n));
finish;

/* test it: The 10th harmonic number is 7382/2520 */
H = HarmonicNumber(10);
print H[format=FRACT.];
``````
SAS Super FREQ

## Re: Is there Harmonic Number in SAS-IML?

I hesitate to correct Mathematica, but I thought Harmonic Numbers were only defined for integers. The arguments do not look like integers to me.

I don't think SAS has a built-in function for harmonic numbers. However, the harmonic numbers are just the sum of the reciprocals of integers, so you can define the following function:

``````proc iml;
start HarmonicNumber(n);
return sum(1/(1:n));
finish;

/* test it: The 10th harmonic number is 7382/2520 */
H = HarmonicNumber(10);
print H[format=FRACT.];
``````
From The DO Loop