How to Calculate the Integral of Floor function / ⌊x⌋ using SymPy or CalculusWithJulia Correctly?

Hi all,

I tried Sympy and the integral of a floor function can’t be calculated well. Here you go:
Capture d’écran_2022-11-29_21-29-36

The code to plot the floor function works well:

using Plots,LaTeXStrings,Colors
gr()

f(x) = floor(x)
x = -4:1:4
y = f.(x)
plot(x[1:2], [y[1], y[1]], label=L"f(x) = x^{2} \lfloor x \rfloor", legend=:topleft,legend_foreground_color=:white, legend_font_color=:blue3, color=:blue3, showaxis=false, tickfontcolor=:white)
# axis and 
hline!((0,0), color=:black, label="")
vline!((0,0), color=:black, label="")
for i in x
	if i!= 0
		annotate!(i,-0.2, (i, 7))
	end
end
for i in y
	if i != 0
		annotate!(-.2, i, (i, 7))
	end
end
annotate!(-.2, -.2, ("0", 7))
for i in 2:length(x)-1
	plot!(x[i:i+1], [y[i], y[i]], label="", color=:blue3, lw=2)
	scatter!(x[i], y[i], marker=:circle, markersize=8, label="")
end
scatter!(x[1:end-1], y[1:end-1], markersize=3, markercolor=:blue4, label="")
scatter!(x[2:end], y[1:end-1], markersize=3, markercolor=:white, label="")

But, is the integral of ⌊x⌋ unable to be calculated with my simple code:

using SymPy

x = symbols("x")

integrate(f(x),x)

Thanks all!

The SymPy Python library doesn’t integrate floor, so you aren’t going to get the answer you want. This particular function lends itself to a geometric answer for a definite integral, as all involved areas are rectangles with base at most 1. (The integral from 0 to a positive x could be found with n,r = divrem(x, 1); n*(n-1)/2 + r*n)