Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
6
Task/QR-decomposition/Racket/qr-decomposition-1.rkt
Normal file
6
Task/QR-decomposition/Racket/qr-decomposition-1.rkt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
> (require math)
|
||||
> (matrix-qr (matrix [[12 -51 4]
|
||||
[ 6 167 -68]
|
||||
[-4 24 -41]]))
|
||||
(array #[#[6/7 -69/175 -58/175] #[3/7 158/175 6/175] #[-2/7 6/35 -33/35]])
|
||||
(array #[#[14 21 -14] #[0 175 -70] #[0 0 35]])
|
||||
29
Task/QR-decomposition/Racket/qr-decomposition-2.rkt
Normal file
29
Task/QR-decomposition/Racket/qr-decomposition-2.rkt
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#lang racket
|
||||
(require math/matrix math/array)
|
||||
(define-values (T I col size)
|
||||
(values ; short names
|
||||
matrix-transpose identity-matrix matrix-col matrix-num-rows))
|
||||
|
||||
(define (scale c A) (matrix-scale A c))
|
||||
(define (unit n i) (build-matrix n 1 (λ (j _) (if (= j i) 1 0))))
|
||||
|
||||
(define (H u)
|
||||
(matrix- (I (size u))
|
||||
(scale (/ 2 (matrix-dot u u))
|
||||
(matrix* u (T u)))))
|
||||
|
||||
(define (normal a)
|
||||
(define a0 (matrix-ref a 0 0))
|
||||
(matrix- a (scale (* (sgn a0) (matrix-2norm a))
|
||||
(unit (size a) 0))))
|
||||
|
||||
(define (QR A)
|
||||
(define n (size A))
|
||||
(for/fold ([Q (I n)] [R A]) ([i (- n 1)])
|
||||
(define Hi (H (normal (submatrix R (:: i n) (:: i (+ i 1))))))
|
||||
(define Hi* (if (= i 0) Hi (block-diagonal-matrix (list (I i) Hi))))
|
||||
(values (matrix* Q Hi*) (matrix* Hi* R))))
|
||||
|
||||
(QR (matrix [[12 -51 4]
|
||||
[ 6 167 -68]
|
||||
[-4 24 -41]]))
|
||||
6
Task/QR-decomposition/Racket/qr-decomposition-3.rkt
Normal file
6
Task/QR-decomposition/Racket/qr-decomposition-3.rkt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
(array #[#[6/7 69/175 -58/175]
|
||||
#[3/7 -158/175 6/175]
|
||||
#[-2/7 -6/35 -33/35]])
|
||||
(array #[#[14 21 -14]
|
||||
#[0 -175 70]
|
||||
#[0 0 35]])
|
||||
Loading…
Add table
Add a link
Reference in a new issue