RosettaCodeData/Task/Conjugate-transpose/Racket/conjugate-transpose-1.rkt
2023-07-01 13:44:08 -04:00

16 lines
319 B
Racket

#lang racket
(require math)
(define H matrix-hermitian)
(define (normal? M)
(define MH (H M))
(equal? (matrix* MH M)
(matrix* M MH)))
(define (unitary? M)
(define MH (H M))
(and (matrix-identity? (matrix* MH M))
(matrix-identity? (matrix* M MH))))
(define (hermitian? M)
(equal? (H M) M))