diff options
author | Puneeth Chaganti | 2010-12-01 16:51:35 +0530 |
---|---|---|
committer | Puneeth Chaganti | 2010-12-01 16:51:35 +0530 |
commit | f3a34dfb4e879f3eb7274704f44546aac4add88f (patch) | |
tree | 1cb0a8cc5dbd5ee2b374350915ed2addfa0fb447 /getting_started_with_symbolics | |
parent | 347866ed0d29db61ee062563b1e1616cfb85588c (diff) | |
download | st-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.tar.gz st-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.tar.bz2 st-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.zip |
Renamed all LOs to match with their names in progress.org.
Diffstat (limited to 'getting_started_with_symbolics')
-rw-r--r-- | getting_started_with_symbolics/quickref.tex | 8 | ||||
-rw-r--r-- | getting_started_with_symbolics/script.rst | 340 | ||||
-rw-r--r-- | getting_started_with_symbolics/slides.org | 160 | ||||
-rw-r--r-- | getting_started_with_symbolics/slides.tex | 252 |
4 files changed, 760 insertions, 0 deletions
diff --git a/getting_started_with_symbolics/quickref.tex b/getting_started_with_symbolics/quickref.tex new file mode 100644 index 0000000..b26d168 --- /dev/null +++ b/getting_started_with_symbolics/quickref.tex @@ -0,0 +1,8 @@ +Creating a linear array:\\ +{\ex \lstinline| x = linspace(0, 2*pi, 50)|} + +Plotting two variables:\\ +{\ex \lstinline| plot(x, sin(x))|} + +Plotting two lists of equal length x, y:\\ +{\ex \lstinline| plot(x, y)|} diff --git a/getting_started_with_symbolics/script.rst b/getting_started_with_symbolics/script.rst new file mode 100644 index 0000000..4f714d4 --- /dev/null +++ b/getting_started_with_symbolics/script.rst @@ -0,0 +1,340 @@ +.. Objectives +.. ---------- + +.. By the end of this tutorial, you will be able to + +.. 1. Defining symbolic expressions in sage. +.. # Using built-in constants and functions. +.. # Performing Integration, differentiation using sage. +.. # Defining matrices. +.. # Defining Symbolic functions. +.. # Simplifying and solving symbolic expressions and functions. + + +.. Prerequisites +.. ------------- + +.. 1. getting started with sage notebook + + +.. Author : Amit + Internal Reviewer : + External Reviewer : + Language Reviewer : Bhanukiran + Checklist OK? : <, if OK> [2010-10-05] + +Symbolics with Sage +------------------- + +Hello friends and welcome to the tutorial on Symbolics with Sage. + +{{{ Show welcome slide }}} + +During the course of the tutorial we will learn + +{{{ Show outline slide }}} + +* Defining symbolic expressions in Sage. +* Using built-in constants and functions. +* Performing Integration, differentiation using Sage. +* Defining matrices. +* Defining symbolic functions. +* Simplifying and solving symbolic expressions and functions. + +In addtion to a lot of other things, Sage can do Symbolic Math and we shall +start with defining symbolic expressions in Sage. + +Have your Sage notebook opened. If not, pause the video and +start you Sage notebook right now. + +On the sage notebook type:: + + sin(y) + +It raises a name error saying that ``y`` is not defined. We need to +declare ``y`` as a symbol. We do it using the ``var`` function. +:: + + var('y') + +Now if you type:: + + sin(y) + +Sage simply returns the expression. + +Sage treats ``sin(y)`` as a symbolic expression. We can use this to do +symbolic math using Sage's built-in constants and expressions. + +Let us try out a few examples. :: + + var('x,alpha,y,beta') + x^2/alpha^2+y^2/beta^2 + +We have defined 4 variables, ``x``, ``y``, ``alpha`` and ``beta`` and +have defined a symbolic expression using them. + +Here is an expression in ``theta`` :: + + var('theta') + sin(theta)*sin(theta)+cos(theta)*cos(theta) + +Now that you know how to define symbolic expressions in Sage, here is +an exercise. + +{{ show slide showing question 1 }} + +%% %% Define following expressions as symbolic expressions in Sage. + + 1. x^2+y^2 + #. y^2-4ax + +Please, pause the video here. Do the exercise and then continue. + +The solution is on your screen. + +{{ show slide showing solution 1 }} + +Sage also provides built-in constants which are commonly used in +mathematics, for instance pi, e, infinity. The function ``n`` gives +the numerical values of all these constants. +:: + n(pi) + n(e) + n(oo) + +If you look into the documentation of function ``n`` by doing + +:: + n(<Tab> + +You will see what all arguments it takes and what it returns. It will +be very helpful if you look at the documentation of all functions +introduced in the course of this script. + +Also we can define the number of digits we wish to have in the +constants. For this we have to pass an argument -- digits. Type + +:: + + n(pi, digits = 10) + +Apart from the constants Sage also has a lot of built-in functions +like ``sin``, ``cos``, ``log``, ``factorial``, ``gamma``, ``exp``, +``arcsin`` etc ... + +Lets try some of them out on the Sage notebook. +:: + + sin(pi/2) + + arctan(oo) + + log(e,e) + +Following are exercises that you must do. + +{{ show slide showing question 2 }} + +%% %% Find the values of the following constants upto 6 digits + precision + + 1. pi^2 + #. euler_gamma^2 + + +%% %% Find the value of the following. + + 1. sin(pi/4) + #. ln(23) + +Please, pause the video here. Do the exercises and then continue. + +The solutions are on your screen + +{{ show slide showing solution 2 }} + +Given that we have defined variables like x, y etc., we can define an +arbitrary function with desired name in the following way.:: + + var('x') + function('f',x) + +Here f is the name of the function and x is the independent variable . +Now we can define f(x) to be :: + + f(x) = x/2 + sin(x) + +Evaluating this function f for the value x=pi returns pi/2.:: + + f(pi) + +We can also define functions that are not continuous but defined +piecewise. Let us define a function which is a parabola between 0 +to 1 and a constant from 1 to 2 . Type the following +:: + + + var('x') + h(x)=x^2 + g(x)=1 + + f=Piecewise([[(0,1),h(x)],[(1,2),g(x)]],x) + f + +We can also define functions convergent series and other series. + +We first define a function f(n) in the way discussed above.:: + + var('n') + function('f', n) + + +To sum the function for a range of discrete values of n, we use the +sage function sum. + +For a convergent series , f(n)=1/n^2 we can say :: + + var('n') + function('f', n) + f(n) = 1/n^2 + sum(f(n), n, 1, oo) + + +Lets us now try another series :: + + + f(n) = (-1)^(n-1)*1/(2*n - 1) + sum(f(n), n, 1, oo) + +This series converges to pi/4. + +Following are exercises that you must do. + +{{ show slide showing question 3 }} + +%% %% Define the piecewise function. + f(x)=3x+2 + when x is in the closed interval 0 to 4. + f(x)=4x^2 + between 4 to 6. + +%% %% Sum of 1/(n^2-1) where n ranges from 1 to infinity. + +Please, pause the video here. Do the exercise(s) and then continue. + +{{ show slide showing solution 3 }} + +Moving on let us see how to perform simple calculus operations using Sage + +For example lets try an expression first :: + + diff(x**2+sin(x),x) + +The diff function differentiates an expression or a function. It's +first argument is expression or function and second argument is the +independent variable. + +We have already tried an expression now lets try a function :: + + f=exp(x^2)+arcsin(x) + diff(f(x),x) + +To get a higher order differential we need to add an extra third argument +for order :: + + diff(f(x),x,3) + +in this case it is 3. + +Just like differentiation of expression you can also integrate them :: + + x = var('x') + s = integral(1/(1 + (tan(x))**2),x) + s + +Many a times we need to find factors of an expression, we can use the +"factor" function + +:: + + y = (x^100 - x^70)*(cos(x)^2 + cos(x)^2*tan(x)^2) + f = factor(y) + +One can simplify complicated expression :: + + f.simplify_full() + +This simplifies the expression fully. We can also do simplification of +just the algebraic part and the trigonometric part :: + + f.simplify_exp() + f.simplify_trig() + +One can also find roots of an equation by using ``find_root`` function:: + + phi = var('phi') + find_root(cos(phi)==sin(phi),0,pi/2) + +Let's substitute this solution into the equation and see we were +correct :: + + var('phi') + f(phi)=cos(phi)-sin(phi) + root=find_root(f(phi)==0,0,pi/2) + f.substitute(phi=root) + +as we can see when we substitute the value the answer is almost = 0 showing +the solution we got was correct. + +Following are a few exercises that you must do. + +%% %% Differentiate the following. + + 1. sin(x^3)+log(3x) , degree=2 + #. x^5*log(x^7) , degree=4 + +%% %% Integrate the given expression + + sin(x^2)+exp(x^3) + +%% %% Find x + cos(x^2)-log(x)=0 + Does the equation have a root between 1,2. + +Please, pause the video here. Do the exercises and then continue. + + +Lets us now try some matrix algebra symbolically :: + + var('a,b,c,d') + A=matrix([[a,1,0],[0,b,0],[0,c,d]]) + A + +Now lets do some of the matrix operations on this matrix +:: + A.det() + A.inverse() + + +Following is an (are) exercise(s) that you must do. + +%% %% Find the determinant and inverse of : + + A=[[x,0,1][y,1,0][z,0,y]] + +Please, pause the video here. Do the exercise(s) and then continue. + + +{{{ Show the summary slide }}} + +That brings us to the end of this tutorial. In this tutorial we learnt +how to + +* define symbolic expression and functions +* use built-in constants and functions +* use <Tab> to see the documentation of a function +* do simple calculus +* substitute values in expressions using ``substitute`` function +* create symbolic matrices and perform operations on them + diff --git a/getting_started_with_symbolics/slides.org b/getting_started_with_symbolics/slides.org new file mode 100644 index 0000000..5d9391e --- /dev/null +++ b/getting_started_with_symbolics/slides.org @@ -0,0 +1,160 @@ +#+LaTeX_CLASS: beamer +#+LaTeX_CLASS_OPTIONS: [presentation] +#+BEAMER_FRAME_LEVEL: 1 + +#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} +#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra) +#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC + +#+LaTeX_CLASS: beamer +#+LaTeX_CLASS_OPTIONS: [presentation] + +#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl} +#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} + +#+LaTeX_HEADER: \usepackage{listings} + +#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries, +#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, +#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries} + +#+TITLE: Getting started with symbolics +#+AUTHOR: FOSSEE +#+EMAIL: +#+DATE: + +#+DESCRIPTION: +#+KEYWORDS: +#+LANGUAGE: en +#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t +#+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc + +* Outline + - Defining symbolic expressions in sage. + - Using built-in constants and functions. + - Performing Integration, differentiation using sage. + - Defining matrices. + - Defining Symbolic functions. + - Simplifying and solving symbolic expressions and functions. + +* Question 1 + - Define the following expression as symbolic + expression in sage. + + - x^2+y^2 + - y^2-4ax + +* Solution 1 +#+begin_src python + var('x,y') + x^2+y^2 + + var('a,x,y') + y^2-4*a*x +#+end_src python +* Question 2 + - Find the values of the following constants upto 6 digits precision + + - pi^2 + - euler_gamma^2 + + + - Find the value of the following. + + - sin(pi/4) + - ln(23) + +* Solution 2 +#+begin_src python + n(pi^2,digits=6) + n(sin(pi/4)) + n(log(23,e)) +#+end_src python +* Question 3 + - Define the piecewise function. + f(x)=3x+2 + when x is in the closed interval 0 to 4. + f(x)=4x^2 + between 4 to 6. + + - Sum of 1/(n^2-1) where n ranges from 1 to infinity. + +* Solution 3 +#+begin_src python + var('x') + h(x)=3*x+2 + g(x)= 4*x^2 + f=Piecewise([[(0,4),h(x)],[(4,6),g(x)]],x) + f +#+end_src python + +#+begin_src python + var('n') + f=1/(n^2-1) + sum(f(n), n, 1, oo) +#+end_src python + +* Question 4 + - Differentiate the following. + + - sin(x^3)+log(3x), to the second order + - x^5*log(x^7), to the fourth order + + - Integrate the given expression + + - x*sin(x^2) + + - Find x + - cos(x^2)-log(x)=0 + - Does the equation have a root between 1,2. + +* Solution 4 +#+begin_src python + var('x') + f(x)= x^5*log(x^7) + diff(f(x),x,5) + + var('x') + integral(x*sin(x^2),x) + + var('x') + f=cos(x^2)-log(x) + find_root(f(x)==0,1,2) +#+end_src + +* Question 5 + - Find the determinant and inverse of : + + A=[[x,0,1][y,1,0][z,0,y]] + +* Solution 5 +#+begin_src python + var('x,y,z') + A=matrix([[x,0,1],[y,1,0],[z,0,y]]) + A.det() + A.inverse() +#+end_src +* Summary + - We learnt about defining symbolic expression and functions. + - Using built-in constants and functions. + - Using <Tab> to see the documentation of a function. + - Simple calculus operations . + - Substituting values in expression using substitute function. + - Creating symbolic matrices and performing operation on them . +* Thank you! +#+begin_latex + \begin{block}{} + \begin{center} + This spoken tutorial has been produced by the + \textcolor{blue}{FOSSEE} team, which is funded by the + \end{center} + \begin{center} + \textcolor{blue}{National Mission on Education through \\ + Information \& Communication Technology \\ + MHRD, Govt. of India}. + \end{center} + \end{block} +#+end_latex + + + diff --git a/getting_started_with_symbolics/slides.tex b/getting_started_with_symbolics/slides.tex new file mode 100644 index 0000000..51e8997 --- /dev/null +++ b/getting_started_with_symbolics/slides.tex @@ -0,0 +1,252 @@ +% Created 2010-11-11 Thu 02:03 +\documentclass[presentation]{beamer} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{float} +\usepackage{wrapfig} +\usepackage{soul} +\usepackage{textcomp} +\usepackage{marvosym} +\usepackage{wasysym} +\usepackage{latexsym} +\usepackage{amssymb} +\usepackage{hyperref} +\tolerance=1000 +\usepackage[english]{babel} \usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} +\usepackage{listings} +\lstset{language=Python, basicstyle=\ttfamily\bfseries, +commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, +showstringspaces=false, keywordstyle=\color{blue}\bfseries} +\providecommand{\alert}[1]{\textbf{#1}} + +\title{Getting started with symbolics} +\author{FOSSEE} +\date{} + +\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} +\begin{document} + +\maketitle + + + + + + + + + +\begin{frame} +\frametitle{Outline} +\label{sec-1} + +\begin{itemize} +\item Defining symbolic expressions in sage. +\item Using built-in constants and functions. +\item Performing Integration, differentiation using sage. +\item Defining matrices. +\item Defining Symbolic functions. +\item Simplifying and solving symbolic expressions and functions. +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Question 1} +\label{sec-2} + +\begin{itemize} +\item Define the following expression as symbolic + expression in sage. + +\begin{itemize} +\item x$^2$+y$^2$ +\item y$^2$-4ax +\end{itemize} + +\end{itemize} + + +\end{frame} +\begin{frame}[fragile] +\frametitle{Solution 1} +\label{sec-3} + +\lstset{language=Python} +\begin{lstlisting} +var('x,y') +x^2+y^2 + +var('a,x,y') +y^2-4*a*x +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Question 2} +\label{sec-4} + + +\begin{itemize} +\item Find the values of the following constants upto 6 digits precision + +\begin{itemize} +\item pi$^2$ +\item euler$_{\mathrm{gamma}}$$^2$ +\end{itemize} + +\end{itemize} + +\begin{itemize} +\item Find the value of the following. + +\begin{itemize} +\item sin(pi/4) +\item ln(23) +\end{itemize} + +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Solution 2} +\label{sec-5} + +\lstset{language=Python} +\begin{lstlisting} +n(pi^2,digits=6) +n(sin(pi/4)) +n(log(23,e)) +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Question 3} +\label{sec-6} + +\begin{itemize} +\item Define the piecewise function. + f(x)=3x+2 + when x is in the closed interval 0 to 4. + f(x)=4x$^2$ + between 4 to 6. +\item Sum of 1/(n$^2$-1) where n ranges from 1 to infinity. +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Solution 3} +\label{sec-7} + +\lstset{language=Python} +\begin{lstlisting} +var('x') +h(x)=3*x+2 +g(x)= 4*x^2 +f=Piecewise([[(0,4),h(x)],[(4,6),g(x)]],x) +f +\end{lstlisting} + +\lstset{language=Python} +\begin{lstlisting} +var('n') +f=1/(n^2-1) +sum(f(n), n, 1, oo) +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Question 4} +\label{sec-8} + +\begin{itemize} +\item Differentiate the following. + +\begin{itemize} +\item sin(x$^3$)+log(3x), to the second order +\item x$^5$*log(x$^7$), to the fourth order +\end{itemize} + +\item Integrate the given expression + +\begin{itemize} +\item x*sin(x$^2$) +\end{itemize} + +\item Find x + +\begin{itemize} +\item cos(x$^2$)-log(x)=0 +\item Does the equation have a root between 1,2. +\end{itemize} + +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Solution 4} +\label{sec-9} + +\lstset{language=Python} +\begin{lstlisting} +var('x') +f(x)= x^5*log(x^7) +diff(f(x),x,5) + +var('x') +integral(x*sin(x^2),x) + +var('x') +f=cos(x^2)-log(x) +find_root(f(x)==0,1,2) +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Question 5} +\label{sec-10} + +\begin{itemize} +\item Find the determinant and inverse of : + + A=[[x,0,1][y,1,0][z,0,y]] +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Solution 5} +\label{sec-11} + +\lstset{language=Python} +\begin{lstlisting} +var('x,y,z') +A=matrix([[x,0,1],[y,1,0],[z,0,y]]) +A.det() +A.inverse() +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Summary} +\label{sec-12} + +\begin{itemize} +\item We learnt about defining symbolic expression and functions. +\item Using built-in constants and functions. +\item Using <Tab> to see the documentation of a function. +\item Simple calculus operations . +\item Substituting values in expression using substitute function. +\item Creating symbolic matrices and performing operation on them . +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Thank you!} +\label{sec-13} + + \begin{block}{} + \begin{center} + This spoken tutorial has been produced by the + \textcolor{blue}{FOSSEE} team, which is funded by the + \end{center} + \begin{center} + \textcolor{blue}{National Mission on Education through \\ + Information \& Communication Technology \\ + MHRD, Govt. of India}. + \end{center} + \end{block} +\end{frame} + +\end{document} |