Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / disembl / Tisean_3.0.1 / source_f / randomize / cost / spikespec.f
diff --git a/website/archive/binaries/mac/src/disembl/Tisean_3.0.1/source_f/randomize/cost/spikespec.f b/website/archive/binaries/mac/src/disembl/Tisean_3.0.1/source_f/randomize/cost/spikespec.f
deleted file mode 100644 (file)
index 26cd874..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-c===========================================================================
-c
-c   This file is part of TISEAN
-c 
-c   Copyright (c) 1998-2007 Rainer Hegger, Holger Kantz, Thomas Schreiber
-c 
-c   TISEAN is free software; you can redistribute it and/or modify
-c   it under the terms of the GNU General Public License as published by
-c   the Free Software Foundation; either version 2 of the License, or
-c   (at your option) any later version.
-c
-c   TISEAN is distributed in the hope that it will be useful,
-c   but WITHOUT ANY WARRANTY; without even the implied warranty of
-c   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-c   GNU General Public License for more details.
-c
-c   You should have received a copy of the GNU General Public License
-c   along with TISEAN; if not, write to the Free Software
-c   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-c
-c===========================================================================
-c   part of the TISEAN randomize package for constraint surrogates
-c   cost function
-c   spike train power spectrum
-c   author T. Schreiber (1999)
-c
-c-------------------------------------------------------------------
-c get cost function specific options
-c
-      subroutine opts_cost(ncol)
-      parameter(mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-
-      iweight=ican('W',0)
-      fmax=fcan("F",0)
-      nfreq=ican("#",0)
-      inter=lopt("i",1)
-      ncol=1
-      end
-
-c-------------------------------------------------------------------
-c print version information on cost function
-c
-      subroutine what_cost()
-      call ptext("Cost function: spike train power spectrum")
-      end
-
-c-------------------------------------------------------------------
-c print cost function specific usage message
-c
-      subroutine usage_cost()
-      call ptext("Cost function options: [-F# -## -w# -i]")
-      call popt("W",
-     .   "average: 0=max(s) 1=|s|/f 2=(s/f)**2 3=|s| (0)")
-      call popt("F","maximal frequency (2*l / total time)")
-      call popt("#","number of frequencies (F* total time /2)")
-      call popt("w","frequency resolution (0)")
-      call popt("i","expect intervals rather than times")
-      end
-
-c-------------------------------------------------------------------
-c initialise all that is needed for cost function
-c
-      subroutine cost_init()
-      parameter(nx=100000,mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      dimension x(nx)
-      common nmax,cost,temp,cmin,rate,x
-
-      if(fmax.le.0.) fmax=2*nmax/(x(nmax)-x(1))
-      if(nfreq.le.0) nfreq=fmax*(x(nmax)-x(1))/2
-      if(nfreq.gt.mfreq) write(istderr(),'(a)') 
-     .   "truncated to ", mfreq," frequencies"
-      nfreq=min(mfreq,nfreq)
-      write(istderr(),*) "randomize_spikespec: total time covered: ", 
-     .   x(nmax)-x(1)
-      write(istderr(),*) "randomize_spikespec: computing ", nfreq, 
-     .   " frequencies up to ", fmax
-      call sspect(nfreq,fmax/nfreq,sp0r,sp0i,sp0)
-      end
-
-c-------------------------------------------------------------------
-c initial transformation on time series and its inverse
-c
-      subroutine cost_transform(nmax,mcmax,nxdum,x)
-      parameter(mfreq=100000,nx=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      dimension x(nx), lx(nx)
-
-      if(inter.eq.0) goto 1
-      do 10 n=2,nmax
- 10      x(n)=x(n)+x(n-1)
- 1    call sort(nmax,x,lx)
-      end
-
-      subroutine cost_inverse(nmax,mcmax,nxdum,x,y)
-      parameter(mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      dimension x(nmax), y(nmax)
-      
-      do 10 n=1,nmax
- 10      y(n)=x(n)
-      if(inter.ne.1) return
-      do 20 n=nmax,2,-1
- 20      y(n)=y(n)-y(n-1)
-      end
-
-c-------------------------------------------------------------------
-c compute full cost function from scratch
-c
-      subroutine cost_full(iv)
-      parameter(mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      common nmax,cost
-
-      call sspect(nfreq,fmax/nfreq,spr,spi,sp)
-
-      cc=0
-      do 10 i=1,nfreq
- 10      call aver(cc,sp(i)-sp0(i),i)
-      cost=cc
-      if(iv.ne.0) call dump()
-      end
-
-c-------------------------------------------------------------------
-c compute changed cost function on exchange of n1 and n2 
-c
-      subroutine cost_update(n1,n2,cmax,iaccept,iv)
-      parameter(mfreq=100000,nx=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      dimension sprcop(mfreq), spicop(mfreq), spcop(mfreq), x(nx)
-      common nmax,cost,temp,cmin,rate,x
-      data pi/3.1415926/
-
-      comp=0
-      iaccept=0
-      do 10 i=1,nfreq
-         f=i*(fmax/nfreq)
-         omega=2*pi*f
-         xx=x(n1-1)+x(n1+1)-x(n1)
-         sprcop(i)=spr(i)-cos(omega*x(n1))+cos(omega*xx)
-         spicop(i)=spi(i)-sin(omega*x(n1))+sin(omega*xx)
-         spcop(i)=sprcop(i)**2+spicop(i)**2
-         call aver(comp,sp0(i)-spcop(i),i)
- 10      if(comp.ge.cmax) return
-      cost=comp  ! if got here: accept
-      iaccept=1
-      call exch(n1,n2)
-      if(iv.ne.0) call panic(spcop)
-      do 20 i=1,nfreq
-         spr(i)=sprcop(i)
-         spi(i)=spicop(i)
- 20      sp(i)=spcop(i)
-      end
-
-c-------------------------------------------------------------------
-c compute spectrum from scratch
-c
-      subroutine sspect(nfreq,fres,spr,spi,sp)
-      parameter(nx=100000)
-      dimension spr(*), spi(*), sp(*), x(nx)
-      common nmax,cost,temp,cmin,rate,x
-      data pi/3.1415926/
-
-      do 10 i=1,nfreq
-         f=i*fres
-         omega=2*pi*f
-         sr=0
-         si=0
-         do 20 n=1,nmax
-            sr=sr+cos(omega*x(n))
- 20         si=si+sin(omega*x(n))
-         spr(i)=sr
-         spi(i)=si
- 10      sp(i)=sr**2+si**2
-      end
-
-c-------------------------------------------------------------------
-c weighted average of autocorrelation 
-c
-      subroutine aver(cav,dc,n)
-      parameter(mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-
-      if(iweight.eq.0) then
-         cav=max(cav,abs(dc))    ! max (L-infinity) norm
-      else if(iweight.eq.1) then
-         cav=cav+abs(dc)/n       ! L-1 norm (sum of moduli), weighted by freq.
-      else if(iweight.eq.2) then
-         cav=cav+(dc/n)**2       ! L-2 norm (sum of squares), weighted by freq.
-      else if(iweight.eq.2) then
-         cav=cav+abs(dc)         ! L-1 norm (sum of moduli)
-      endif
-      end
-
-c-------------------------------------------------------------------
-c diagnostic output
-c
-      subroutine dump()
-      parameter(mfreq=100000)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      common nmax
-
-      write(istderr(),'(5hgoal ,4f9.3)') (sp0(n),n=1,min(4,nfreq))
-      write(istderr(),'(5his   ,4f9.3)') (sp(n),n=1,min(4,nfreq))
-      write(istderr(),'(5hmiss ,4f9.3)') 
-     .   ((sp0(n)-sp(n)),n=1,min(4,nfreq))
-      write(istderr(),'()')
-      end
-
-      subroutine panic(spcop)
-      parameter(mfreq=100000)
-      dimension spcop(*)
-      dimension sp0r(mfreq), sp0i(mfreq), spr(mfreq), spi(mfreq),
-     .   sp0(mfreq), sp(mfreq)
-      common /costcom/ nfreq, fmax, inter,
-     .    sp0r, sp0i, sp0, spr, spi, sp, sd, sc, iweight
-      common nmax
-
-      call cost_full(0)
-      write(istderr(),'(7hupdate ,4f9.3)') 
-     .   (spcop(n),n=1,min(4,nfreq))
-      write(istderr(),'(7hfresh  ,4f9.3)') (sp(n),n=1,min(4,nfreq))
-      write(istderr(),'(7hdiscr  ,4f9.3)') 
-     .   ((spcop(n)-sp(n)),n=1,min(4,nfreq))
-      write(istderr(),'()')
-      end