Skip to content

Track complex notes and DB coverage for the full op surface #14

@shinaoka

Description

@shinaoka

Goal

Establish a single source of truth for complex support across the oracle repo before downstream implementation waves in tenferro-rs.

For every targeted op family, this issue tracks:

  • complex math note status
  • complex DB coverage status
  • explicit unsupported status when we do not intend to support the family yet

This is the step 0 prerequisite for the tenferro-rs complex-op capability wave. tenferro-rs will treat the resulting oracle notes and DB as the capability source of truth.

Completion criteria

A family is considered ready for downstream implementation only when one of these is true:

  • it has a mathematically reviewed complex note and complex DB coverage
  • it is explicitly marked unsupported with a concrete reason

Silence is not acceptable. Every family below needs an explicit status.

Family checklist

Matrix decompositions

  • svd: note + DB checked for complex
  • qr: note + DB checked for complex
  • lu: note + DB checked for complex
  • lu_factor: DB checked for complex
  • lu_factor_ex: DB checked for complex
  • lu_solve: DB checked for complex
  • eigen / eigh: note + DB checked for complex
  • eig: note + DB checked for complex

Linear systems and scalar-output linalg

  • solve: note + DB checked for complex
  • solve_ex: DB checked for complex
  • solve_triangular: note + DB checked for complex
  • lstsq_grad_oriented: note + DB checked for complex
  • cholesky: note + DB checked for complex
  • cholesky_ex: DB checked for complex
  • inv: note + DB checked for complex
  • inv_ex: DB checked for complex
  • det: note + DB checked for complex
  • slogdet: note + DB checked for complex
  • norm: note + DB checked for complex
  • matrix_norm: DB checked for complex
  • vector_norm: DB checked for complex
  • svdvals: DB checked for complex
  • eigvals: DB checked for complex
  • eigvalsh: DB checked for complex

Spectral and matrix functions

  • pinv: note + DB checked for complex
  • pinv_hermitian: DB checked for complex
  • pinv_singular: DB checked for complex
  • matrix_exp: note + DB checked for complex
  • matrix_power: DB checked for complex
  • cond: DB checked for complex

Tensorized linalg and tensor-valued helpers

  • tensorinv: DB checked for complex
  • tensorsolve: DB checked for complex
  • vander: DB checked for complex
  • cross: DB checked for complex
  • householder_product: DB checked for complex
  • multi_dot: DB checked for complex
  • vecdot: DB checked for complex
  • diagonal: DB checked for complex

Scalar / analytic unary families

  • abs
  • angle
  • conj
  • conj_physical
  • neg
  • positive
  • real
  • imag
  • sgn
  • sign
  • sigmoid
  • sqrt
  • square
  • reciprocal
  • rsqrt
  • exp
  • exp2
  • expm1
  • log
  • log10
  • log1p
  • log2
  • sin
  • sinh
  • asin
  • asinh
  • cos
  • cosh
  • acos
  • acosh
  • tan
  • tanh
  • atan
  • atanh
  • ceil
  • floor
  • round
  • trunc
  • frac
  • erf
  • erfc
  • erfinv
  • digamma
  • lgamma
  • i0
  • special_i0e
  • special_i1
  • special_i1e
  • special_entr
  • special_erfcx
  • special_log_ndtr
  • special_ndtr
  • special_ndtri
  • sinc
  • deg2rad
  • rad2deg
  • nan_to_num
  • cdouble
  • double
  • complex
  • polar
  • frexp
  • ldexp

Scalar / analytic binary families

  • add
  • sub
  • mul
  • div_no_rounding_mode
  • true_divide
  • rsub
  • pow
  • float_power
  • atan2
  • hypot
  • maximum
  • minimum
  • max_binary
  • min_binary
  • fmax
  • fmin
  • xlogy
  • special_xlog1py
  • logaddexp
  • copysign
  • clamp_min
  • clamp_max
  • __radd__
  • __rsub__
  • __rmul__
  • __rdiv__
  • __rmod__
  • __rpow__

Scalar / analytic reductions and fill-like ops

  • sum
  • prod
  • mean
  • nanmean
  • nansum
  • amax
  • amin
  • std
  • std_unbiased
  • var
  • var_unbiased
  • fill

NN functional scalar families

  • nn_functional_celu
  • nn_functional_elu
  • nn_functional_hardshrink
  • nn_functional_hardsigmoid
  • nn_functional_hardtanh
  • nn_functional_logsigmoid
  • nn_functional_mish
  • nn_functional_prelu
  • nn_functional_relu
  • nn_functional_relu6
  • nn_functional_rrelu
  • nn_functional_selu
  • nn_functional_silu
  • nn_functional_softplus
  • nn_functional_softshrink
  • nn_functional_softsign
  • nn_functional_tanhshrink
  • nn_functional_threshold

Existing files already present

Current repo state already includes math notes for:

  • svd
  • qr
  • lu
  • solve
  • cholesky
  • det
  • eig
  • eigen
  • inv
  • lstsq
  • matrix_exp
  • norm
  • pinv
  • scalar_ops

And DB case directories already exist for the major linalg families, including:

  • svd
  • qr
  • lu
  • lu_factor
  • lu_factor_ex
  • lu_solve
  • solve
  • solve_ex
  • solve_triangular
  • tensorinv
  • tensorsolve
  • vander
  • cross
  • householder_product
  • scalar / analytic families under cases/*/identity.jsonl

This issue is therefore not just about creating missing files. It is also about:

  • reviewing whether the existing notes are complete for complex mode
  • checking that DB coverage is good enough for downstream replay
  • explicitly listing unsupported complex families where support is not intended yet

Downstream dependency

This issue blocks the downstream complex-op capability wave in tenferro-rs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions