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 10 hours ago Russia Invades Ukraine View the latest post Replies 668 Views 249914
- by Eli 10 hours ago Re: What is in Your Mind? View the latest post Replies 721 Views 316677
- by Eli 1 day ago How AI Could Empower any Business View the latest post Replies 1 Views 70
- by Eli 1 day ago Pondering Big Cosmology Questions Through Lectures and Dialogues View the latest post Replies 35 Views 61630
- by Eli 2 days ago The U.S - China Rivalry, Taiwan and Hong Kong View the latest post Replies 1 Views 113
- by Eli 3 days ago Generative AI for Texts and Images View the latest post Replies 2 Views 1052
- 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 46916
- by Eli 1 week ago Inaugural Lecture by Prof. Mukandala: Dola, Soko na Kushindwa kwa Taasisi View the latest post Replies 2 Views 886
- by Eli 1 week ago Iran's President Ebrahim Raisi Aged 63 Dies in a Helicopter Crash View the latest post Replies 3 Views 430
- by Eli 1 week ago PySpark for Large Data Processing View the latest post Replies 2 Views 8530
-
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 44667 times
- Contour.png (359.73 KiB) Viewed 44667 times
-
- Contour2.png (38.63 KiB) Viewed 44667 times
- Contour2.png (38.63 KiB) Viewed 44667 times
-
- Parametric_plot.png (26.95 KiB) Viewed 44664 times
- Parametric_plot.png (26.95 KiB) Viewed 44664 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 0 guests