Provided
:
matrix addition::
madd ::: Num matrix =>> [[[mmatrix]]]] – > [[[mmatrix]]]] – > [[[mmatrix]]]]
madd a b = zipWith (zzipWith (++)))) a b
matrix multiplication::
mmult ::: Num matrix =>> [[[mmatrix]]]] – > [[[mmatrix]]]] – > [[[mmatrix]]]]
mmult a b = [ [ sum (zzipWith (**)) a1 b1)) | b1 < – (ttranspose b)) ] | a1 < – a ]
To Do::
1.. Randomly create two 10 X 10 matrices..
2.. Create a custom matrix operation based on::
For two matrices A and B,, their respective elements A ij and B ij will be stored in C ij using the formula
:
C ij = max(( A ij , B ij ) + A ij 2 + B ij 2
3.. The matrix representation and three operations for computing matrices will be modified to add concurrency((ee..gg..,, threads,, parallelism,, etc..))..
4.. Test the running time for do the three operators with concurrency and without concur rency
Limitations::
no shared data
no classes//oobjects
no changing state of scopes external to the present scope
no global variables
Suggested libraries are::
Haskell::
stm