[0.1.1] - 2026-06-09
Added — Round 7 (2026-06-02)
- Exact LTL Next (X) operator (tensorlogic-compiler):
compile_nextnow emits atemporal_next:<axis>unary node dispatched viatensorlogic_scirs_backend::temporal_ops::shift_next; previously returned an unimplemented error. - Exact LTL Until (U) operator (tensorlogic-compiler):
compile_untilnow emits atemporal_until:<tag>:<axis>binary node; previously returned an unimplemented error. - Exact LTL Release (R), WeakUntil (W), StrongRelease (M) operators (tensorlogic-compiler + tensorlogic-scirs-backend): replaced three mathematically incorrect single-step approximations with exact finite-trace backward-scan recurrences. Unified
temporal_binary_scan/temporal_binary_scan_vjpgeneralise theuntil_scanfrom Round 6.OUTER/INNERparametrised overTemporalBinaryForm×UntilSemantics;boundary_val∈ {0.0, 1.0} distinguishes strong/weak variants. - Temporal ops backend (tensorlogic-scirs-backend): new
temporal_ops.rsmodule exposingUntilSemantics(MaxMin / ProbSumProduct),TemporalBinaryForm(Until / WeakUntil / Release / StrongRelease),shift_next,shift_prev,temporal_binary_scan,temporal_binary_scan_vjp. +16 tests (10 unit + 6 integration). - OxiCUDA solver f64 + PCG + Thomas algorithm (tensorlogic-oxicuda-solver): generic
solve_lu_f64,solve_cholesky_f64,solve_qr_lstsq_f64,cg_solve_f64; preconditioned CG (pcg_solve/pcg_solve_f64) withPrecond::JacobiandPrecond::IncompleteCholesky;solve_tridiagonal/solve_tridiagonal_f64via Thomas LU (newbanded.rs). 12 new integration tests; 47 total in crate. - Generic OxiCUDA sparse: SparseCsr + SparseCsc (tensorlogic-oxicuda-sparse):
SparseCsr<T>generalised overT: Float(backward-compatiblef32default); newSparseCsc<T>(column-histogram build,csc_spmv,to_csr,from_dense);SparseCsr::transpose(),to_csc(),from_dense();spmv_f64,spmm_f64,spmv_batched. 14 new tests; 27 total in crate. - OxiCUDA RNG f64 + streaming (tensorlogic-oxicuda-rng):
uniform_f64/normal_f64using 52-bit mantissa extraction + Box-Muller on f64; streamingfill_uniform_chunked/fill_uniform_chunked_f64/fill_normal_chunkedcallbacks; CPU builds now auto-deriveSync(PhantomData guard moved behind#[cfg(feature="gpu")]). 12 new integration tests; 60 total in crate.
Added — GPU Autodiff + Multi-output Kernels (2026-05-29)
- Tape-based autodiff for OxiCudaExecutor (tensorlogic-oxicuda-backend):
TlAutodiffimplementation recording a tape duringforwardand replaying it in reverse forbackward. Supports Matmul2D, BatchedMatmul3D, Identity, Unary, Binary, and Reduce ops.OxiCudaTapewithgradients: HashMap<usize, OxiCudaTensor>exposed for inspection. Optionalnative-broadcastfeature routes gradient broadcasts through GPU kernels. - Multi-output Gaussian Processes (tensorlogic-sklears-kernels): new
multi_output/module —MultiOutputKerneltrait (compute_block,block_gram_matrix), ICM (Intrinsic Coregionalization Model), LMC (Linear Model of Coregionalization), VVGP (vector-valued GP regression). Integration tests for Swiss-roll and block-structure scenarios. - Variational Bayes Gaussian Mixture (tensorlogic-quantrs-hooks): new
vmp/mixture.rs—VariationalGaussianMixtureimplementing the VBEM algorithm (Bishop 2006 §10.2 / Attias 1999) withVgmmConfig, Dirichlet-prior mixing proportions, Gaussian-Normal component means, coordinate-ascent E-step / M-step, ELBO monitoring.
Added — Round 8 (2026-06-03)
- Probabilistic execution (tensorlogic-scirs-backend): new
probabilistic/sub-module — Monte Carlo samplers (sample_bernoulli,sample_uniform,sample_normal,sample_categoricalvia Gumbel-max trick),mc_integrate;MonteCarloEstimatorwith mean/variance/percentile credible intervals;predictive_entropy,bald_epistemic_uncertainty;VariationalInference::fit— mean-field Gaussian VI with reparameterization trick + Adam SGA maximising the ELBO. +15 tests; 641 total in crate. - SPARQL tensor evaluation (tensorlogic-oxirs-bridge): new
InternedGraph— O(1) term dictionary, predicate-indexed adjacency, parallel N-Triples bulk loading viastd::thread::scope,from_rdf_triples/into_quad_store; newTensorBgpEvaluatorevaluates conjunctive SELECT/BGP queries as boolean tensor contractions overEinsumGraph+Scirs2Exec::forward, decoding non-zero entries back to variable bindings. +21 tests (12 unit + 9 integration); 541 total in crate. - Neural Architecture Search (tensorlogic-train): new
nas/module —ArchSearchSpace/Architecture/LayerSpecwithparam_count()+HyperparamConfiginterop;ArchSamplerwith 4-operator mutation (change op / width / activation, add/remove layer);RegularizedEvolution(Real et al. 2019 aging evolution with tournament selection and oldest eviction, ask/tell API);RandomArchSearchbaseline;NasResult. +15 tests; 741 total in crate. - SVM via SMO (tensorlogic-sklears-kernels): new
svm/module —SvcModel/SvcFitted(C-SVM binary + one-vs-rest multiclass);SvrModel/SvrFitted(ε-SVR via 2N-variable augmented dual);smo_svcimplementing Platt 1998 SMO with Keerthi two-loop heuristics, error cache, KKT convergence guard. All built onArc<dyn Kernel>. +24 tests; 557 total in crate.
Changed
scirs2-{core,linalg,autograd,optimize,sparse}updated 0.4.2 → 0.5.0oxiarc-deflateupdated 0.2.7 → 0.3.3quantrs2-{core,circuit,sim}updated 0.1.3 → 0.2.0oxirs-{core,gql,ttl}updated 0.2.4 → 0.3.1oxicuda-{backend,blas,driver,fft,memory,rand,solver,sparse}updated to 0.1.8;oxicuda-backendandoxicuda-fftadded as new workspace dependenciesoxicodeupdated 0.2 → 0.2.4sklears-{core,kernel-approximation}updated 0.1.0 → 0.1.1- Test count: 6,407 → 7,178 (+771 new tests, 100% pass rate; 37 GPU-only tests skipped)
Full Changelog: v0.1.0...v0.1.1