scale that takes a real and a list of
reals and returns a list which multiples the number to every element
in the list. For example:
- scale (3.0,[1.0,2.0,3.0]) ; val it = [3.0,6.0,9.0] : real list
dot that takes two lists of real numbers
of the same length and returns the ``dot product'' (the sum of the
element-wise multiplication). For example:
- dot ([1.0, 2.0],[~3.0, 4.0]) ; val it = 5.0 : realYour program need not be well-behaved when the lists are not the same length.
magn that takes a list of real numbers
and returns the square root of the sum of the squares of the elements.
Hint, you can use dot to do most of the work.
- magn [1.0,1.0,1.0,2.0,3.0] ; val it = 4.0 : real(You will need to ``
open Math'' to make the sqrt
function available.)
- project ([1.0,1.0],[2.0,0.0]); val it = [1.0,0.0] : real list
vector.sml in your AFS volume under directory homework3.
Do Exercises 1 and 2 of Chapter 6 (pages 101-102). Write your answers on paper.
Turn in the first part in AFS, and the second part on paper at the beginning of lecture.