Topology-Driven Fault Detection in Smart Cities

Topology-Driven Fault Detection in Smart Cities Topology-Driven Fault Detection in Smart Cities: Utilizing Dynamic Graph Filtrations and Persistent Homology for IoT Connectivity Patterns Shrishti Rastogi / Research Article Abstract: The rapid proliferation of IoT devices in smart cities necessitates robust, real-time monitoring systems to detect infrastructure faults. Traditional graph-theoretic methods often fail to capture multi-scale structural changes under fluctuating environmental conditions. This paper presents a topology-driven framework utilizing Topological Data Analysis (TDA), specifically persistent homology, to analyze time-varying graph filtrations of IoT connectivity patterns. We integrate Distance-to-Measure (DTM) filtrations to mitigate noise, coupled with machine learning classifiers applied to stable topological summaries. Empirical evaluation on simulated smart city datasets demonstrates superior F1-s...

Understanding Delta Function Approximations: Gaussian Delta Sequence (Heat Kernel)

Understanding Delta Function Approximations: Gaussian Delta Sequence (Heat Kernel) Matrix Space Toolkit in SageMath

Delta-Convergent Sequences — Refined Blog with SageMath Symbolics, Physics Insights, and Cleaner Code

In the previous blog, we understood the Lorentzian Delta Sequence (Cauchy Kernel). Let's take another step and explore the Gaussian Delta Sequence (Heat Kernel).

Why Study These Approximations?

Delta functions are central in many fields:

  • Signal Processing: Ideal impulse, filter response
  • Physics: Point charges/masses, Green's functions
  • Spectral Theory: Lorentzian profiles in resonance
  • Diffusion Models: Gaussians arise from the heat equation
  • Numerics: Regularizing singular integrals

Each kernel has a story to tell.

Gaussian Delta Sequence (Heat Kernel)

Formula \[ f_t(x) = \frac{1}{2\sqrt{\pi t}} .e^{-\frac{x^2}{4t}} \]

  • Smooth and fast-decaying
  • Bell-shaped
  • Natural from the heat equation

#Define the Function

var('x t')
f_gauss(x, t) = (1/(2*sqrt(pi*t))) * exp(-x^2 / (4*t))
f_gauss(x, t)

# Check Symbolic Integration
var('xi')
assume(t > 0)  # Ensure t is positive
integral(f_gauss(xi, t), xi, -oo, oo).simplify_full()

#Limit Evaluation at x → 0
limit(f_gauss(0, t), t=0)

#Alternative Approach: Use Numerical Evaluation
#If the symbolic engine struggles, try evaluating the function numerically at progressively smaller values of ( t ):

t_values = [0.1, 0.01, 0.001, 0.0001]
[f_gauss(0, t).n() for t in t_values]

#Integral Test (Distributional Behavior)
var('a b')
assume(a < 0, b > 0)  # Ensure a < 0 < b to match delta behavior
integral(f_gauss(xi, t), xi, a, b).simplify_full()

# Numerical Evaluation
# To see how the integral behaves for small ( t ):

import numpy as np
import matplotlib.pyplot as plt
import sage.all as sage

def gaussian_integral(t, a=-1, b=1):
    from math import erf, sqrt, pi
    return (1/2) * (erf(b / sqrt(4*t)) - erf(a / sqrt(4*t)))

# Test for different t values
t_values = np.logspace(-3, 0, 50)  # Log-spaced values from 0.001 to 1
integral_values = [gaussian_integral(t) for t in t_values]

# Plotting
plt.figure(figsize=(8, 5))
plt.plot(t_values, integral_values, marker='o', linestyle='-', color='blue')
plt.axhline(y=1, color='r', linestyle='--', label="Expected Limit (1)")
plt.xscale("log")
plt.xlabel(r"$t$")
plt.ylabel(r"Integral Value")
plt.title("Numerical Verification: Gaussian Integral Convergence")
plt.legend()
plt.grid(True)
plt.show()

# Plot the Gaussian Sequence
p1 = plot(f_gauss(x, 0.5), (x, -5, 5), color='red', legend_label='t = 0.5') + \
     plot(f_gauss(x, 0.2), (x, -5, 5), color='blue', legend_label='t = 0.2') + \
     plot(f_gauss(x, 0.05), (x, -5, 5), color='green', legend_label='t = 0.05')

p1.show(title='Gaussian Approximation to δ(x)', ymin=0, ymax=3)

# Compute First and Second Derivatives

var('x t')
f_gauss(x, t) = (1/(2*sqrt(pi*t))) * exp(-x^2 / (4*t))

# First derivative (approximating δ'(x))
f_gauss_prime(x, t) = diff(f_gauss(x, t), x)

# Second derivative (approximating δ''(x))
f_gauss_double_prime(x, t) = diff(f_gauss_prime(x, t), x)

f_gauss_prime(x, t), f_gauss_double_prime(x, t)

#Plot the Derivatives

p1 = plot(f_gauss_prime(x, 0.5), (x, -5, 5), color='red', legend_label="t=0.5") + \
     plot(f_gauss_prime(x, 0.2), (x, -5, 5), color='blue', legend_label="t=0.2") + \
     plot(f_gauss_prime(x, 0.05), (x, -5, 5), color='green', legend_label="t=0.05")

p1.show(title="First Derivative of Gaussian Delta Approximation")

p2 = plot(f_gauss_double_prime(x, 0.5), (x, -5, 5), color='red', legend_label="t=0.5") + \
     plot(f_gauss_double_prime(x, 0.2), (x, -5, 5), color='blue', legend_label="t=0.2") + \
     plot(f_gauss_double_prime(x, 0.05), (x, -5, 5), color='green', legend_label="t=0.05")

p2.show(title="Second Derivative of Gaussian Delta Approximation")

#Plotting the Integrated Sequences
p1=plot(integral(f_gauss(x, 0.1), x, -5, 5), (x, -5, 5), color='green', legend_label="Gaussian")
p1.show(title="Integrated Delta Approximations")

💡 Try It Yourself! Now You can copy and paste directly into here Run SageMath Code Here

Physics Note
Appears in diffusion, heat kernels, quantum mechanics (e.g., wavepacket spreading).

Comments

Popular posts from this blog

Understanding the Laplacian of 1/r and the Dirac Delta Function Mathematical Foundations & SageMath Insights

Heuristic Computation and the Discovery of Mersenne Primes

Neural Network Generalization in the Over-Parameterization Regime: Mechanisms, Benefits, and Limitations