Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new branch ComplexLA_develop to solve complex eigenvalues eigenvector… #48

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Oct 21, 2022

  1. new branch ComplexLA_develop to solve complex eigenvalues eigenvector…

    …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 committed Oct 21, 2022
    Configuration menu
    Copy the full SHA
    e93997d View commit details
    Browse the repository at this point in the history