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 Russia Invades Ukraine View the latest post Replies 668 Views 248932
- by Eli 3 hours ago Re: What is in Your Mind? View the latest post Replies 721 Views 315774
- by Eli 1 day ago How AI Could Empower any Business View the latest post Replies 1 Views 51
- by Eli 1 day ago Pondering Big Cosmology Questions Through Lectures and Dialogues View the latest post Replies 35 Views 61584
- by Eli 2 days ago The U.S - China Rivalry, Taiwan and Hong Kong View the latest post Replies 1 Views 91
- by Eli 3 days ago Generative AI for Texts and Images View the latest post Replies 2 Views 1034
- by Eli 3 days ago All in One: YouTube, TED, X, Facebook and Instagram Reels, Videos, Images and Text Posts View the latest post Replies 331 Views 46445
- by Eli 6 days ago Inaugural Lecture by Prof. Mukandala: Dola, Soko na Kushindwa kwa Taasisi View the latest post Replies 2 Views 873
- by Eli 1 week ago Iran's President Ebrahim Raisi Aged 63 Dies in a Helicopter Crash View the latest post Replies 3 Views 411
- by Eli 1 week ago PySpark for Large Data Processing View the latest post Replies 2 Views 8524
-
Computing with SageMath Directly from the Forum
- Eli
- Senior Expert Member
- Reactions: 185
- Posts: 5431
- 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: 5431
- 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: 5431
- 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 44660 times
- Contour.png (359.73 KiB) Viewed 44660 times
-
- Contour2.png (38.63 KiB) Viewed 44660 times
- Contour2.png (38.63 KiB) Viewed 44660 times
-
- Parametric_plot.png (26.95 KiB) Viewed 44657 times
- Parametric_plot.png (26.95 KiB) Viewed 44657 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: 5431
- 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: 5431
- 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: 5431
- 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: 5431
- 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: 5431
- 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: No registered users and 1 guest