Summary
The flagship blog post (blog/introducing-tenferro-rs, live in EN/JA/ZH) frames tenferro as "a differentiable tensor stack" and leads with "linear algebra, PyTorch-style eager autodiff, JAX-style traced transforms, ...". Differentiability is the headline identity. The equally-valid usage — tenferro's typed, minimal-dependency, non-AD core, usable without buying into the AD stack — is absent from the outreach narrative. This issue tracks a blog update that presents both usage modes as first-class.
This is the outreach counterpart of the tenferro-rs positioning/docs work (see the tenferro-rs repo issue for README/docs). It broadens the perceived audience: people who want a typed Rust tensor layer without the AD/graph machinery.
Evidence (from tenferro-rs)
tenferro-tensor-core depends only on num-complex, smallvec, thiserror.
autodiff is a non-default feature; non-AD immediate linalg exists via the explicit backend, no autodiff, no traced graph. The backend is constructed once and reused (it owns a buffer pool + context), then reused across ops:
let mut backend = CpuBackend::new();
let outputs = backend.svd_read(TensorView::F64(a.as_view()))?;
Direction
- Recommended: a new follow-up post, not a rewrite of the launch post (keep the launch record intact).
- Axis: "choose your altitude" — (A) typed, minimal-dependency, non-AD core; (B) opt-in AD / traced / GPU / einsum / FFT on top. Both first-class.
- Show concrete (A): the 3-dependency core,
autodiff non-default, an explicit-backend non-AD immediate linalg example that constructs the backend once and reuses it (do not model per-call CpuBackend::new() — it discards the buffer pool).
- Follow the established multi-language convention (EN/JA/ZH), matching the existing
introducing-tenferro-rs set.
- Fits the ongoing Schelling-point outreach cadence (SciRust monthly, Psi-k).
Mechanics
- Jekyll repo
tensor4all/tensor4all.github.io; a post lives at blog/<slug>/index.md (front matter: title only); push to main deploys.
Acceptance criteria
- A new post under
blog/<slug>/ presenting the two usage modes as co-equal, with a runnable (A) non-AD immediate example including linalg via the explicit backend.
- Language variants consistent with the existing convention (EN plus JA/ZH as agreed).
- Messaging consistent with the tenferro-rs README positioning update.
Related
Summary
The flagship blog post (
blog/introducing-tenferro-rs, live in EN/JA/ZH) frames tenferro as "a differentiable tensor stack" and leads with "linear algebra, PyTorch-style eager autodiff, JAX-style traced transforms, ...". Differentiability is the headline identity. The equally-valid usage — tenferro's typed, minimal-dependency, non-AD core, usable without buying into the AD stack — is absent from the outreach narrative. This issue tracks a blog update that presents both usage modes as first-class.This is the outreach counterpart of the tenferro-rs positioning/docs work (see the tenferro-rs repo issue for README/docs). It broadens the perceived audience: people who want a typed Rust tensor layer without the AD/graph machinery.
Evidence (from tenferro-rs)
tenferro-tensor-coredepends only onnum-complex,smallvec,thiserror.autodiffis a non-default feature; non-AD immediate linalg exists via the explicit backend, no autodiff, no traced graph. The backend is constructed once and reused (it owns a buffer pool + context), then reused across ops:Direction
autodiffnon-default, an explicit-backend non-AD immediate linalg example that constructs the backend once and reuses it (do not model per-callCpuBackend::new()— it discards the buffer pool).introducing-tenferro-rsset.Mechanics
tensor4all/tensor4all.github.io; a post lives atblog/<slug>/index.md(front matter: title only); push tomaindeploys.Acceptance criteria
blog/<slug>/presenting the two usage modes as co-equal, with a runnable (A) non-AD immediate example including linalg via the explicit backend.Related