neo icon indicating copy to clipboard operation
neo copied to clipboard

new branch ComplexLA_develop to solve complex eigenvalues eigenvector…

Open nomissbowling opened this issue 3 years ago • 0 comments

…s and inv etc for general (symmetry and asymmetry) Matrix

neo/cla.nim neo/clasolve.nim neo/private/clacommon.nim neo/private/clareim.nim tests/tcla.nim tests/cla/cbase.nim tests/cla/cpauli.nim tests/cla/chermitian.nim tests/cla/cdet.nim tests/cla/cinv.nim tests/cla/csolve.nim tests/cla/ceig.nim

use [c|z]axpy [c|z]dotu [c|z]dotc [c|z]gemv [c|z]gemm [c|z]scal (nimblas) use [c|z]geev [c|z]gesv overload with macro(czfortran) (nimlapack) include nimlapack instead of import nimlapack to use private types template czelColMajor, czelRowMajor for cast[ptr Complex[T]] unary operator - template compareApprox[T](x, y: complex.Complex[T]): bool

proc all*[T](v: Vector[Complex[T]]; pred: proc(i: int, x: complex.Complex[T]): bool {.closure.}): bool proc all*[T](a: Matrix[Complex[T]]; pred: proc(i, j: int, x: complex.Complex[T]): bool {.closure.}): bool

template !=~[T](x, y: complex.Complex[T]): bool template !=~[T](v, w: Vector[Complex[T]]): bool template !=~*[T](a, b: Matrix[Complex[T]]): bool

scal for operator *='*[T](v: var Vector[Complex[T]]; c: complex.Complex[T]) scal for operator ='[T](a: var Matrix[Complex[T]]; c: complex.Complex[T])

dotu dotc[Vector[Complex[T]]] Hermitian Inner Product trace and tr and dotc[Matrix[Complex[T]]] Hilbert-Schmidt Inner Product

TODO: support and check for sparse matrix TODO: support and check for cuda cudadense cudasparse

nomissbowling avatar Oct 21 '22 08:10 nomissbowling