Read the displacement argument, ask for its missing steps, and investigate the same relationships in three working laboratories.
This is newly authored explanatory text in modern notation, with editorial review pending. It is not the German source, an English translation, or a complete edition of the paper. The reviewed source faces and pinned facsimile remain in preparation. Section headings identify the argument being discussed, not a completed source inventory.
New explanatory text authored with AI assistance. Mathematical and editorial review remains pending; none of these passages is presented as Einstein’s wording.
What fixes D for a small spherical tracer in a liquid?
For the stated dilute-sphere liquid model, higher viscosity lowers D. Doubling viscosity halves the predicted mean square at fixed time and divides RMS displacement by √2.
The displacement law tells us what a given D predicts. A separate model connects D to a tracer’s physical surroundings. Let b be mobility, so a small force F produces mean drift bF. Stokes drag for a sphere gives b = 1/(6πηa).
Let c be number density. At isothermal balance the force density cF balances the osmotic-pressure gradient. With ideal osmotic pressure Π = cRT/N, the drift flux cbF becomes b(RT/N) times the density gradient. Equating it with the opposite diffusive flux gives D = bRT/N.
D=6πηaNRT=6πηakBT
Stokes–Einstein diffusivity is R T over six pi viscosity radius N, or k B T over six pi viscosity radius.
The equality kB = R/N relates the two forms. For a prediction using modern constants it is convenient. For an inference of N, using a value of kB derived from that same N would defeat the point.
Name the quantities: T is absolute temperature, η dynamic viscosity, a tracer radius, R molar gas constant, and N molecular number per mole.
Mobility b is drift speed divided by force. Stokes drag supplies b = 1/(6πηa).
The isothermal ideal osmotic-pressure relation is Π = cRT/N, where c counts tracers per volume.
Differentiate with respect to position: the gradient of Π is (RT/N) times the gradient of c.
Mechanical balance gives cF equal to that pressure gradient. Multiply by b to obtain the drift flux.
Fick’s law gives the opposing diffusive flux as −D times the gradient of c.
Zero total flux for this balance gives D = bRT/N. Substitute the Stokes mobility.
Holding T, radius and constants fixed, doubling η halves D. The RMS displacement at a fixed time then falls by √2, not by two.
Explore the equation · Modern model notation
Resistance to motion controls spreading
D=6πηakBT
The diffusion coefficient is thermal energy divided by the viscous drag coefficient.
Select a term or operation. In the formula, Down enters an operation, Up returns to its parent, and Left/Right move between siblings. Escape clears selection. Tab leaves the formula.
Input · Model result · Constant
Symbolic equation
Symbolic here. Open the linked laboratory for a worked example and live values.
Diffusion coefficient
No accepted value is available here.
Boltzmann constant
No accepted value is available here.
Absolute temperature
No accepted value is available here.
Dynamic viscosity
No accepted value is available here.
Particle radius
No accepted value is available here.
Read the equation aloud in words
The diffusion coefficient equals the Boltzmann constant times the absolute temperature, divided by six times pi times the dynamic viscosity times the particle radius.
Thermal energy competes with viscous drag. Doubling viscosity halves the diffusion coefficient while reducing RMS displacement only by the square root of two. Radius means radius, not diameter.
Model assumptions and every term’s meaning
Dilute, approximately spherical tracers with no-slip Stokes drag in a homogeneous Newtonian liquid.
Wall corrections, interactions, inertia, and observation noise are not included.
The modern SI 2019 constant set is used; this is not a historical inversion exercise.
An ideal model
This equation assumes the dilute spherical tracer and Stokes-drag model; dimensional consistency alone does not establish those assumptions. Read the prerequisite
Diffusion coefficient
A squared-distance-per-time coefficient. This value comes from the accepted model calculation. Read the prerequisite
Why divide by drag?
Increasing the denominator reduces diffusivity at fixed thermal energy. This is a model dependence, not a rule that every larger quantity must reduce motion. Read the prerequisite
Thermal energy scale
Boltzmann constant times absolute temperature supplies energy per particle. Read the prerequisite
A known modern constant
The SI 2019 constant set supplies this value. It must not be treated as independent historical evidence when trying to infer molecular number. Read the prerequisite
Absolute temperature
Use kelvin. The laboratory holds viscosity as an independently supplied parameter. Read the prerequisite
The drag coefficient
Six pi times viscosity times radius is Stokes drag per speed for an isolated sphere in the assumed low-Reynolds regime. Read the prerequisite
Dynamic viscosity
Viscosity is in the denominator. Doubling it at fixed temperature and radius halves D, not the RMS displacement. Read the prerequisite
Particle radius
The input is a radius, not a diameter. Confusing them changes the predicted coefficient by a factor of two. Read the prerequisite
Exact rational SI dimensions were checked at build time. This is a unit check, not a proof of the model. This teaching record is a draft, not a transcription of a printed equation.
Show every step here: Why viscosity changes the spread
Name the quantities: T is absolute temperature, η dynamic viscosity, a tracer radius, R molar gas constant, and N molecular number per mole.
Mobility b is drift speed divided by force. Stokes drag supplies b = 1/(6πηa).
The isothermal ideal osmotic-pressure relation is Π = cRT/N, where c counts tracers per volume.
Differentiate with respect to position: the gradient of Π is (RT/N) times the gradient of c.
Mechanical balance gives cF equal to that pressure gradient. Multiply by b to obtain the drift flux.
Fick’s law gives the opposing diffusive flux as −D times the gradient of c.
Zero total flux for this balance gives D = bRT/N. Substitute the Stokes mobility.
Holding T, radius and constants fixed, doubling η halves D. The RMS displacement at a fixed time then falls by √2, not by two.
Combining ideal osmotic pressure with mobility and diffusive balance relates diffusivity to temperature, viscosity and radius.
What this relies on
Dilute spherical tracers in a homogeneous Newtonian liquid, Stokes mobility and ideal osmotic pressure.
R is a separately known molar gas constant; N denotes molecular number per mole.
The reviewed German, aligned English, gloss, facsimile, and split view for this passage are not yet available. The explanation does not stand in for those source layers.
Assumptions and limits: Why viscosity changes the spread
Assumed here
Dilute spherical tracers in a homogeneous Newtonian liquid, Stokes mobility and ideal osmotic pressure.
R is a separately known molar gas constant; N denotes molecular number per mole.
What this does not establish
Slip, inertia, interactions, non-Newtonian response and gas corrections are not included.
The argument imports constitutive laws; conservation alone does not derive them.
Which additional measurements turn displacement into an estimate of N?
A displacement measurement can constrain molecular number only with additional independently known physical quantities and a valid model. A simulation using an assumed answer is not a new measurement of that answer.
D=2t⟨x2⟩,N=3πηa⟨x2⟩RTt
Diffusivity is mean-square displacement over twice time; molecular number is R T t over three pi viscosity radius mean-square displacement.
The first expression refers to the model mean square, or to an estimate obtained from an appropriate sample. The second is an inversion under the stated physical assumptions. An estimate needs uncertainty and checks of those assumptions; rearranging symbols does not remove experimental error.
Without an independent radius, the same D can result from many pairs of a and N. The data then select a compatible family rather than a unique molecular number. The existing synthetic laboratories explore this relationship but do not supply a historical measurement.
Begin with mean square = 2Dt. Divide both sides by 2t, for positive t.
The result is D = mean square/(2t).
The separate physical relation is D = RT/(6πηaN). Multiply both sides by 6πηaN.
Divide by 6πηaD to obtain N = RT/(6πηaD).
Insert mean square/(2t) for D. Dividing by that fraction multiplies by 2t/mean square.
Cancel the factor two against six, giving N = RTt/(3πηa mean square).
Notice that a and N occur as a product in the original relation. Without one, D alone cannot determine the other.
A simulation using an assumed molecular number can test this inversion’s arithmetic, but cannot independently establish that number in nature.
Show every step here: What would let us count molecules?
Begin with mean square = 2Dt. Divide both sides by 2t, for positive t.
The result is D = mean square/(2t).
The separate physical relation is D = RT/(6πηaN). Multiply both sides by 6πηaN.
Divide by 6πηaD to obtain N = RT/(6πηaD).
Insert mean square/(2t) for D. Dividing by that fraction multiplies by 2t/mean square.
Cancel the factor two against six, giving N = RTt/(3πηa mean square).
Notice that a and N occur as a product in the original relation. Without one, D alone cannot determine the other.
A simulation using an assumed molecular number can test this inversion’s arithmetic, but cannot independently establish that number in nature.
Displacement constrains diffusivity; independent radius, viscosity, temperature and gas-constant information are needed to infer molecular number.
What this relies on
A suitable estimate of the model mean-square coordinate displacement or its time slope.
Independent values of R, T, η and tracer radius a, under the stated dilute-liquid model.
The reviewed German, aligned English, gloss, facsimile, and split view for this passage are not yet available. The explanation does not stand in for those source layers.
Assumptions and limits: What would let us count molecules?
Assumed here
A suitable estimate of the model mean-square coordinate displacement or its time slope.
Independent values of R, T, η and tracer radius a, under the stated dilute-liquid model.
What this does not establish
A synthetic run generated from an assumed N is not independent evidence for N.
Diffusivity alone constrains the product aN when radius is unknown.
Measurement noise, drift, exposure and finite sampling require separate treatment.
Einstein's displacement argument: the typical distance grows with the square root of time, not with time itself. Every explanation stays on the page when reading-only is on.
Static worked case
For radius 0.5 μm, viscosity 1.35×10⁻³ Pa·s, and T = 290.15 K, the RMS displacement is about 0.8 μm in one second. This static worked case stays in the markup; loading the live ensemble does not replace it.
Keep the experiment beside the argument
This laboratory stays mounted while you change detail or open a foundation. Applying its controls explicitly starts a host calculation; opening an explanation never starts or restarts a trial.
Compare the movement of individual tracers with the statistics of the whole ensemble. Changing when or how you observe the trial does not generate different paths.
Same-seed viscosity comparisons use common random numbers, not independent trials.
Predict before comparing observation times
The independent-step model predicts four times the mean square, hence twice its square root. Your prediction never locks the explanation or controls.
These buttons use the accepted trial, not unsaved draft edits. The requested time must lie on its recording grid.
Accepted synthetic trial: 400 tracers, 1 seconds, coordinate mean 0.0029237 micrometres and coordinate RMS 0.98602 micrometres.
Accepted trial: seed 1905; 400 tracers; 293.15 K; viscosity 1 mPa·s; radius 0.5 μm. Observe at 1 s in a 10-second recording. Constants: modern SI 2019.
Displacements from a common origin, not a literal microscope image. Lines connect recorded positions and do not supply an instantaneous velocity. 0 / 400 endpoints lie outside this view; none are removed from the ensemble.
t = 1.00 s (true rate (1 s/s))
Natural rate: ~0.8 μm per second Brownian walk (scale bar: 1 μm)Simulation view: accelerated snapshot across 10 s
View only: no calculation or new draws.
Solid bars: the synthetic sample. Dashed line: probabilities of the same bins under the unbounded model, not a density curve. Counts beyond the plotted range: 0 left, 0 right.
Whole-ensemble statistics: signed coordinate x, total over 1 coordinate
Diffusion coefficient (model)
0.42944 μm²/s
Signed mean (sample)
0.0029237 μm (modern-si-2019)
Mean absolute coordinate displacement
0.77808 μm (modern-si-2019)
Mean-square coordinate displacement
0.97223 μm²
Coordinate RMS (sample / model)
0.98602 / 0.92676 μm(modern-si-2019)
Mean distance (sample / model)
0.77808 / 0.73945 μm (modern-si-2019)
Total mean square (sample / model)
0.97223 / 0.85888 μm²
Apparent coordinate speed (sample / model)
0.98602 / 0.92676 μm/s
Sampling bands under the model
99.9% per comparison, not a simultaneous guarantee across the table or repeated observations. These ranges are calculated from the model variance, not estimated from the observed sample, and are not uncertainties of the model itself.
Signed coordinate mean (μm): -0.15248 to 0.15248
Total mean square (μm²): 0.67299 to 1.0729
Inspect the model behind this trial
These equations describe the same accepted trial as the plots and table. Select a symbol or an operation to see what it means; model predictions are not sample estimates.
Explore the equation · Modern model notation
Why the apparent speed depends on how you watch
vapp:=tλx
The apparent coordinate speed divides the typical coordinate distance by the chosen positive interval.
Select a term or operation. In the formula, Down enters an operation, Up returns to its parent, and Left/Right move between siblings. Escape clears selection. Tab leaves the formula.
Input · Model result · Constant
Static worked example
Values describe this accepted snapshot, not unsaved input edits.
Apparent coordinate speed
0.92676 μm/s
Coordinate RMS displacement
0.92676 μm
Observation interval
1 s
Read the equation aloud in words
Apparent coordinate speed equals the model coordinate root mean square displacement divided by the observation interval.
This quotient depends on the observation interval. It is not instantaneous physical velocity. At zero interval the quotient is undefined, even though the displacement is zero.
Model assumptions and every term’s meaning
The same one-coordinate ideal Brownian model as the RMS relation.
A positive observation interval is required for the quotient.
Lines joining recorded points are a rendering convention, not a velocity measurement.
Define the observable
This defines an interval-dependent comparison. It does not introduce a physical instantaneous Brownian velocity. Read the prerequisite
Apparent coordinate speed
A distance-per-interval statistic. It is not a molecular collision speed. Read the prerequisite
Divide by the same interval
The distance grows as the square root of time, while the denominator grows linearly. The quotient therefore decreases as the interval grows. Read the prerequisite
Model coordinate RMS
The same accepted one-coordinate model displacement used by the neighboring RMS equation. Read the prerequisite
Positive observation interval
A zero interval yields no apparent-speed value. The interface keeps the explanation instead of fabricating zero or infinity. Read the prerequisite
Exact rational SI dimensions were checked at build time. This is a unit check, not a proof of the model. This teaching record is a draft, not a transcription of a printed equation.
Explore the equation · Modern model notation
Resistance to motion controls spreading
D=6πηakBT
The diffusion coefficient is thermal energy divided by the viscous drag coefficient.
Select a term or operation. In the formula, Down enters an operation, Up returns to its parent, and Left/Right move between siblings. Escape clears selection. Tab leaves the formula.
Input · Model result · Constant
Static worked example
Values describe this accepted snapshot, not unsaved input edits.
Diffusion coefficient
0.42944 μm²/s
Boltzmann constant
1.3806e-23 J/K
Absolute temperature
293.15 K
Dynamic viscosity
1 mPa·s
Particle radius
0.5 μm
Read the equation aloud in words
The diffusion coefficient equals the Boltzmann constant times the absolute temperature, divided by six times pi times the dynamic viscosity times the particle radius.
Thermal energy competes with viscous drag. Doubling viscosity halves the diffusion coefficient while reducing RMS displacement only by the square root of two. Radius means radius, not diameter.
Model assumptions and every term’s meaning
Dilute, approximately spherical tracers with no-slip Stokes drag in a homogeneous Newtonian liquid.
Wall corrections, interactions, inertia, and observation noise are not included.
The modern SI 2019 constant set is used; this is not a historical inversion exercise.
An ideal model
This equation assumes the dilute spherical tracer and Stokes-drag model; dimensional consistency alone does not establish those assumptions. Read the prerequisite
Diffusion coefficient
A squared-distance-per-time coefficient. This value comes from the accepted model calculation. Read the prerequisite
Why divide by drag?
Increasing the denominator reduces diffusivity at fixed thermal energy. This is a model dependence, not a rule that every larger quantity must reduce motion. Read the prerequisite
Thermal energy scale
Boltzmann constant times absolute temperature supplies energy per particle. Read the prerequisite
A known modern constant
The SI 2019 constant set supplies this value. It must not be treated as independent historical evidence when trying to infer molecular number. Read the prerequisite
Absolute temperature
Use kelvin. The laboratory holds viscosity as an independently supplied parameter. Read the prerequisite
The drag coefficient
Six pi times viscosity times radius is Stokes drag per speed for an isolated sphere in the assumed low-Reynolds regime. Read the prerequisite
Dynamic viscosity
Viscosity is in the denominator. Doubling it at fixed temperature and radius halves D, not the RMS displacement. Read the prerequisite
Particle radius
The input is a radius, not a diameter. Confusing them changes the predicted coefficient by a factor of two. Read the prerequisite
Exact rational SI dimensions were checked at build time. This is a unit check, not a proof of the model. This teaching record is a draft, not a transcription of a printed equation.
Explore the equation · Modern model notation
From spreading to a measurable distance
λx=2Dt
The typical coordinate distance is the positive square root of twice the diffusion coefficient times the observation interval.
Select a term or operation. In the formula, Down enters an operation, Up returns to its parent, and Left/Right move between siblings. Escape clears selection. Tab leaves the formula.
Input · Model result · Constant
Static worked example
Values describe this accepted snapshot, not unsaved input edits.
Coordinate RMS displacement
0.92676 μm
Diffusion coefficient
0.42944 μm²/s
Observation interval
1 s
Read the equation aloud in words
The model coordinate root mean square displacement equals the square root of two times the diffusion coefficient times the observation interval.
Squaring measures spread without cancellation between directions. Taking the positive square root turns squared distance back into a distance. Four times the observation interval gives twice the model RMS, not four times.
Model assumptions and every term’s meaning
Independent, zero-mean Gaussian displacement increments in a homogeneous liquid.
One-coordinate model statistic, not a measured speed or a sample estimate.
The overdamped regime is assumed rather than established from additional particle and fluid measurements.
A model relation
This equality concerns the ideal model. A finite synthetic ensemble fluctuates around it; its sample RMS is displayed separately. Read the prerequisite
Coordinate RMS
One coordinate, not the total three-dimensional distance. Model RMS and sample RMS have different meanings. Read the prerequisite
Why a square root?
Two D t has units of squared length. Its positive square root has units of length and defines the typical displacement. Read the prerequisite
Build the mean square
Independent zero-mean increments add their variances. The definition of D makes the coordinate mean square equal to 2 D t. Read the prerequisite
Diffusion coefficient
This is the accepted model diffusivity, not a rate inferred from the synthetic data. Read the prerequisite
Observation interval
This is the interval used for the displayed displacement, not the simulation frame rate. Re-observing the trial preserves its paths. Read the prerequisite
Exact rational SI dimensions were checked at build time. This is a unit check, not a proof of the model. This teaching record is a draft, not a transcription of a printed equation.
RMS distance over recorded time
Solid: this sample. Dashed: the model. The time axis is logarithmic. Zero sample values, if any, remain in the table but cannot appear on a log scale. All times refer to the same recorded paths.Read the comparison as a table
RMS distance (μm)
Time (s)
Sample
Model
0.02
0.13038
0.13106
0.04
0.18556
0.18535
0.1
0.30368
0.29307
0.2
0.40416
0.41446
0.4
0.61388
0.58613
1
0.98602
0.92676
2
1.3495
1.3106
4
1.9035
1.8535
10
2.8723
2.9307
What is, and is not, being simulated
These synthetic paths are Gaussian independent increments for dilute spherical tracers in a homogeneous Newtonian liquid. They do not simulate individual molecular collisions, inertia, interactions, sedimentation, walls, localization error or motion blur.
Low Reynolds number and observation times long compared with momentum relaxation are assumed, not verified from fluid and particle data. Lines between samples are a drawing convention; they do not define an instantaneous Brownian speed.
The three latent coordinates are recorded together. Axis, dimension, observation and statistic changes reuse those coordinates. The histogram and statistics use every tracer, including those outside the view.
No FrankenSim WASM artifact is used. Integer random draws follow the pinned Philox mapping; Gaussian conversion uses this host’s math functions and is not claimed bitwise identical across browser engines.
Logical recording draws: 1200000. This result was assembled from a newly generated deterministic recording.
This is the function that produced the current snapshot.
In words
Take the temperature and the gas constant, divide by the number of molecules in a mole to get the energy scale of one molecule, then divide by the drag on a sphere of this radius in a liquid of this viscosity.
Mathematics
Implementation
/** SI: temperature K, viscosity Pa s, radius m, output m2/s. No ambient constants. */exportfunctionstokesEinsteinD({T,eta,a,medium="liquid",}:{T:number;eta:number;a:number;medium?:"liquid"|"gas"},set:ConstantSet,):Evaluation{if(![T,eta,a].every((v)=>Number.isFinite(v)&&v>0))returnoutside("diffusionCoefficient","stokesEinsteinD","T > 0, eta > 0, a > 0","Enter positive finite temperature, viscosity, and particle radius.","input",set,);if(medium!=="liquid")returnoutside("diffusionCoefficient","stokesEinsteinD","stokes-gas-medium","The liquid Stokes-drag model does not include the slip correction needed in a gas.","model",set,);constk=thermalConstant(set);returnnumber("diffusionCoefficient","stokesEinsteinD",(k.value*T)/(6*Math.PI*eta*a),set,undefined,true,);}
One worked example of this calculation. Constant set: Declared 1905-plan inputs (source review pending).
This function computes the listed outputs when it runs.
In words
The typical one-dimensional displacement is the square root of twice the diffusion coefficient times the observation interval.
Mathematics
Implementation
exportfunctionrmsDisplacement(D:number,t:number):Evaluation{if(!validDt(D,t))returnoutside("rmsDisplacement1d","rmsDisplacement","D >= 0 and t >= 0","Diffusivity and elapsed time must be finite and nonnegative.",);returnnumber("rmsDisplacement1d","rmsDisplacement",scale(D,t),undefined,undefined,D>0&&t>0,);}
Audited TypeScript reference evaluator: the owner on this device, or the host fallback for a FrankenSim capability.
This function computes the listed outputs when it runs.
In words
Divide the model RMS displacement by the observation interval. The quotient depends on how long you watch.
Mathematics
Implementation
exportfunctionapparentSpeed(D:number,tau:number):Evaluation{if(!validDt(D,tau)||tau===0)returnoutside("apparentSpeed","apparentSpeed","D >= 0 and tau > 0","An apparent speed needs a positive observation interval.",);returnnumber("apparentSpeed","apparentSpeed",(Math.SQRT2*Math.sqrt(D))/Math.sqrt(tau),undefined,undefined,D>0,);}
Audited TypeScript reference evaluator: the owner on this device, or the host fallback for a FrankenSim capability.
This function computes the listed outputs when it runs.
In words
Average the recorded displacements of every tracer, not a viewport subset.
Mathematics
Implementation
/** Compensated sums over ALL members, never a viewport-selected subset. Row-major M by d. */exportfunctionensembleMoments({displacements,d,dt,viewport,}:{displacements:Float64Array;d:number;dt?:number;viewport?:ViewportBounds;}):Computation<EnsembleMoments>{if(!(displacementsinstanceofFloat64Array)||![1,2,3].includes(d)||displacements.length===0||displacements.length%d!==0||displacements.length>30000||!displacements.every(Number.isFinite))returninvalid(["displacements","d"],"Provide finite, row-major displacements with one, two or three coordinates per tracer.",);constM=displacements.length/d,sums=newFloat64Array(d*3+1),corrections=newFloat64Array(d*3+1);functionadd(i:number,v:number){constcorr=corrections[i]??0,sum=sums[i]??0,y=v-corr,t=sum+y;corrections[i]=t-sum-y;sums[i]=t;}for(leti=0;i<M;i++){letnorm=0;for(letj=0;j<d;j++){constv=displacements[i*d+j];if(v===undefined)returnfailure("A required displacement coordinate was undefined.");if(v!==0&&v*v===0)returnfailure("A nonzero squared displacement is below the representable range.");add(j*3,v);add(j*3+1,Math.abs(v));add(j*3+2,v*v);norm=Math.hypot(norm,v);}add(d*3,norm);}constaxes=Array.from({length:d},(_,j)=>{constmean=(sums[j*3]??0)/M;constmeanAbsolute=(sums[j*3+1]??0)/M;constmeanSquare=(sums[j*3+2]??0)/M;return{mean,meanAbsolute,meanSquare,rms:Math.sqrt(meanSquare),};});constmeanSquareNorm=axes.reduce((s,a)=>s+a.meanSquare,0);if(![...sums,meanSquareNorm].every(Number.isFinite))returnfailure("The moment reduction exceeded the numerical range.");constrmsNorm=Math.sqrt(meanSquareNorm);letinsideCount:number|undefined;letoutsideCount:number|undefined;if(viewport){letinc=0;letoutc=0;for(leti=0;i<M;i++){letisInside=true;for(letj=0;j<d;j++){constv=displacements[i*d+j]??0;constminVal=viewport.min[j]??-Infinity;constmaxVal=viewport.max[j]??Infinity;if(v<minVal||v>maxVal){isInside=false;break;}}if(isInside)inc++;elseoutc++;}insideCount=inc;outsideCount=outc;}constapparentSpeed=dt!==undefined&&Number.isFinite(dt)&&dt>0?(d===1?(axes[0]?.rms??0):rmsNorm)/dt:undefined;return{kind:"accepted",data:{M,axes,meanNorm:(sums[d*3]??0)/M,meanSquareNorm,rmsNorm,...(apparentSpeed!==undefined?{apparentSpeed}:{}),...(insideCount!==undefined&&outsideCount!==undefined?{insideCount,outsideCount}:{}),},};}
Audited TypeScript reference evaluator: the owner on this device, or the host fallback for a FrankenSim capability.
This function computes the listed outputs when it runs.
In words
Count how many recorded displacements fall in each interval of the histogram.
Mathematics
Implementation
exportfunctiondisplacementHistogram(values:Float64Array,edges:Float64Array,):Computation<{counts:Float64Array;underflow:number;overflow:number;total:number}>{if(values.length===0||values.length>10000||edges.length<2||edges.length>1001||!values.every(Number.isFinite)||!edges.every((v,i)=>{if(!Number.isFinite(v))returnfalse;if(i===0)returntrue;constprev=edges[i-1];returnprev!==undefined&&v>prev;}))returninvalid(["values","edges"],"Use finite samples and strictly increasing histogram edges.",);constcounts=newFloat64Array(edges.length-1);letunderflow=0,overflow=0;constfirstEdge=edges[0];constlastEdge=edges[edges.length-1];if(firstEdge===undefined||lastEdge===undefined)returninvalid(["edges"],"Histogram edges array must contain at least two finite bounds.");for(constvalueofvalues){if(value<firstEdge){underflow++;continue;}if(value>lastEdge){overflow++;continue;}letlo=0,hi=edges.length-1;while(hi-lo>1){constmid=(lo+hi)>>>1;constedgeMid=edges[mid];if(edgeMid!==undefined&&value<edgeMid)hi=mid;elselo=mid;}constbin=Math.min(lo,counts.length-1);constprevCount=counts[bin];if(prevCount!==undefined){counts[bin]=prevCount+1;}}return{kind:"accepted",data:{counts,underflow,overflow,total:values.length}};}
Every histogram count, including tails
Coordinate intervals in μm; half-open bins, with the final endpoint included
Interval
Count
Below the plotted range
0
-4.6338 to -4.4021
0
-4.4021 to -4.1704
0
-4.1704 to -3.9387
0
-3.9387 to -3.707
0
-3.707 to -3.4753
0
-3.4753 to -3.2437
0
-3.2437 to -3.012
0
-3.012 to -2.7803
1
-2.7803 to -2.5486
1
-2.5486 to -2.3169
0
-2.3169 to -2.0852
7
-2.0852 to -1.8535
7
-1.8535 to -1.6218
6
-1.6218 to -1.3901
16
-1.3901 to -1.1584
12
-1.1584 to -0.92676
15
-0.92676 to -0.69507
28
-0.69507 to -0.46338
24
-0.46338 to -0.23169
39
-0.23169 to 0
39
0 to 0.23169
43
0.23169 to 0.46338
37
0.46338 to 0.69507
26
0.69507 to 0.92676
32
0.92676 to 1.1584
23
1.1584 to 1.3901
17
1.3901 to 1.6218
8
1.6218 to 1.8535
6
1.8535 to 2.0852
6
2.0852 to 2.3169
3
2.3169 to 2.5486
1
2.5486 to 2.7803
1
2.7803 to 3.012
1
3.012 to 3.2437
1
3.2437 to 3.4753
0
3.4753 to 3.707
0
3.707 to 3.9387
0
3.9387 to 4.1704
0
4.1704 to 4.4021
0
4.4021 to 4.6338
0
Above the plotted range
0
Total, including both tails
400
Notes and laboratory
Beside this passage
Margin notes, assumptions, and the laboratory stay here so the German argument keeps the main column.
Each HTML file contains the available explanation at every detail level, linked foundations, source references, and available build-time scalar results. It includes no private notes or running simulations. This remains an explanation preview, not a reviewed source edition.
Open the downloaded file in a browser. Online source links still need a connection. Interactive plots are not included. Browse saved-chapter downloads.