open Impact let a = [| [| 4.; 8.; 4.|]; [| -3.; -1.; 7.|] |] let b = [| [| 2.; 1.; -1.; 8.|]; [| -3.; -1.; 2.; -11.|]; [| -2.; 1.; 2.; -3.|] |] let printMatrix(matrix : float[][]) = for rowNum in 0 .. matrix.Length-1 do let row = matrix.[rowNum] for colNum in 0 .. row.Length-1 do printf " %10f" row.[colNum] printfn "" printfn "" let scalarMult (vector : float [], multiplier : float) = [| for i in 0 .. vector.Length-1 -> vector.[i] * multiplier |] let vectorAdd(v1 : float [], v2 : float []) = [| for i in 0 .. v1.Length-1 -> v1.[i] + v2.[i]|] a.[0] <- scalarMult(a.[0],1./4.) printMatrix(a) a.[1] <- vectorAdd(scalarMult(a.[0],3.),a.[1]) printMatrix(a) a.[1] <- scalarMult(a.[1],1./5.) printMatrix(a) a.[0] <- vectorAdd(scalarMult(a.[1],-2.),a.[0]) printMatrix(a)