#define FIGLIST sgplot singular right left
#define FIGDIR ./Fig
#include "../Cakerules/SEP.martin.rules"
#define NULL head=/dev/null
#define LIB ../Lib
#define LIBDIR LIB/MTYPE
#define USRLIBS LIBDIR/libblas.a LIBDIR/liblinpack.a
#include <SEP.defs>

#define DOTOPTS strings=1 yreverse=1 constsep=1

#define DOTLABEL labels=1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20 label1="Singular Vector Component" label2="Singular Value Number"

#define GRAPHANNOT min1=1 max1=20 symbol="*" symbolsz=8 title="Singular Values" label1="Singular Value Number" label2="Magnitude"

/* make slides*/


FIGDIR/sgplot.v: recloc.H srcloc.H
	Graph o1num=1 d1num=2 o2num=1 d2num=2 min1=0 max1=17 min2=0 max2=18 symbol="*" symbolsz=16 plotcol=3 title=" " <srcloc.H out=srcloc.v NULL 
	Graph o1num=1 d1num=2 o2num=1 d2num=2 min1=0 max1=17 min2=0 max2=18 symbol="+" symbolsz=10 plotcol=6 title="Experiment Geometry" label1="Receiver Position" label2="Source Position" <recloc.H out=recloc.v NULL
	vp_Overlay srcloc.v recloc.v >FIGDIR/sgplot.v

recloc.H srcloc.H: Header.x
	Header.x recloc=recloc.H srcloc=srcloc.H 

FIGDIR/singular.v: singular.H
	Graph GRAPHANNOT <singular.H  out=FIGDIR/singular.v NULL

FIGDIR/left.v: left.H
	Window n2=19 < left.H |Dots DOTOPTS title="\\\\\r150 Left Singular Vector" DOTLABEL out=FIGDIR/left.v NULL

/* first 20 nonzero vector components */
FIGDIR/right.v: right.H
	Window < right.H n1=20 n2=19 | Dots DOTOPTS title="\\\\\r50 Right Singular Vector" DOTLABEL out=FIGDIR/right.v NULL


singular2.v: singular2.H
	Graph GRAPHANNOT <singular2.H  out=FIGDIR/singular2.v NULL

left2.v: left2.H
	Dots DOTOPTS <left2.H title="Left Singular Vector" DOTLABEL out=FIGDIR/left2.v NULL

right2.v: right2.H
	Window <right2.H n1=20 |Dots DOTOPTS title="Right Singular Vector" DOTLABEL out=FIGDIR/right2.v NULL



left2.H right2.H singular2.H: Eig2.x
	Eig2.x singular=singular2.H left=left2.H right=right2.H

left.H right.H singular.H: Eig.x
	Eig.x singular=singular.H left=left.H right=right.H


Eig%.x: Eig%.o USRLIBS
	FC LDOPTS -o Eig%.x Eig%.o USRLIBS SEPLIB SYSLIB 

Header.x: Header.o USRLIBS
	FC LDOPTS -o Header.x Header.o USRLIBS SEPLIB SYSLIB 


LIBDIR/%.a: if not exist LIBDIR/%.a
	( cd LIB ; cake %.a )


clean&: jclean texclean
	-RM_CMD backcol.v

#include<SEP.prog.rules>
#include<SEP.obj.rules>
#include<SEP.idoc.rules>
