Retained physical memory: write, wait, probe
Test a narrow meaning of memory: a present readout depends on a controlled earlier input. The supplied simulation contains an ordinary exponentially decaying state, paired background offsets and readout noise. Its purpose is to validate a transparent analysis and expose the controls needed for a physical study. It does not demonstrate universal memory or learning.
What is measured?
The observable is trained-minus-untrained probe response in a documented readout scale at a specified delay. The fitted amplitude and decay time summarize that difference under a passive exponential model. The demonstration uses arbitrary units; physical meaning requires a named substrate, calibration, write mechanism and readout channel.
The baseline
Two comparisons are kept separate. A zero-difference baseline asks whether trained and untrained conditions have distinguishable mean responses. A passive exponential asks whether ordinary relaxation explains that difference. Beating the zero baseline does not beat passive relaxation. A stronger learning claim needs task performance, informative training and generalization tests that this package deliberately does not supply.
Protocol
- Prerequisites: Python 3.9 or later is sufficient for the demonstration. A physical extension needs a characterized substrate with an established safe write/reset/read procedure, timing and calibrated sensing. No organism, biological intervention or specialized apparatus is required by this package. Choose the mechanism before treating a numerical difference as stored information.
- Run the synthetic benchmark: eight delays, six independent matched pairs per delay and ninety-six total readings. Each pair represents a fresh reset/retrain/probe sequence. The training response starts at 1.5 arbitrary units and decays with a generating time constant of twelve seconds. The script provides the full deterministic generator.
- Preregister training, sham training, reset validation, probe timing, meaningful retained response and analysis. Randomize condition order and blind labels during readout processing. Match incidental duration and input where appropriate. If probing changes the state, use a fresh run or specimen at each delay rather than treating repeated probes as independent observations.
- Record matched pairs in a copy of the blank schema. Preserve physical units, sample identities, instrument records and conditions in accompanying metadata. Verify that shared offsets actually cancel and that neither labels nor run order disclose training. A condition-specific baseline can imitate retention even when an apparently careful paired subtraction is applied.
- Evaluate the declared delay curve and test fresh runs or new delays. Apply a specified reset or transformation and predict its effect before reading the outcome. Report unsuccessful erasure and unsuccessful retention as well as successes. A trace retained under one transformation provides no conclusion about transformations that were not tested.
Analysis
The script subtracts paired controls and calculates uncertainty-weighted mean differences at each delay. It fits log(mean difference)=log(A)−t/τ using weighted least squares with a small-noise delta approximation. Nonpositive mean differences or a nondecaying fitted slope trigger an explicit error; the code never silently drops them. Output includes every delay estimate, amplitude, time constant, conditional uncertainties, fit residuals and descriptive baseline RMSE. The actual demonstration returns τ≈12.220417 s and exponential mean-response RMSE≈0.008584 arbitrary units.
Uncertainty
Readout noise is assumed independent with known standard deviation; the synthetic shared offset cancels exactly in pairing. The log transformation is approximate and becomes unsuitable when relative noise is large. Time error, probe disturbance, imperfect reset and condition-specific offsets are excluded. The reported τ standard uncertainty of about 0.118252 s is therefore conditional and must not be used as a complete empirical error budget.
What would count as success?
The software milestone is reproducing the generated curve and metrics. A local empirical success would recover a prespecified retained difference from independent, blinded and well-matched runs at declared delays, while identifying a plausible state variable. Agreement with exponential relaxation supports that limited mechanism, not an additional universal substrate.
What would count against it?
The intended retention claim fails if the difference disappears under valid controls, is decoded from labels or run order, or is explained by an uncontrolled condition-specific baseline. If a later probe cannot resolve the predeclared meaningful difference, report an appropriate bound or an inconclusive result according to precision.
Limits
- The generator is passive relaxation. Its decay is not task improvement, adaptive learning, awareness or a demonstration that an amount of energy stores a biography.
- Log fitting requires positive mean differences. Nonpositive observations need a justified original-scale model; censoring or adding a constant afterward changes the analysis.
- The minimal CSV does not capture every environmental channel. Matching and reset validity require independent physical evidence, not merely matching pair IDs.
- The demonstration contains no measured material response. Neither its amplitude nor its time constant is an empirical finding or a forecast for a particular substrate.
Inspect the package
Captured synthetic output
{
"conditional_standard_uncertainty_amplitude_au": 0.006553079,
"conditional_standard_uncertainty_tau_s": 0.118251611,
"dataset_kind": [
"synthetic_demo"
],
"delay_count": 8,
"delay_results": [
{
"delay_s": 0.0,
"fitted_response_au": 1.493290607,
"mean_difference_au": 1.497417891,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 2.0,
"fitted_response_au": 1.267848809,
"mean_difference_au": 1.258801183,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 4.0,
"fitted_response_au": 1.076441916,
"mean_difference_au": 1.076848923,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 7.0,
"fitted_response_au": 0.842122558,
"mean_difference_au": 0.853646469,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 10.0,
"fitted_response_au": 0.658809725,
"mean_difference_au": 0.645609338,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 14.0,
"fitted_response_au": 0.474904482,
"mean_difference_au": 0.485561615,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 20.0,
"fitted_response_au": 0.290653575,
"mean_difference_au": 0.282513229,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
},
{
"delay_s": 28.0,
"fitted_response_au": 0.151031732,
"mean_difference_au": 0.15290478,
"pairs": 6,
"standard_uncertainty_au": 0.008660254
}
],
"exponential_mean_response_rmse_au": 0.00858384,
"fit": "Weighted least squares of log(mean trained-minus-untrained response) = log(A) - t/tau",
"fitted_amplitude_au": 1.493290607,
"fitted_tau_s": 12.220417251,
"interpretation": "Synthetic passive-relaxation benchmark; no empirical learning or universal-memory finding.",
"minimum_mean_paired_difference_au": 0.15290478,
"paired_runs": 48,
"project": "retained-physical-memory",
"reduced_chi_squared_log_fit": 1.306591497,
"synthetic_demo": true,
"uncertainty_assumption": "Known independent response noise; matched shared offsets cancel; small-noise log delta method; no time error or condition-specific offset modeled.",
"zero_difference_baseline_rmse_au": 0.89937004
}A useful next contribution
Provide a documented write/read dataset with matched sham controls, independently repeated runs and a specified reset, or implement a validated original-scale likelihood for noisy or offset-contaminated observations. A useful contribution explains both when the retained trace should remain and when the proposed substrate should erase it.