Bairstow's method with Newton-Raphson in Fortran

  • Context: Fortran 
  • Thread starter Thread starter moebot
  • Start date Start date
  • Tags Tags
    Fortran Method
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
6 replies · 3K views
moebot
Messages
5
Reaction score
2
this is bairstow's method , i need to put Newton-raphson in a subroutine and i don't know what's wrong i keep getting the wrong answer when i execute please help

Code:
parameter (np=100)
parameter (eps=1e-3)
real a(np) ,b(np),c(np)
real r ,s ,ri,si   
integer n,i

write(*,*)'n,r,s'
read(*,*)n,r,s

    do i=n+1,1,-1
write(*,*)'a(i)'
read(*,*) a(i)
end do

10 ri=r
   si=s
   b(n+1)=a(n+1)
   b(n)=a(n)+r*b(n+1)
   do i=n-1,1,-1
   b(i)=a(i)+r*b(i+1)+s*b(i+2)
   end do

   c(n+1)=b(n+1)
   c(n)=b(n)+r*c(n+1)
   do i=n-1,1,-1
   c(i)=b(i)+r*c(i+1)+s*c(i+2)
   end do

   do i=n+1,1,-1
   write(*,*) i,a(i),b(i),c(i)
   end do
 
   write(*,*)
 
 
 
  d=c(3)*c(3)-c(2)*c(4)
  r=r-(1./d)*(c(3)*b(2)-c(4)*b(1))
  s=s-(1./d)*(-c(2)*b(2)+c(3)*b(1))   if(sqrt(ri**2-r**2).ge.eps.or.sqrt(si**2-s**2).ge.eps)    goto 10
   write(*,*) r,s

 
   end


thanks in advance :)
 
Last edited by a moderator:
Physics news on Phys.org
Have you run an example problem with known intermediate values and checked them? If so, where do they start to disagree?
 
You have extra spaces in the following code:

real a(np) ,b(np),c(np)
real r ,s ,ri,si

I haven't used Fortran in many years, but I would make sure the unnecessary spaces are deleted and that you have spaces after the commas.
 
magoo said:
You have extra spaces in the following code:
I don't believe this makes any difference whatsoever.
 
  • Like
Likes   Reactions: DrClaude
@moebot Are you able to provide some comments to your code, such as
  • What the equation is, whose root(s) you're trying to find
  • What you are intending each section of code to do
  • Why you're writing in F77 (fixed) style with GOTOs instead of loops
?
 
I hope that after more than three months, moebot has gotten his code to work...
 
jtbell said:
I hope that after more than three months, moebot has gotten his code to work...
hahaha, i am doing my second degree now, and i just remembered this, thanks a lot for the help.

p.s i got the code to work ! haha
 
  • Like
  • Haha
Likes   Reactions: jtbell and Tom.G