-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Uri edited this page Jul 11, 2021
·
14 revisions
(import (otus algebra))
Vector is a one-dimensional array. Vector can be declared using several ways:
- by it's values which can be any applicable number:
> [1 2 3 4 5]
#(1 2 3 4 5)
> [0 -3 3/7 16+4i 7.12 (inexact 7.12) 123456789876543213546576666777757575757444]
#(0 -3 3/7 16+4i 178/25 7.12 123456789876543213546576666777757575757444)
- As a copy of existing vector:
> (define v [1 2 3 4 5])
> (print v)
#(1 2 3 4 5)
> (copy v)
#(1 2 3 4 5)
- As an uninializied vector of N elements.
> (vector 14)
#(0 0 0 0 0 0 0 0 0 0 0 0 0 0)
- As a vector of
0
s:
> (zeros 14)
#(0 0 0 0 0 0 0 0 0 0 0 0 0 0)
- As a vector of
1
s:
> (ones 42)
#(1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- As a vector of an any applicable same value:
> (fill (vector 17) -33)
#(-33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33 -33)
A matrix is a rectangular array of numbers or a vector of a vectors in other words.
Matrix can be declared using several ways:
- by it's values which can be any applicable number:
> [[1 2 3]
[4 5 6]
[7 8 9]]
#(#(1 2 3) #(4 5 6) #(7 8 9))
- As a copy of existing matrix:
> (define v [[1 2 3][4 5 6][7 8 9]])
> (print v)
#(#(1 2 3) #(4 5 6) #(7 8 9))
> (copy v)
#(#(1 2 3) #(4 5 6) #(7 8 9))
- As a matrix of N same vectors.
> (matrix [1 2 3] 4)
#(#(1 2 3) #(1 2 3) #(1 2 3) #(1 2 3))
- As an uninializied matrix of rows*columns elements.
> (matrix 3 4)
#(#(0 0 0 0) #(0 0 0 0) #(0 0 0 0))
- As a matrix of
0
s:
> (zeros 3 7)
#(#(0 0 0 0 0 0 0) #(0 0 0 0 0 0 0) #(0 0 0 0 0 0 0))
- As a matrix of
1
s:
> (ones 1 3)
#(#(1 1 1))
- As a matrix of an any applicable same value:
> (fill (matrix 2 3) -1)
#(#(-1 -1 -1) #(-1 -1 -1))
- As a matrix with zeros (ones) with same shape of other matrix:
> (define m (matrix 2 5))
> (print m)
#(#(0 0 0 0 0) #(0 0 0 0 0))
> (ones m)
#(#(1 1 1 1 1) #(1 1 1 1 1))