Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oct
oct
Commits
d795ba71
Commit
d795ba71
authored
Apr 11, 2012
by
Raymond Toy
Browse files
Add TODO list for bessel-j.
parent
c0e12ddf
Changes
1
Hide whitespace changes
Inline
Side-by-side
qd-bessel.lisp
View file @
d795ba71
...
...
@@ -375,13 +375,25 @@
(
format
t
" f = ~S~%"
f
)
(
format
t
" term = ~S~%"
term
)
(
format
t
" sum = ~S~%"
sum
))))))
;; TODO:
;; o For |z| <= 1 use the series.
;; o Currently accuracy is not good for large z and half-integer
;; order.
;; o For real v and z, return a real number instead of complex.
;; o Handle the case of Re(z) < 0. (The formulas are for Re(z) > 0:
;; bessel_j(v,z*exp(m*%pi*%i)) = exp(m*v*%pi*%i)*bessel_j(v, z)
;; o The paper suggests using
;; bessel_i(v,z) = exp(-v*%pi*%i/2)*bessel_j(v, %i*z)
;; when Im(z) >> Re(z)
;;
(
defun
bessel-j
(
v
z
)
(
let
((
vv
(
ftruncate
v
)))
(
cond
((
=
vv
v
)
;; v is an integer
(
integer-bessel-j-exp-arc
v
z
))
(
t
;; Need to fine-tune the value of big-n.
(
let
((
big-n
100
)
(
vpi
(
*
v
(
float-pi
(
realpart
z
)))))
(
+
(
integer-bessel-j-exp-arc
v
z
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment