40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  COMSOL elog  Not logged in ELOG logo
Message ID: 12     Entry time: Wed Jun 5 20:54:59 2013
Author: Deep Chatterjee 
Type: General 
Category: General 
Subject: Bessel Function roots 

During the process of evaluating the PSD from Sec. V of Liu and Thorn, I chanced to write a simpler root finding algorithm applying bisection to find the roots of J1(x).

The difference between this and the algorithm by

Greg von Winckel goes as
Difference_between_algorithms.png

The difference is of the order 10-7 and can be reduced by reducing the tolerance. However, It should however be noted that bisection is a crude algorithm for rough usage and differences become pronounced for larger n.

 

Attachment 2: bessel_zeros.m  933 Bytes  | Hide | Hide all
function X = bessel_zeros(k, n)
%BESSEL_ZEROS : calculates the first k zeros of the bessel function Jn
%   k : No. of ROOTS to be evaluated
%   n : Order of the Bessel function Jn
%   X : stores the roots in serial order i.e. X(1) gives the first root,
%   X(2) gives the second and so on
X = zeros(1,k);% empty array of lenght k
count = 1;%this acts as a counter to k
dx = 0.1;%step size within which, by assumption, no roots exist
x = 0;
... 22 more lines ...
ELOG V3.1.3-