Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fredholm equation

  1. Jan 25, 2016 #1
    Hi! I am now building a program to solve integral equation. I have understood the numerical method to solve it as well as others subroutines gauleg, ludcmp, lubksb but when I read this subroutine fred2 below, I don't know exactly the purpose of the author when putting the array omk(i,j) in the code. Can anyone give me some advice or instruction please?
    Many thanks.
    Code (Fortran):
          SUBROUTINE fred2(n,a,b,t,f,w,g,ak)
          INTEGER n,NMAX
          REAL a,b,f(n),t(n),w(n),g,ak
          EXTERNAL ak,g
          PARAMETER (NMAX=200)
    CU    USES ak,g,gauleg,lubksb,ludcmp
          INTEGER i,j,indx(NMAX)
          REAL d,omk(NMAX,NMAX)
          if(n.gt.NMAX) pause 'increase NMAX in fred2'
          call gauleg(a,b,t,w,n)
          do 12 i=1,n
            do 11 j=1,n
    11      continue
    12    continue
          call ludcmp(omk,n,NMAX,indx,d)
          call lubksb(omk,n,NMAX,indx,f)
  2. jcsd
  3. Jan 25, 2016 #2


    Staff: Mentor

    I'm not sure what the code is supposed to do but the omk array is setup basically like an identity matrix

    and the line omk(i,j)-ak(t(i),t(j))*w(j) looks like the matrix equation OMK = I - AK*W

    where I and AK are matrices and W is a vector.

    OMK starts out in the code as the identity matrix and then its reused to hold the result of I - AK*W

    so I guess the author was trying to save space by repurposing the OMK matrix memory.
  4. Jan 26, 2016 #3
    Thanks. Now I understand the purpose of the authors.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook