diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 050bf59..f5526b9 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -102867,11 +102867,1284 @@ NagLapack(): Exports == Implementation where
)set message auto off
)clear all
---S 1 of 1
+--S 1 of 130
)show NagMatrixOperationsPackage
+--R
+--R NagMatrixOperationsPackage is a package constructor
+--R Abbreviation for NagMatrixOperationsPackage is NAGF01
+--R This constructor is exposed in this frame.
+--R Issue )edit bookvol10.4.pamphlet to see algebra source code for NAGF01
+--R
+--R------------------------------- Operations --------------------------------
+--R f01brf : (Integer,Integer,Integer,Integer,DoubleFloat,Boolean,Boolean,List(Boolean),Matrix(DoubleFloat),Matrix(Integer),Matrix(Integer),Integer) -> Result
+--R f01bsf : (Integer,Integer,Integer,Matrix(Integer),Matrix(Integer),Matrix(Integer),Matrix(Integer),Boolean,DoubleFloat,Boolean,Matrix(Integer),Matrix(DoubleFloat),Integer) -> Result
+--R f01maf : (Integer,Integer,Integer,Integer,List(Boolean),Matrix(DoubleFloat),Matrix(Integer),Matrix(Integer),DoubleFloat,DoubleFloat,Integer) -> Result
+--R f01mcf : (Integer,Matrix(DoubleFloat),Integer,Matrix(Integer),Integer) -> Result
+--R f01qcf : (Integer,Integer,Integer,Matrix(DoubleFloat),Integer) -> Result
+--R f01qdf : (String,String,Integer,Integer,Matrix(DoubleFloat),Integer,Matrix(DoubleFloat),Integer,Integer,Matrix(DoubleFloat),Integer) -> Result
+--R f01qef : (String,Integer,Integer,Integer,Integer,Matrix(DoubleFloat),Matrix(DoubleFloat),Integer) -> Result
+--R f01rcf : (Integer,Integer,Integer,Matrix(Complex(DoubleFloat)),Integer) -> Result
+--R f01rdf : (String,String,Integer,Integer,Matrix(Complex(DoubleFloat)),Integer,Matrix(Complex(DoubleFloat)),Integer,Integer,Matrix(Complex(DoubleFloat)),Integer) -> Result
+--R f01ref : (String,Integer,Integer,Integer,Integer,Matrix(Complex(DoubleFloat)),Matrix(Complex(DoubleFloat)),Integer) -> Result
+--R
--E 1
-)spool
+)clear all
+
+--S 2 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 2
+
+--S 3 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 3
+
+--S 4 of 130
+n:=6
+--R
+--R
+--R (3) 6
+--R Type: PositiveInteger
+--E 4
+
+--S 5 of 130
+nz:=15
+--R
+--R
+--R (4) 15
+--R Type: PositiveInteger
+--E 5
+
+--S 6 of 130
+licn:=150
+--R
+--R
+--R (5) 150
+--R Type: PositiveInteger
+--E 6
+
+--S 7 of 130
+lirn:=75
+--R
+--R
+--R (6) 75
+--R Type: PositiveInteger
+--E 7
+
+--S 8 of 130
+pivot:=0.1
+--R
+--R
+--R (7) 0.1
+--R Type: Float
+--E 8
+
+--S 9 of 130
+lblock:=true
+--R
+--R
+--R (8) true
+--R Type: Boolean
+--E 9
+
+--S 10 of 130
+grow:=true
+--R
+--R
+--R (9) true
+--R Type: Boolean
+--E 10
+
+--S 11 of 130
+abort:=[true ,true ,false ,true ]
+--R
+--R
+--R (10) [true,true,false,true]
+--R Type: List(Boolean)
+--E 11
+
+--S 12 of 130
+a:Matrix SF:=
+ [[5 ,2 ,-1 ,2 ,3 ,-2 ,1 ,1 ,-1 ,-1 ,2 ,-3 ,-1 ,-1 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (11)
+--R [
+--R [5., 2., - 1., 2., 3., - 2., 1., 1., - 1., - 1., 2., - 3., - 1., - 1., 6.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0.]
+--R ]
+--R Type: Matrix(DoubleFloat)
+--E 12
+
+--S 13 of 130
+irn:Matrix Integer:=
+ [[1 ,2 ,2 ,2 ,3 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,6 ,6 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (12)
+--R [
+--R [1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 13
+
+--S 14 of 130
+icn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,3 ,1 ,4 ,5 ,1 ,4 ,5 ,6 ,1 ,2 ,6_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (13)
+--R [
+--R [1, 2, 3, 4, 3, 1, 4, 5, 1, 4, 5, 6, 1, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 14
+
+--S 15 of 130
+ifail:= 110
+--R
+--R
+--R (14) 110
+--R Type: PositiveInteger
+--E 15
+
+--S 16 of 130
+-- result:=f01brf(n,nz,licn,lirn,pivot,lblock,grow,abort,a,irn,icn,ifail)
+--E 16
+
+)clear all
+
+--S 17 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 17
+
+--S 18 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 18
+
+--S 19 of 130
+n := 6
+--R
+--R
+--R (3) 6
+--R Type: PositiveInteger
+--E 19
+
+--S 20 of 130
+nz := 15
+--R
+--R
+--R (4) 15
+--R Type: PositiveInteger
+--E 20
+
+--S 21 of 130
+nzmax := 50
+--R
+--R
+--R (5) 50
+--R Type: PositiveInteger
+--E 21
+
+--S 22 of 130
+licn := 3*nzmax
+--R
+--R
+--R (6) 150
+--R Type: PositiveInteger
+--E 22
+
+--S 23 of 130
+ta1:List SF := new(licn-nz,0.0);
+--R
+--R
+--R Type: List(DoubleFloat)
+--E 23
+
+--S 24 of 130
+ta2:List SF := [5.,2.,-1.,2.,3.,-2.,1.,1.,-1.,-1.,2.,-3.,-1.,-1.,6.] ;
+--R
+--R
+--R Type: List(DoubleFloat)
+--E 24
+
+--S 25 of 130
+ta3 := concat(ta2,ta1);
+--R
+--R
+--R Type: List(DoubleFloat)
+--E 25
+
+--S 26 of 130
+a :Matrix SF := matrix [ta3]
+--R
+--R
+--R (10)
+--R [
+--R [5., 2., - 1., 2., 3., - 2., 1., 1., - 1., - 1., 2., - 3., - 1., - 1., 6.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0.]
+--R ]
+--R Type: Matrix(DoubleFloat)
+--E 26
+
+--S 27 of 130
+lirn := (3*nzmax/2)::Integer
+--R
+--R
+--R (11) 75
+--R Type: Integer
+--E 27
+
+--S 28 of 130
+tr1:List Integer := new(lirn-nz,0);
+--R
+--R
+--R Type: List(Integer)
+--E 28
+
+--S 29 of 130
+tr2 := [1,2,2,2,3,4,4,4,5,5,5,5,6,6,6];
+--R
+--R
+--R Type: List(PositiveInteger)
+--E 29
+
+--S 30 of 130
+tr3 := concat(tr2,tr1);
+--R
+--R
+--R Type: List(Integer)
+--E 30
+
+--S 31 of 130
+irn := matrix[tr3]
+--R
+--R
+--R (15)
+--R [
+--R [1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 31
+
+--S 32 of 130
+tc1:List Integer := new(licn-nz,0);
+--R
+--R
+--R Type: List(Integer)
+--E 32
+
+--S 33 of 130
+tc2 := [1,2,3,4,3,1,4,5,1,4,5,6,1,2,6];
+--R
+--R
+--R Type: List(PositiveInteger)
+--E 33
+
+--S 34 of 130
+tc3 := concat(tc2,tc1);
+--R
+--R
+--R Type: List(Integer)
+--E 34
+
+--S 35 of 130
+icn := matrix [tc3]
+--R
+--R
+--R (19)
+--R [
+--R [1, 2, 3, 4, 3, 1, 4, 5, 1, 4, 5, 6, 1, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 35
+
+--S 36 of 130
+pivot :SF:= 0.1
+--R
+--R
+--R (20) 0.10000000000000001
+--R Type: DoubleFloat
+--E 36
+
+--S 37 of 130
+lblock := true
+--R
+--R
+--R (21) true
+--R Type: Boolean
+--E 37
+
+--S 38 of 130
+grow := true
+--R
+--R
+--R (22) true
+--R Type: Boolean
+--E 38
+
+--S 39 of 130
+abort := [true,true,false,true]
+--R
+--R
+--R (23) [true,true,false,true]
+--R Type: List(Boolean)
+--E 39
+
+--S 40 of 130
+ifail := 110
+--R
+--R
+--R (24) 110
+--R Type: PositiveInteger
+--E 40
+
+--S 41 of 130
+--f01brfResult:=f01brf(n,nz,licn,lirn,pivot,lblock,grow,abort,a,irn,icn,ifail);
+--E 41
+
+--S 42 of 130
+eta :SF:= .1 -- now run f01bsf
+--R
+--R
+--R (25) 0.10000000000000001
+--R Type: DoubleFloat
+--E 42
+
+--S 43 of 130
+abort := true
+--R
+--R
+--R (26) true
+--R Type: Boolean
+--E 43
+
+--S 44 of 130
+-- keep := f01brfResult.'ikeep;
+--E 44
+
+--S 45 of 130
+-- disp := f01brfResult.'idisp;
+--E 45
+
+--S 46 of 130
+-- cn := f01brfResult.'icn;
+--E 46
+
+--S 47 of 130
+ta2:=[10.,12.,-3.,-1.,15.,-2.,10.,-1.,-1.,-5.,1.,-1.,-1.,-2.,6.];
+--R
+--R
+--R Type: List(DoubleFloat)
+--E 47
+
+--S 48 of 130
+a:= matrix [concat (ta2,ta1)]
+--R
+--R
+--R (28)
+--R [
+--R [10., 12., - 3., - 1., 15., - 2., 10., - 1., - 1., - 5., 1., - 1., - 1.,
+--R - 2., 6., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]
+--R ]
+--R Type: Matrix(DoubleFloat)
+--E 48
+
+--S 49 of 130
+-- result:=f01bsf(n,nz,licn,matrix [tr2],matrix [tc2],cn,keep,grow,eta,abort,_
+-- matrix [[disp(1,1),disp(1,2)]],a,ifail)
+--E 49
+
+)clear all
+
+--S 50 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 50
+
+--S 51 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 51
+
+--S 52 of 130
+n:=16
+--R
+--R
+--R (3) 16
+--R Type: PositiveInteger
+--E 52
+
+--S 53 of 130
+nz:=40
+--R
+--R
+--R (4) 40
+--R Type: PositiveInteger
+--E 53
+
+--S 54 of 130
+licn:=90
+--R
+--R
+--R (5) 90
+--R Type: PositiveInteger
+--E 54
+
+--S 55 of 130
+lirn:=50
+--R
+--R
+--R (6) 50
+--R Type: PositiveInteger
+--E 55
+
+--S 56 of 130
+abort:=[true ,true ,true ]
+--R
+--R
+--R (7) [true,true,true]
+--R Type: List(Boolean)
+--E 56
+
+--S 57 of 130
+avals:Matrix SF:=
+ [[1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,1.0_
+ ,1.0 ,1.0 ,1.0 ,1.0 ,1.0 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25 ,-0.25_
+ ,-0.25 ,-0.25 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (8)
+--R [
+--R [1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., - 0.25,
+--R - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25,
+--R - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, - 0.25,
+--R - 0.25, - 0.25, - 0.25, - 0.25, - 0.25, 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+--R 0., 0., 0., 0., 0., 0.]
+--R ]
+--R Type: Matrix(DoubleFloat)
+--E 57
+
+--S 58 of 130
+irn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14_
+ ,15 ,16 ,1 ,2 ,3 ,5 ,6 ,7 ,9 ,10 ,11 ,13 ,14_
+ ,15 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (9)
+--R [
+--R [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 5, 6, 7,
+--R 9, 10, 11, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 58
+
+--S 59 of 130
+icn:Matrix Integer:=
+ [[1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14_
+ ,15 ,16 ,2 ,3 ,4 ,6 ,7 ,8 ,10 ,11 ,12 ,14 ,15 ,16_
+ ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0_
+ ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ]]
+--R
+--R
+--R (10)
+--R [
+--R [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2, 3, 4, 6, 7, 8,
+--R 10, 11, 12, 14, 15, 16, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+--R 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+--R ]
+--R Type: Matrix(Integer)
+--E 59
+
+--S 60 of 130
+droptl:= 0.1
+--R
+--R
+--R (11) 0.1
+--R Type: Float
+--E 60
+
+--S 61 of 130
+densw:= 0.8
+--R
+--R
+--R (12) 0.8
+--R Type: Float
+--E 61
+
+--S 62 of 130
+ifail:=111
+--R
+--R
+--R (13) 111
+--R Type: PositiveInteger
+--E 62
+
+--S 63 of 130
+-- result:=f01maf(n,nz,licn,lirn,abort,avals,irn,icn,droptl,densw,ifail)
+--E 63
+
+)clear all
+
+--S 64 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 64
+
+--S 65 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 65
+
+--S 66 of 130
+n:=6
+--R
+--R
+--R (3) 6
+--R Type: PositiveInteger
+--E 66
+
+--S 67 of 130
+avals:Matrix SF:=
+ [[1.0 ,2.0 ,5.0 ,3.0 ,13.0 ,16.0 ,5.0 ,14.0_
+ ,18.0 ,8.0 ,55.0 ,24.0 ,17.0 ,77.0 ]]
+--R
+--R
+--R (4) [1. 2. 5. 3. 13. 16. 5. 14. 18. 8. 55. 24. 17. 77.]
+--R Type: Matrix(DoubleFloat)
+--E 67
+
+--S 68 of 130
+lal:= 14
+--R
+--R
+--R (5) 14
+--R Type: PositiveInteger
+--E 68
+
+--S 69 of 130
+nrow:Matrix Integer:= [[1 ,2 ,2 ,1 ,5 ,3 ]]
+--R
+--R
+--R (6) [1 2 2 1 5 3]
+--R Type: Matrix(Integer)
+--E 69
+
+--S 70 of 130
+-- result:=f01mcf(n,avals,lal,nrow,-1)
+--E 70
+
+)clear all
+
+--S 71 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 71
+
+--S 72 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 72
+
+--S 73 of 130
+m:=5
+--R
+--R
+--R (3) 5
+--R Type: PositiveInteger
+--E 73
+
+--S 74 of 130
+n:=3
+--R
+--R
+--R (4) 3
+--R Type: PositiveInteger
+--E 74
+
+--S 75 of 130
+lda:=5
+--R
+--R
+--R (5) 5
+--R Type: PositiveInteger
+--E 75
+
+--S 76 of 130
+a:Matrix SF:=
+ [[2.0 ,2.5 ,2.5 ],_
+ [2.0 ,2.5 ,2.5 ],_
+ [1.6 ,-0.4 ,2.8 ],_
+ [2.0 ,-0.5 ,0.5 ],_
+ [1.2 ,-0.3 ,-2.9 ]]
+--R
+--R
+--R + 2. 2.5 2.5 +
+--R | |
+--R | 2. 2.5 2.5 |
+--R | |
+--R (6) |1.6000000000000001 - 0.39999999999999997 2.7999999999999998 |
+--R | |
+--R | 2. - 0.5 0.5 |
+--R | |
+--R + 1.2 - 0.30000000000000004 - 2.9000000000000004+
+--R Type: Matrix(DoubleFloat)
+--E 76
+
+--S 77 of 130
+-- result:=f01qcf(m,n,lda,a,-1)
+--E 77
+
+)clear all
+
+--S 78 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 78
+
+--S 79 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 79
+
+--S 80 of 130
+trans:="n"
+--R
+--R
+--R (3) "n"
+--R Type: String
+--E 80
+
+--S 81 of 130
+wheret:="i"
+--R
+--R
+--R (4) "i"
+--R Type: String
+--E 81
+
+--S 82 of 130
+m:=5
+--R
+--R
+--R (5) 5
+--R Type: PositiveInteger
+--E 82
+
+--S 83 of 130
+n:=3
+--R
+--R
+--R (6) 3
+--R Type: PositiveInteger
+--E 83
+
+--S 84 of 130
+a:Matrix SF:=
+ [[2.0 ,2.5 ,2.5 ],_
+ [2.0 ,2.5 ,2.5 ],_
+ [1.6 ,-0.4 ,2.8 ],_
+ [2.0 ,-0.5 ,0.5 ],_
+ [1.2 ,-0.3 ,-2.9 ]]
+--R
+--R
+--R + 2. 2.5 2.5 +
+--R | |
+--R | 2. 2.5 2.5 |
+--R | |
+--R (7) |1.6000000000000001 - 0.39999999999999997 2.7999999999999998 |
+--R | |
+--R | 2. - 0.5 0.5 |
+--R | |
+--R + 1.2 - 0.30000000000000004 - 2.9000000000000004+
+--R Type: Matrix(DoubleFloat)
+--E 84
+
+--S 85 of 130
+lda:=5
+--R
+--R
+--R (8) 5
+--R Type: PositiveInteger
+--E 85
+
+--S 86 of 130
+zeta:Matrix SF:= [[0.0 ,0.0 ,0.0 ]]
+--R
+--R
+--R (9) [0. 0. 0.]
+--R Type: Matrix(DoubleFloat)
+--E 86
+
+--S 87 of 130
+ncolb:=2
+--R
+--R
+--R (10) 2
+--R Type: PositiveInteger
+--E 87
+
+--S 88 of 130
+ldb:=5
+--R
+--R
+--R (11) 5
+--R Type: PositiveInteger
+--E 88
+
+--S 89 of 130
+b:Matrix SF:=
+ [[1.1 ,0.0 ],_
+ [0.9 ,0.0 ],_
+ [0.6 ,1.32 ],_
+ [0.0 ,1.1 ],_
+ [-0.8 ,-0.26 ]]
+--R
+--R
+--R + 1.1000000000000001 0. +
+--R | |
+--R | 0.89999999999999991 0. |
+--R | |
+--R (12) | 0.59999999999999998 1.3199999999999998 |
+--R | |
+--R | 0. 1.1000000000000001 |
+--R | |
+--R +- 0.79999999999999993 - 0.25999999999999995+
+--R Type: Matrix(DoubleFloat)
+--E 89
+
+--S 90 of 130
+-- result:=f01qdf(trans,wheret,m,n,a,lda,zeta,ncolb,ldb,b,-1)
+--E 90
+
+)clear all
+
+--S 91 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 91
+
+--S 92 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 92
+
+--S 93 of 130
+wheret:="s"
+--R
+--R
+--R (3) "s"
+--R Type: String
+--E 93
+
+--S 94 of 130
+m:=5
+--R
+--R
+--R (4) 5
+--R Type: PositiveInteger
+--E 94
+
+--S 95 of 130
+n:=3
+--R
+--R
+--R (5) 3
+--R Type: PositiveInteger
+--E 95
+
+--S 96 of 130
+ncolq:=5
+--R
+--R
+--R (6) 5
+--R Type: PositiveInteger
+--E 96
+
+--S 97 of 130
+lda:=5
+--R
+--R
+--R (7) 5
+--R Type: PositiveInteger
+--E 97
+
+--S 98 of 130
+zeta:Matrix SF:= [[1.2247 ,1.1547 ,1.2649 ]]
+--R
+--R
+--R (8) [1.2246999999999999 1.1547000000000001 1.2648999999999999]
+--R Type: Matrix(DoubleFloat)
+--E 98
+
+--S 99 of 130
+a:Matrix SF:=
+ [[-4.0 ,-2.0 ,-3.0 ,0.0 ,0.0 ],_
+ [0.4085 ,-3.0 ,-2.0 ,0.0 ,0.0 ],_
+ [0.3266 ,-0.4619 ,-4.0 ,0.0 ,0.0 ],_
+ [0.4082 ,-0.5774 ,0.0 ,0.0 ,0.0 ],_
+ [0.2449 ,-0.3464 ,-0.6326 ,0.0 ,0.0 ]]
+--R
+--R
+--R (9)
+--R + - 4. - 2. - 3. 0. 0.+
+--R | |
+--R |0.40849999999999997 - 3. - 2. 0. 0.|
+--R | |
+--R | 0.3266 - 0.46189999999999998 - 4. 0. 0.|
+--R | |
+--R |0.40820000000000001 - 0.57739999999999991 0. 0. 0.|
+--R | |
+--R +0.24490000000000001 - 0.34640000000000004 - 0.63259999999999994 0. 0.+
+--R Type: Matrix(DoubleFloat)
+--E 99
+
+--S 100 of 130
+-- result:=f01qef(wheret,m,n,ncolq,lda,zeta,a,-1)
+--E 100
+
+)clear all
+
+--S 101 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 101
+
+--S 102 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 102
+
+--S 103 of 130
+m:=5
+--R
+--R
+--R (3) 5
+--R Type: PositiveInteger
+--E 103
+
+--S 104 of 130
+n:=3
+--R
+--R
+--R (4) 3
+--R Type: PositiveInteger
+--E 104
+
+--S 105 of 130
+lda:=5
+--R
+--R
+--R (5) 5
+--R Type: PositiveInteger
+--E 105
+
+--S 106 of 130
+a:Matrix Complex SF:=
+ [[complex(0,0.5) ,complex(-0.5,1.5),complex(-1.0,1.0)],_
+ [complex(0.4,0.3),complex(0.9,1.3),complex(0.2,1.4) ],_
+ [complex(0.4,0), complex(-0.4,0.4),complex(1.8,0)],_
+ [complex(0.3,-0.4),complex(0.1,0.7),complex(0,0)],_
+ [complex(0,-0.3),complex(0.3,0.3),complex(0,2.4) ]]
+--R
+--R
+--R (6)
+--R [[0.5 %i,- 0.5 + 1.5 %i,- 1. + %i],
+--R
+--R [0.40000000000000002 + 0.29999999999999999 %i,
+--R 0.89999999999999991 + 1.2999999999999998 %i,
+--R 0.20000000000000001 + 1.3999999999999999 %i]
+--R ,
+--R
+--R [0.40000000000000002, - 0.39999999999999997 + 0.40000000000000002 %i,
+--R 1.7999999999999998]
+--R ,
+--R
+--R [0.29999999999999999 - 0.39999999999999997 %i,
+--R 0.10000000000000001 + 0.69999999999999996 %i, 0.]
+--R ,
+--R
+--R [- 0.30000000000000004 %i, 0.29999999999999999 + 0.29999999999999999 %i,
+--R 2.3999999999999999 %i]
+--R ]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 106
+
+--S 107 of 130
+-- result:=f01rcf(m,n,lda,a,-1)
+--E 107
+
+)clear all
+
+--S 108 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 108
+
+--S 109 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 109
+
+--S 110 of 130
+trans:="n"
+--R
+--R
+--R (3) "n"
+--R Type: String
+--E 110
+
+--S 111 of 130
+wheret:="i"
+--R
+--R
+--R (4) "i"
+--R Type: String
+--E 111
+
+--S 112 of 130
+m:=5
+--R
+--R
+--R (5) 5
+--R Type: PositiveInteger
+--E 112
+
+--S 113 of 130
+n:=3
+--R
+--R
+--R (6) 3
+--R Type: PositiveInteger
+--E 113
+
+--S 114 of 130
+a:Matrix Complex SF:=
+ [[ 0.5*%i ,-0.5 + 1.5*%i ,-1.0 + 1.0*%i ],_
+ [0.4 + 0.3*%i , 0.9 + 1.3*%i , 0.2 + 1.4*%i ],_
+ [0.4 ,-0.4 + 0.4*%i , 1.8 ],_
+ [0.3 - 0.4*%i , 0.1 + 0.7*%i , 0.0 ],_
+ [ -0.3*%i , 0.3 + 0.3*%i , 2.4 ]]
+--R
+--R
+--R (7)
+--R [[0.5 %i,- 0.5 + 1.5 %i,- 1. + %i],
+--R
+--R [0.40000000000000002 + 0.29999999999999999 %i,
+--R 0.89999999999999991 + 1.2999999999999998 %i,
+--R 0.20000000000000001 + 1.3999999999999999 %i]
+--R ,
+--R
+--R [0.40000000000000002, - 0.39999999999999997 + 0.40000000000000002 %i,
+--R 1.7999999999999998]
+--R ,
+--R
+--R [0.29999999999999999 - 0.40000000000000002 %i,
+--R 0.10000000000000001 + 0.69999999999999996 %i, 0.]
+--R ,
+--R
+--R [- 0.29999999999999999 %i, 0.29999999999999999 + 0.29999999999999999 %i,
+--R 2.3999999999999999]
+--R ]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 114
+
+--S 115 of 130
+lda:=5
+--R
+--R
+--R (8) 5
+--R Type: PositiveInteger
+--E 115
+
+--S 116 of 130
+theta:Matrix Complex SF:= [[0.0 ,0.0 ,0.0 ]]
+--R
+--R
+--R (9) [0. 0. 0.]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 116
+
+--S 117 of 130
+ncolb:=2
+--R
+--R
+--R (10) 2
+--R Type: PositiveInteger
+--E 117
+
+--S 118 of 130
+ldb:=5
+--R
+--R
+--R (11) 5
+--R Type: PositiveInteger
+--E 118
+
+--S 119 of 130
+b:Matrix Complex SF :=
+ [[-0.55 + 1.05*%i , 0.45 + 1.05*%i ],_
+ [ 0.49 + 0.93*%i , 1.09 + 0.13*%i ],_
+ [ 0.56 - 0.16*%i , 0.64 + 0.16*%i ],_
+ [ 0.39 + 0.23*%i ,-0.39 - 0.23*%i ],_
+ [ 1.13 + 0.83*%i ,-1.13 + 0.77*%i ]]
+--R
+--R
+--R (12)
+--R [
+--R [- 0.54999999999999993 + 1.0499999999999998 %i,
+--R 0.44999999999999996 + 1.0499999999999998 %i]
+--R ,
+--R [0.48999999999999999 + 0.92999999999999994 %i,1.0899999999999999 + 0.13 %i],
+--R
+--R [0.56000000000000005 - 0.15999999999999998 %i,
+--R 0.6399999999999999 + 0.15999999999999998 %i]
+--R ,
+--R
+--R [0.39000000000000001 + 0.22999999999999998 %i,
+--R - 0.38999999999999996 - 0.22999999999999998 %i]
+--R ,
+--R
+--R [1.1299999999999999 + 0.82999999999999996 %i,
+--R - 1.1299999999999999 + 0.77000000000000002 %i]
+--R ]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 119
+
+--S 120 of 130
+-- result:=f01rdf(trans,wheret,m,n,a,lda,theta,ncolb,ldb,b,-1)
+--E 120
+
+)clear all
+
+--S 121 of 130
+showArrayValues true
+--R
+--R
+--R (1) true
+--R Type: Boolean
+--E 121
+
+--S 122 of 130
+showScalarValues true
+--R
+--R
+--R (2) true
+--R Type: Boolean
+--E 122
+
+--S 123 of 130
+wheret:="s"
+--R
+--R
+--R (3) "s"
+--R Type: String
+--E 123
+
+--S 124 of 130
+m:=5
+--R
+--R
+--R (4) 5
+--R Type: PositiveInteger
+--E 124
+
+--S 125 of 130
+n:=3
+--R
+--R
+--R (5) 3
+--R Type: PositiveInteger
+--E 125
+
+--S 126 of 130
+ncolq:=2
+--R
+--R
+--R (6) 2
+--R Type: PositiveInteger
+--E 126
+
+--S 127 of 130
+lda:=5
+--R
+--R
+--R (7) 5
+--R Type: PositiveInteger
+--E 127
+
+--S 128 of 130
+theta:Matrix Complex SF:= [[1 + 0.5*%i ,1.0954-0.3333*%i ,1.2649-1.1565*%i ]]
+--R
+--R
+--R (8)
+--R [
+--R [1. + 0.5 %i, 1.0953999999999999 - 0.33329999999999999 %i,
+--R 1.2648999999999999 - 1.1564999999999999 %i]
+--R ]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 128
+
+--S 129 of 130
+a:Matrix Complex SF :=
+ [[ 1 , 1 +1 *%i , 1 + %i ],_
+ [-0.2 - 0.4*%i ,-2 ,-1 - %i ],_
+ [-0.32 - 0.16*%i,-0.3505 +0.2629*%i ,-3 ],_
+ [-0.4 + 0.2*%i , 0.5477*%i , 0.0 ],_
+ [-0.12 + 0.24*%i, 0.1972 +0.2629*%i , 0.6325 ]]
+--R
+--R
+--R (9)
+--R [[1.,1. + %i,1. + %i],
+--R [- 0.19999999999999998 - 0.40000000000000002 %i,- 2.,- 1. - %i],
+--R
+--R [- 0.31999999999999995 - 0.15999999999999998 %i,
+--R - 0.35050000000000003 + 0.26290000000000002 %i, - 3.]
+--R ,
+--R [- 0.39999999999999997 + 0.20000000000000001 %i,0.54769999999999996 %i,0.],
+--R
+--R [- 0.12 + 0.23999999999999999 %i,
+--R 0.19719999999999999 + 0.26290000000000002 %i, 0.63249999999999995]
+--R ]
+--R Type: Matrix(Complex(DoubleFloat))
+--E 129
+
+--S 130 of 130
+-- result:=f01ref(wheret,m,n,ncolq,lda,theta,a,-1)
+--E 130
+
+)spool
+
)lisp (bye)
\end{chunk}
diff --git a/changelog b/changelog
index 2720fdc..d400896 100644
--- a/changelog
+++ b/changelog
@@ -1,5 +1,19 @@
+20141207 tpd src/axiom-website/patches.html 20141207.02.tpd.patch
+20141207 tpd books/bookvol10.4 NAGF01 absorb src/input test case files
+20141207 tpd src/input/Makefile remove f01 files
+20141207 tpd src/input/f01brf.input absorbed, removed
+20141207 tpd src/input/f01bsf.input absorbed, removed
+20141207 tpd src/input/f01maf.input absorbed, removed
+20141207 tpd src/input/f01mcf.input absorbed, removed
+20141207 tpd src/input/f01qcf.input absorbed, removed
+20141207 tpd src/input/f01qdf.input absorbed, removed
+20141207 tpd src/input/f01qef.input absorbed, removed
+20141207 tpd src/input/f01rcf.input absorbed, removed
+20141207 tpd src/input/f01rdf.input absorbed, removed
+20141207 tpd src/input/f01ref.input absorbed, removed
20141207 tpd src/axiom-website/patches.html 20141207.01.tpd.patch
20141207 tpd books/bookvol10.4 D03AGNT absorb src/input test case files
+20141207 tpd src/input/Makefile remove d03 files
20141207 tpd src/input/d03edf.input absorbed, removed
20141207 tpd src/input/d03eef.input absorbed, removed
20141207 tpd src/input/d03faf.input absorbed, removed
@@ -7,6 +21,7 @@
20141206 tpd books/bookvol10.4 D02AGNT absorb src/input test case files
20141206 tpd src/axiom-website/patches.html 20141206.05.tpd.patch
20141206 tpd books/bookvol10.4 D02AGNT absorb src/input test case files
+20141206 tpd src/input/Makefile remove d02 files
20141206 tpd src/input/d02bbf.input absorbed, removed
20141206 tpd src/input/d02bhf.input absorbed, removed
20141206 tpd src/input/d02cjf.input absorbed, removed
@@ -17,6 +32,7 @@
20141206 tpd src/input/d02raf.input absorbed, removed
20141206 tpd src/axiom-website/patches.html 20141206.04.tpd.patch
20141206 tpd books/bookvol10.4 D01AGNT absorb src/input test case files
+20141206 tpd src/input/Makefile remove d01 files
21041206 tpd src/input/d01ajf.input absorbed, removed
21041206 tpd src/input/d01akf.input absorbed, removed
21041206 tpd src/input/d01alf.input absorbed, removed
@@ -31,6 +47,7 @@
21041206 tpd src/input/d01gbf.input absorbed, removed
20141206 tpd src/axiom-website/patches.html 20141206.03.tpd.patch
20141206 tpd books/bookvol10.4 NAGC06 absorb src/input test case files
+20141206 tpd src/input/Makefile remove c06 files
20141206 tpd src/input/c06eaf.input absorbed, removed
20141206 tpd src/input/c06ebf.input absorbed, removed
20141206 tpd src/input/c06ecf.input absorbed, removed
diff --git a/patch b/patch
index c4cb5c4..b08194c 100644
--- a/patch
+++ b/patch
@@ -1,2 +1,2 @@
-books/bookvol10.4 D03AGNT absorb src/input test case files
+books/bookvol10.4 NAGF01 absorb src/input test case files
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 348c766..9f20820 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4772,6 +4772,8 @@ books/bookvol10.4 D02AGNT absorb src/input test case files
books/bookvol10.4 D02AGNT absorb src/input test case files
20141207.01.tpd.patch
books/bookvol10.4 D03AGNT absorb src/input test case files
+20141207.02.tpd.patch
+books/bookvol10.4 NAGF01 absorb src/input test case files