Type some Sage code below and press Compute (Test examples). Choose a different language from the dropdown menu (say Macaulay2), write some code in the editor, and click the "Compute" button to run it (reload browser if you do not see the editor).
-
- Active Topics
-
-
- by Eli 3 hours ago Shared photos or images View the latest post Replies 6 Views 1438
- by Eli 1 day ago Re: What is in Your Mind? View the latest post Replies 728 Views 322877
- by Eli 2 days ago Dr Wahome: How World Health Organization (WHO) is Doing Bad Things View the latest post Replies 1 Views 52
- by Eli 3 days ago Introduction to Abstract Algebra View the latest post Replies 4 Views 10971
- by Eli 4 days ago All in One: YouTube, TED, X, Facebook and Instagram Reels, Videos, Images and Text Posts View the latest post Replies 333 Views 50323
- by Eli 4 days ago Generating SSH Key and Adding it to the ssh-agent for Authentication on GitHub View the latest post Replies 2 Views 1143
- by Eli 6 days ago Russia Invades Ukraine View the latest post Replies 668 Views 256351
- by Eli 1 week ago How AI Could Empower any Business View the latest post Replies 1 Views 259
- by Eli 1 week ago Pondering Big Cosmology Questions Through Lectures and Dialogues View the latest post Replies 35 Views 62114
- by Eli 1 week ago The U.S - China Rivalry, Taiwan and Hong Kong View the latest post Replies 1 Views 349
-
Computing with SageMath Directly from the Forum
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Try to integrate 1/(1+x^4) with Sage or Maxima, i.e., integrate(1/(1 + x^4), x);
The answer should be
\begin{equation}
\begin{split}
& \int\frac{1}{1 + x^4}{\rm d}x \\
& = 1/4\sqrt{2}\times{\rm tan}^{-1}\left(1/2\sqrt{2}\times(2x + \sqrt{2})\right) + 1/4\sqrt{2}\times {\rm tan}^{-1}\left(1/2\times \sqrt{2}\times(2x - \sqrt{2})\right)\\
& + 1/8\sqrt{2}\times{\rm log}(x^2 + \sqrt{2}\times x + 1) - 1/8\sqrt{2}\times{\rm log}(x^2 - \sqrt{2}\times x + 1)
\end{split}
\end{equation}
Try this in Macaulay2:
The answer should be
\begin{equation}
\begin{split}
& \int\frac{1}{1 + x^4}{\rm d}x \\
& = 1/4\sqrt{2}\times{\rm tan}^{-1}\left(1/2\sqrt{2}\times(2x + \sqrt{2})\right) + 1/4\sqrt{2}\times {\rm tan}^{-1}\left(1/2\times \sqrt{2}\times(2x - \sqrt{2})\right)\\
& + 1/8\sqrt{2}\times{\rm log}(x^2 + \sqrt{2}\times x + 1) - 1/8\sqrt{2}\times{\rm log}(x^2 - \sqrt{2}\times x + 1)
\end{split}
\end{equation}
Try this in Macaulay2:
- R = QQ[x,y,z]
- curve = ideal( x^4-y^5, x^3-y^7 )
- gb curve
- dim curve
- degree curve
- curve1 = saturate(curve,ideal(x))
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Test these solutions in Sage (see reference manual here):
The output is:
Solve system of ODEs:
- x,y,z=var('x,y,z')
- # Next we define the parameters
- sigma=10
- rho=28
- beta=8/3
- # The Lorenz equations
- lorenz=[sigma*(y-x),x*(rho-z)-y,x*y-beta*z]
- # Time and initial conditions
- times=srange(0,50.05,0.005)
- ics=[0,1,1]
- sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=1e-13,atol=1e-14)
- vis=line(zip(sol[:,0],sol[:,1]))
- vis.show()
The output is:
- #from sage.calculus.desolvers import desolve_odeint -- optional
- x,y=var('x,y')
- f=[x*(1-y),-y*(1-x)]
- sol=desolve_odeint(f,[0.5,2],srange(0,10,0.1),[x,y])
- vis=line(zip(sol[:,0],sol[:,1]))
- print(sol)
- vis.show()
- #y = function('y')(x)
- #eq = diff(y,x) - (x - 2)/(y^2 + 1)*sin(x - 2) - sin(y) == 0
- #desolve_laplace(eq,y,ics=[0,3])
- y1,y2,y3=var('y1,y2,y3')
- f1=77.27*(y2+y1*(1-8.375*1e-6*y1-y2))
- f2=1/77.27*(y3-(1+y1)*y2)
- f3=0.16*(y1-y3)
- f=[f1,f2,f3]
- ci=[0.2,0.4,0.7]
- t=srange(0,10,0.01)
- v=[y1,y2,y3]
- sol=desolve_odeint(f,ci,t,v,rtol=1e-3,atol=1e-4,h0=0.1,hmax=1,hmin=1e-4,mxstep=1000,mxords=17)
- print(sol)
Solve system of ODEs:
- t = var('t')
- x = function('x')(t)
- y = function('y')(t)
- de1 = diff(x,t) + y - 1 == 0
- de2 = diff(y,t) - x + 1 == 0
- sol = desolve_system([de1, de2], [x,y])
- #Add ics if you want
- #sol = desolve_system([de1, de2], [x,y],ics=[0,0.5,1],ivar=t)
- print(sol)
- from sage.calculus.desolvers import desolve_system_rk4
- x,y,t=var('x y t')
- P=desolve_system_rk4([x*(1-y),-y*(1-x)],[x,y],ics=[0,0.5,2],ivar=t,end_points=20)
- Q=[ [i,j] for i,j,k in P]
- LP=list_plot(Q)
- Q=[ [j,k] for i,j,k in P]
- LP=list_plot(Q)
- plot(LP)
- var('t,x,y,X,Y')
- f(t,x,y,X,Y)=[X, Y, -x/(x^2+y^2)^(3/2), -y/(x^2+y^2)^(3/2)]
- ics = [0.8, 0, 0, 1.22474487139159]
- t = 100*pi
- sol = desolve_mintides(f, ics, 0, t, t, 1e-12, 1e-12) # optional -tides
- sol # optional -tides # abs tol 1e-5
- Attachments
-
- Lorentz.png
- (99.22 KiB) Not downloaded yet
- Lorentz.png
- (99.22 KiB) Not downloaded yet
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Plotting in Sage (see more from here):
See the attached outputs.
Code: Select all
f(x) = (x-3)*(x-5)*(x-7)+40
P = line([(2,0),(2,f(2))], color='black')
P += line([(8,0),(8,f(8))], color='black')
P += polygon([(2,0),(2,f(2))] + [(x, f(x)) for x in [2,2.1,..,8]] + [(8,0),(2,0)], rgbcolor=(0.8,0.8,0.8),aspect_ratio='automatic')
P += text("$\\int_{a}^b f(x) dx$", (5, 20), fontsize=16, color='black')
P += plot(f, (1, 8.5), thickness=3)
P # show the result
- var("x y")
- G = Graphics()
- counter = 0
- for col in colors.keys(): # Long time
- G += implicit_plot(x^2 + y^2 == 1 + counter*.1, (x,-4,4),(y,-4,4), color=col)
- counter += 1
- G
- var("x y")
- contour_plot(y^2 + 1 - x^3 - x, (x,-pi,pi), (y,-pi,pi), fill=False, cmap='hsv', labels=True)
- var("x y")
- parametric_plot([cos(x) + 2 * cos(x/4), sin(x) - 2 * sin(x/4)], (x,0, 8*pi), fill=True)
- def b(n): return lambda x: bessel_J(n, x)
- plot([b(n) for n in [1..5]], 0, 20, fill='axis')
See the attached outputs.
- Attachments
-
- Contour.png (359.73 KiB) Viewed 44730 times
- Contour.png (359.73 KiB) Viewed 44730 times
-
- Contour2.png (38.63 KiB) Viewed 44730 times
- Contour2.png (38.63 KiB) Viewed 44730 times
-
- Parametric_plot.png (26.95 KiB) Viewed 44727 times
- Parametric_plot.png (26.95 KiB) Viewed 44727 times
-
- Bessel.png
- (84.12 KiB) Not downloaded yet
- Bessel.png
- (84.12 KiB) Not downloaded yet
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Try to solve
\begin{equation}
\frac{{\rm d}y}{{\rm d}x} = \frac{x - 2}{y^2 + 1}\times {\rm sin}(x - 2) - {\rm sin}(y).
\end{equation}
\begin{equation}
\frac{{\rm d}y}{{\rm d}x} = \frac{x - 2}{y^2 + 1}\times {\rm sin}(x - 2) - {\rm sin}(y).
\end{equation}
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
We can label and decorate our plots:
- x,y,z=var('x,y,z')
- # Next we define the parameters
- sigma=10
- rho=28
- beta=8/3
- # The Lorenz equations
- lorenz=[sigma*(y-x),x*(rho-z)-y,x*y-beta*z]
- # Time and initial conditions
- times=srange(0,50.05,0.005)
- ics=[0,1,1]
- sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=1e-13,atol=1e-14)
- vis=line(zip(sol[:,0],sol[:,1]), color='purple')
- vis.axes_labels(['X axis', 'Y axis'])
- vis.legend(False)
- vis.show(title='Lorenz Equations', frame=True, legend_loc="lower right")
- vis.show()
- Attachments
-
- Lorenz_systems.png
- (120.12 KiB) Not downloaded yet
- Lorenz_systems.png
- (120.12 KiB) Not downloaded yet
-
- Lorenz_system2.png
- (124.85 KiB) Not downloaded yet
- Lorenz_system2.png
- (124.85 KiB) Not downloaded yet
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Try the following Algebra problems in Sage:
Example 1: Transpose of a Matrix
Example 2: LU Factorization of a Matrix
Example 3: Modified Gram-Schmidt Algorithm -- QR decomposition
See more examples here.
Example 1: Transpose of a Matrix
- A = matrix(QQ, 5, range(25))
- A.T
Example 2: LU Factorization of a Matrix
- A = matrix(QQ, [[ 2, 1, 1],
- [ 4,-6, 0],
- [-2, 7, 2]])
- (P,L,U) = A.LU()
- #table([[A, '=', P, '$\\cdot$', L, '$\\cdot$', U]])
- print(P, L, U, sep='\n')
- A = matrix(QQ, [[ 2, 1, 1],
- [ 4,-6, 0],
- [-2, 7, 2]])
- (P,L,U) = A.LU(pivot='nonzero')
- #table([[A, '=', P, '$\\cdot$', L, '$\\cdot$', U]])
- print(P, L, U, sep='\n')
- A = matrix(QQ, [[ 1, -4, 1, 0, -2, 1, 3, 3, 2],
- [-1, 4, 0, -4, 0, -4, 5, -7, -7],
- [ 0, 0, 1, -4, -1, -3, 6, -5, -6],
- [-2, 8, -1, -4, 2, -4, 1, -8, -7],
- [ 1, -4, 2, -4, -3, 2, 5, 6, 4]])
- P, L, U = A.LU()
- U
- A.rref()
- A.pivots()
- D = matrix(QQ, [[ 1, 0, 2, 0, -2, -1],
- [ 3, -2, 3, -1, 0, 6],
- [-4, 2, -3, 1, -1, -8],
- [-2, 2, -3, 2, 1, 0],
- [ 0, -1, -1, 0, 2, 5],
- [-1, 2, -4, -1, 5, -3]])
- P, L, U = D.LU(pivot='nonzero')
- P
- L
- U
- D == L*U
Example 3: Modified Gram-Schmidt Algorithm -- QR decomposition
- A = matrix(QQbar, [[-2, 0, -4, -1, -1],
- [-2, 1, -6, -3, -1],
- [1, 1, 7, 4, 5],
- [3, 0, 8, 3, 3],
- [-1, 1, -6, -6, 5]])
- Q, R = A.QR()
- Q
- R
- Q.conjugate_transpose()*Q
- Q*R == A
See more examples here.
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Knots Using Sage:
- B = BraidGroup(4)
- K = Knot(B([1,1,1,2,-1,2,-3,2,-3]))
- plot(K)
- K.alexander_polynomial()
- K.jones_polynomial()
- K.determinant()
- K.signature()
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5450
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
Interactive Fourier Series with Sage (see source):
- ## Interactive Fourier Series, via: http://www.walkingrandomly.com/?p=1879
- def ftermSquare(n):
- return(1/n*sin(n*x*pi/3))
- def ftermSawtooth(n):
- return(1/n*sin(n*x*pi/3))
- def ftermParabola(n):
- return((-1)^n/n^2 * cos(n*x))
- def fseriesSquare(n):
- return(4/pi*sum(ftermSquare(i) for i in range (1,2*n,2)))
- def fseriesSawtooth(n):
- return(1/2-1/pi*sum(ftermSawtooth(i) for i in range (1,n)))
- def fseriesParabola(n):
- return(pi^2/3 + 4*sum(ftermParabola(i) for i in range(1,n)))
- @interact
- def plotFourier(n=slider(1, 30,1,3,'Number of terms')
- ,Function=['Square Wave','Saw Tooth','Periodic Parabola']):
- if Function=='Saw Tooth':
- show(plot(fseriesSawtooth(n),x,-6,6,figsize=(7,3)))
- if Function=='Square Wave':
- show(plot(fseriesSquare(n),x,-6,6,figsize=(7,3)))
- if Function=='Periodic Parabola':
- show(plot(fseriesParabola(n),x,-6,6,figsize=(7,3)))
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
-
- Information
-
Who is online
Users browsing this forum: Eli and 3 guests