[sympy] Re: GSOC Introduction

2020-03-17 Thread Shubham thorat
I have created the first draft of my proposal for "Optimising 
floating-point expressions", 
https://docs.google.com/document/d/12eBRsCbZkBfh4pj2MAaurdMWx6nd1MTYxXTmlRKriJ8/edit?usp=sharing

Mentors, please suggest changes.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/55769c97-6fb8-426d-bee8-20d2ae3ca234%40googlegroups.com.


[sympy] Re: GSOC Introduction

2020-03-13 Thread Shubham thorat
Herbie also uses heuristic search estimates and localize error using 
sampled points.
Same as in Fu et al, Herbie applies a database of rules and follows an 
algorithm that recursively rewrites candidate programs.

I have attached a pdf that includes the rules that have to there in the 
database.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/428c8efb-9369-4c0b-a78c-9d6af3b6d941%40googlegroups.com.


rewrite_rules.pdf
Description: Adobe PDF document


[sympy] Re: GSOC Introduction

2020-03-13 Thread Chris Smith
The paper about Herbie is very interesting. Since SymPy is primarily 
symbolic it would work well at producing expressions via Herbie that would 
perform well -- an optimized expression for evaluation. It reminds me a 
little of the Fu-heuristics that are used for trigonometric simplifications.

/c

On Thursday, March 12, 2020 at 10:47:01 AM UTC-5, Shubham thorat wrote:
>
> The current evalf() is used to evaluate a numerical expression into a 
> floating-point number using an arbitrary precision library mpmath.
>
> What I want to do is to get the best answer for different ranges that 
> varies from (-inf, inf) without increasing precision.
> for example:
> expr1 = (x + 1)**0.5 - x**0.5
>
> when we calculate it for x = 1.98698698, we get 0
> - expr1.subs(x,1.98698698)  = 0
>
> but if we rewrite the expr1 as 1/(x**0.5 + (x + 1)**0.5), we get a better 
> answer without catastrophic cancellation as in the previous case.
> -expr2 = 1/(x**0.5 + (x + 1)**0.5)
> -expr2.subs(x,1.98698698) = 5.00e-9
>
> I am proposing to implement this paper:  
> https://herbie.uwplse.org/pldi15-paper.pdf
>
> -Where an expression can be rewritten to get the best possible answer 
> without increasing the precision.
> -The rewriting database will have different function and properties 
> like commutativity, associativity, distributivity, (x + y) = (x**2 - 
> y**2)/(x - y), (x - y) = (x**3 - y**3)/(x**2 + y**2 + x*y), x = exp(log( x 
> )) etc.
> -I want to create a class where a symbolic expression along with its 
> optional range is given as an input, which will be rewritten to get the 
> best possible expression.
>
> Please correct me if I have made mistake in understanding the things, also 
> suggest the scope and changes for this.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/151f58c0-0e83-4849-82e3-fac3173bd56c%40googlegroups.com.


[sympy] Re: GSOC Introduction

2020-03-12 Thread Shubham thorat
The current evalf() is used to evaluate a numerical expression into a 
floating-point number using an arbitrary precision library mpmath.

What I want to do is to get the best answer for different ranges that 
varies from (-inf, inf) without increasing precision.
for example:
expr1 = (x + 1)**0.5 - x**0.5

when we calculate it for x = 1.98698698, we get 0
- expr1.subs(x,1.98698698)  = 0

but if we rewrite the expr1 as 1/(x**0.5 + (x + 1)**0.5), we get a better 
answer without catastrophic cancellation as in the previous case.
-expr2 = 1/(x**0.5 + (x + 1)**0.5)
-expr2.subs(x,1.98698698) = 5.00e-9

I am proposing to implement this paper:  
https://herbie.uwplse.org/pldi15-paper.pdf

-Where an expression can be rewritten to get the best possible answer 
without increasing the precision.
-The rewriting database will have different function and properties 
like commutativity, associativity, distributivity, (x + y) = (x**2 - 
y**2)/(x - y), (x - y) = (x**3 - y**3)/(x**2 + y**2 + x*y), x = exp(log( x 
)) etc.
-I want to create a class where a symbolic expression along with its 
optional range is given as an input, which will be rewritten to get the 
best possible expression.

Please correct me if I have made mistake in understanding the things, also 
suggest the scope and changes for this.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/bf9bcb66-d1d4-4f29-b752-b8db55c7b554%40googlegroups.com.


Re: [sympy] Re: GSOC Introduction

2020-03-11 Thread Oscar Benjamin
It's not clear to me what problem your proposal is intending to solve.
In what way is it different from the current evalf algorithm/results?

--
Oscar

On Wed, 11 Mar 2020 at 22:48, Shubham thorat  wrote:
>
> This is how I have divided the tasks:
> The algorithm is defined in this paper: 
> https://herbie.uwplse.org/pldi15-paper.pdf
>
>  Error Calculation on sampling points
>
> Find the best-accepted level of precision so we calculate the actual 
> correctly up to 64 bits by increasing the precision until we get constant up 
> to 64 bits.
> Calculate the value using float( hardware precision).
> Compare real and float value by calculating E(x,y) = log(2,z),  z = number of 
> floating-point between real and approximate answers.
> averaging these differences over the sampling to see how accurate the 
> expression is.
>
> Pick Candidate
>
> Pick candidates (subexpression) from the table and apply error calculation as 
> well as a local error at each location on the sampled points.
> the database will have a set of rewrite rules like commutativity, 
> associativity, distributivity, (x + y) = (x**2 - y**2)/(x - y), (x - y) = 
> (x**3 - y**3)/(x**2 + y**2 + x*y), x = exp(log( x )) etc..
>
> Recursive- rewrite
>
> Rewrite candidates using the database of rules and simplify to cancel terms.
> Recursively repeat the algorithm on the best subexpression.
>
> Series Expansion
>
> Finding the series expansion of expressions to remove error near 0 and 
> infinity.
>
> Candidate Tree
>
> Only keep those candidates that give the best accuracy on at least one 
> location.
> On every iteration of the outer loop, the algorithm chooses the program from 
> the table and uses it to find new candidates, every program is used once.
> Candidate programs are also saved as a pair of maps that are tied with the 
> location that they are best at.
> removing candidates if more than one candidate is giving the same results 
> based on their results at other locations.
> Before the series approximation step, we will use the set cover approximation 
> algorithm to prune candidates to have a minimal set.
>
>  Get Piecewise solutions
>
> Split is found using dynamic programming and later refined using binary 
> search.
>
>
> These are the functions:
>
>
> Definition-main(program) :
>
> points := sample-inputs(program)
>
> exacts := evaluate-exact(program, points)
>
> table := make-candidate-table(simplify(program))
>
> repeat N times
>
> candidate:= pick-candidate(table)
>
> locations := sort-by-local-error(all-locations(candidate))
>
> locations.take(M )
>
> rewritten := recursive-rewrite(candidate, locations)
>
> new-candidates := simplify-each(rewritten)
>
> table.add(new-candidates)
>
> approximated := series-expansion(candidate, locations)
>
> table.add(approximated)
>
> return infer-regimes(table).as-program
>
>
>
> Definition local-error(expr, points) :
>
> for point ∈ points :
>
> args := evaluate-exact(expr.children)
>
> exact-ans := F(expr.operation.apply-exact(args))
>
> approx-ans := expr.operation.apply-approx(F(args))
>
> accumulate E(exact-ans, approx-ans)
>
>
>
> Definition recursive-rewrite(expr, target) :
>
> select input
>
> output from RULES
>
> where input.head = expr.operator ∧ output.head = target.head
>
> for (subexpr, subpattern) ∈ zip(expr.children, input.children) :
>
> if ¬matches(subexpr, subpattern) :
>
> recursive-rewrite(subexpr, subpattern)
>
> where matches(expr, input)
>
> expr.rewrite(input -> output)
>
>
>
> Definition infer-regimes(candidates, points) :
>
> for x i ∈ points :
>
> best-split 0 [x i ] = [regime(best-candidate(−∞, x i ), −∞, x i )]
>
> for n ∈ N until best-split n+1 = best-split n :
>
> for x i ∈ points ∪ {∞} :
>
> for x j ∈ points, x j < x i :
>
> extra-regime := regime(best-candidate(x j , x i ), x i , x j )
>
> option[x j ] := best-split[x j ] ++ [extra-regime]
>
> best-split n+1 [x i ] := lowest-error(option)
>
> if best-split n [x i ].error − 1 ≤ best-split n+1 [x i ].error :
>
> best-split n+1 [x i ] := best-split n [x i ]
>
> split:= best-split ∗ [∞]
>
> split.refine-by-binary-search()
>
> return split
>
>
>
> I have written a basic brute force code.
> from sympy import *
> import numpy as np
>
> x = Symbol("x")
> y = Symbol("y")
> z = Symbol("z")
>
>
> #points
> maxi = 100
> mini = -100
> step = (maxi-mini)/256
>
> start = mini
> points = []
>
> for i in range(0,256):
> points.append(start)
> start += step
>
> #calculate error
> def calc_error(expr,point):
> from mpmath import mp, mpf
> mp.dps = 1000
> symb = expr.atoms(Symbol)
> unq_sym = len(symb)
>
>
> subst_sym = []
> subst_mpf = []
>
> i=0
> for sym in symb:
> subst_sym.append((x,point))
> #subst_sym.append((x,300))
> #subst_sym.append((z,400))
> subst_mpf.append( ( sym,mpf(point) ) )
> i = i+1
>
> ans1 = expr.subs(subst_sym)
> ans2 = 

[sympy] Re: GSOC Introduction

2020-03-11 Thread Shubham thorat
This is how I have divided the tasks:
The algorithm is defined in this paper: 
https://herbie.uwplse.org/pldi15-paper.pdf


   1.  Error Calculation on sampling points


   - Find the best-accepted level of precision so we calculate the actual 
  correctly up to 64 bits by increasing the precision until we get constant 
  up to 64 bits.
  - Calculate the value using float( hardware precision).
  - Compare real and float value by calculating *E(x,y) = log(2,z)*,  z 
  = number of floating-point between real and approximate answers.
  - averaging these differences over the sampling to see how accurate 
  the expression is.
   

   1. Pick Candidate


   - Pick candidates (subexpression) from the table and apply error 
  calculation as well as a local error at each location on the sampled 
points.
  - the database will have a set of rewrite rules like commutativity, 
  associativity, distributivity, (x + y) = (x**2 - y**2)/(x - y), (x - y) = 
  (x**3 - y**3)/(x**2 + y**2 + x*y), x = exp(log( x )) etc..
   

   1. Recursive- rewrite
  - Rewrite candidates using the database of rules and simplify to 
  cancel terms.
  - Recursively repeat the algorithm on the best subexpression. 
   2. Series Expansion
  1. Finding the series expansion of expressions to remove error near 0 
  and infinity.
   3. Candidate Tree
  1. Only keep those candidates that give the best accuracy on at least 
  one location.
  2. On every iteration of the outer loop, the algorithm chooses the 
  program from the table and uses it to find new candidates, every program 
is 
  used once.
  3. Candidate programs are also saved as a pair of maps that are tied 
  with the location that they are best at.
  4. removing candidates if more than one candidate is giving the same 
  results based on their results at other locations.
  5. Before the series approximation step, we will use the set cover 
  approximation algorithm to prune candidates to have a minimal set.
   4.  Get Piecewise solutions
  1. Split is found using dynamic programming and later refined using 
  binary search.
   

These are the functions:



*Definition-main(program) :*
points := sample-inputs(program)

exacts := evaluate-exact(program, points)

table := make-candidate-table(simplify(program))

repeat N times

candidate:= pick-candidate(table)

locations := sort-by-local-error(all-locations(candidate))

locations.take(M ) 

rewritten := recursive-rewrite(candidate, locations)

new-candidates := simplify-each(rewritten)

table.add(new-candidates)

approximated := series-expansion(candidate, locations)

table.add(approximated)

return infer-regimes(table).as-program




*Definition local-error(expr, points) :*
for point ∈ points :

args := evaluate-exact(expr.children)

exact-ans := F(expr.operation.apply-exact(args))

approx-ans := expr.operation.apply-approx(F(args))

accumulate E(exact-ans, approx-ans)



*Definition recursive-rewrite(expr, target) :*

select input

output from RULES

where input.head = expr.operator ∧ output.head = target.head

for (subexpr, subpattern) ∈ zip(expr.children, input.children) :

if ¬matches(subexpr, subpattern) :

recursive-rewrite(subexpr, subpattern)

where matches(expr, input)

expr.rewrite(input -> output)



*Definition infer-regimes(candidates, points) :*

for x i ∈ points :

best-split 0 [x i ] = [regime(best-candidate(−∞, x i ), −∞, x i )]

for n ∈ N until best-split n+1 = best-split n :

for x i ∈ points ∪ {∞} :

for x j ∈ points, x j < x i :

extra-regime := regime(best-candidate(x j , x i ), x i , x j )

option[x j ] := best-split[x j ] ++ [extra-regime]

best-split n+1 [x i ] := lowest-error(option)

if best-split n [x i ].error − 1 ≤ best-split n+1 [x i ].error :

best-split n+1 [x i ] := best-split n [x i ]

split:= best-split ∗ [∞]

split.refine-by-binary-search()

return split 



I have written a basic brute force code.
from sympy import *
import numpy as np

x = Symbol("x")
y = Symbol("y")
z = Symbol("z")


#points
maxi = 100
mini = -100
step = (maxi-mini)/256

start = mini
points = []

for i in range(0,256):
points.append(start)
start += step

#calculate error
def calc_error(expr,point):
from mpmath import mp, mpf
mp.dps = 1000
symb = expr.atoms(Symbol)
unq_sym = len(symb)


subst_sym = []
subst_mpf = []

i=0
for sym in symb:
subst_sym.append((x,point))
#subst_sym.append((x,300))
#subst_sym.append((z,400)) 
subst_mpf.append( ( sym,mpf(point) ) )
i = i+1

ans1 = expr.subs(subst_sym)
ans2 = expr.subs(subst_mpf)
return ans1,ans2

#replacement functions
#database 
rule = []
rule.append(lambda exp: (exp.args[0]**3 + exp.args[1]**3)/(exp.args[0]**2 + 
exp.args[1]**2 - exp.args[1]*exp.args[0]) if type(exp) ==Add and len
(exp.args)==2 

[sympy] Re: GSOC Introduction

2020-03-08 Thread Shubham thorat
 

I am referring the given links for optimizing floating-point expressions

https://herbie.uwplse.org/

https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/02Numerics/Double/paper.pdf


*T**o Do*

   - 
   
   *1]* *databases of rules **to find rearrangements*(the database can be 
   updated by user)
   - 
  
  Including those for the commutativity, associativity, distributivity
  - 
  
  Identity of basic arithmetic operators
  - 
  
  Fraction arithmetic
  - 
  
  Laws of squares, square roots, exponents, logarithms
  - 
  
  Some basic facts of trigonometry
  - 
   
   *2]* *sampling points*
   - 
  
  These input points are sampled uniformly from the set of floating 
  point bit patterns.
  - 
  
  Each sampled point is a combination of a random mantissa, exponent, 
  and a sign bit. 
  - 
  
  By sampling exponents uniformly, We can generate both very small and 
  very large input points, as well as inputs of normal size
  - 
   
   *3]* *error calculation*
   - 
  
  STOKE: error = no_of_floating_point_values_between(approximate and 
  exact_answer)
  - 
  
  E(x, y) = log 2 |{z ∈ FP | min(x, y) ≤ z ≤ max(x, y)}|
  - 
  
  mpmath can be used for this operation.
  - 
   
   *4]* *localizing the error points and operators*
   - 
  
  We use a greedy, hill-climbing search to tracks a set of candidate 
  programs
  - 
  
  apply rules at various locations in these candidates, evaluates each 
  resulting program, and repeats the process on the best candidates.
  - 
  
  For polynomial approximations, we can use sympy specialized series 
  expansion pass to handle inaccuracies near 0 and ±∞
  - 
   
   *7] recursively solving the subparts*
   - 
  
  Simplifying the equation
  - 
  
  Replacing the expression using the different equations from the 
  database.
  - 
  
  Series expansion
  - 
  
  recursively solving the candidate keys.
  - 
   
   *5]* *finding operati**ons** with the highest error*
   - 
  
  using srepr tree for getting subexpressions.
  - 
  
  For each operation, we will average the local error for all sample 
  points,
  - 
  
  focuse its rewrites at the operations with the highest average
  - 
  
  simplifying rewrites after every step.
  - 
   
   *6]* *Updating** program Table*
   - 
  
  keeping only those candidates that achieve the best accuracy on at 
  least one sample point.
  - 
  
  store the processed program
  - 
  
  after adding the candidate it might happen that previously added are 
  no longer best so they can also be removed from the table. 
  - 
  
  above mentioned paper suggests that in practice, running until the 
  table reaches saturation does not give better results than running for 3 
  iterations.
  - 
   
   *7] returning the split Piecewise expression for different ranges*
   - 
  
  based on the sample points
  

*Functions (refering the above mentioned lines), I want to implement the 
following functions for my GSOC project*

Definition-main(program) :

points := sample-inputs(program)

exacts := evaluate-exact(program, points)

table := make-candidate-table(simplify(program))

repeat N times

candidate:= pick-candidate(table)

locations := sort-by-local-error(all-locations(candidate))

locations.take(M ) 

rewritten := recursive-rewrite(candidate, locations)

new-candidates := simplify-each(rewritten)

table.add(new-candidates)

approximated := series-expansion(candidate, locations)

table.add(approximated)

return infer-regimes(table).as-program

   - 
   
   Definition local-error(expr, points) :
   
for point ∈ points :

args := evaluate-exact(expr.children)

exact-ans := F(expr.operation.apply-exact(args))

approx-ans := expr.operation.apply-approx(F(args))

accumulate E(exact-ans, approx-ans)

   - 
   
   Definition recursive-rewrite(expr, target) :
   
select and where are non-deterministic choice and requirement

select input

output from RULES

where input.head = expr.operator ∧ output.head = target.head

for (subexpr, subpattern) ∈ zip(expr.children, input.children) :

if ¬matches(subexpr, subpattern) :

recursive-rewrite(subexpr, subpattern)

where matches(expr, input)

expr.rewrite(input -> output)

   - 
   
   Definition simplify(expr) :
   
iters := iters-needed(expr)

egraph := make-egraph(expr)

repeat iters times :

for node ∈ egraph :

for rule ∈ SIMPLIFY - RULES :

attempt-apply(rule, node)

return extract-smallest-tree(egraph)

   - 
   
   Definition iters-needed(expr) :
   
if is-leaf(expr) :

return 0

else :

sub-iters := map(iters-needed, expr.children)

iters-at-node := 

[sympy] Re: GSoC Introduction

2011-03-30 Thread Vinzent Steinberg
Welcome!

On Mar 29, 6:32 pm, Nishant Jain nishant@gmail.com wrote:
 Hi,
 I am a student at the Indian Institute of Technology, Kharagpur. I'm a third
 year undergraduate student studying mathematics and computing.
 I have gone through the Ideas page and I am interested on working on
 'Efficient Groebner bases and their application'.(Introduction to Abstract
 Algebra is one of my courses in the current semester.)
 I am going through the code and I'll submit a patch soon.
 I have a bit of coding experience in C/C++, Java, Perl, Python.
 I hope to contribute to Sympy.

We are looking forward to your contribution. Let us know if you have
any questions.

Vinzent

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSOC Introduction

2011-03-29 Thread Ben M
Hi,

I am looking at Issue 834 http://code.google.com/p/sympy/issues/detail?id=834.

I feel I understand the problem and how I would fix it. But would I be
able to get feedback on what fix would be best so I can practice
submitting a patch? I've added a comment to the issue with my
questions about the issue.

Ben M

On Mar 28, 9:08 am, Aaron S. Meurer asmeu...@gmail.com wrote:
 Yes, the present use case is only for integers.  We do not really use 
 floating point numbers (our numerical library, mpmath, has its own arbitrary 
 precision floating point implementation).

 This can be expanded, though, to cover other C types, like arrays for 
 lists/tuples.

 Aaron Meurer

 On Mar 27, 2011, at 5:22 AM, Ben M wrote:







  Hey,

  I’m learning about SymPy’s use of Cython at the moment so I can write
  my proposal. I've been looking at past discussions and the code.

  The ‘cythonized’ decorator seems to cast all given variables to local
  C int types ('cython.int'). Why only ints and no decimals? Is this
  because SymPy has its own way of representing rational numbers and
  will other modules only make use of ints? Thanks.

  Ben M

  On Mar 26, 3:22 pm, Ben M mcdonald@gmail.com wrote:
  Hi. I'm continuing to look at Cython. I've added a wiki 
  page.https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-Cython...

  Ben M

  On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote:

  Yes, maybe you could look at cythonizing the logic code (ilke the SAT 
  solver).  Another idea that comes to mind is the matrices.  The other 
  really big main part aside from the core is the polys, but Mateusz has 
  already been working on cythonizing the core of that.  Maybe you could 
  see what he has done and if more could be done (see the @cythonized 
  decorators in some of the files in sympy/polys/).

  Aaron Meurer

  On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote:

  Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
  Thanks for the link Aaron.

  What other parts of SymPy could be optimised without working on
  deprecated code? I could try to produce a dependence graph to find the
  most referenced modules.

  I read in that thread that removing the old assumptions could be a
  challenging project. What skills does it rely on? Is it more
  mathematics or software engineering? I have more experience in the
  later doing a Comp. Sc. degree (encapsulation, modularity, OO design
  patterns).

  I think it's mostly software engineering (refactoring, interface
  design, ...) with a side dish of hardcore CS/AI topics (knowledge base
  maintenance and indexing, inductive reasoning, ...) We probably also
  need to implement simplification of boolean expressions.

  On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
  You might read through this thread from a few days 
  agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
    Note that there might be a problem with the Cythonizing the core 
  because we still need to remove the old assumptions (this would itself 
  be a whole GSoC project).  

  However, if you are still interested in Cython, you might look at 
  cythonizing other core parts of SymPy.

  Aaron Meurer

  On Mar 23, 2011, at 5:20 AM, Friedman wrote:

  Hello SymPy people,

  I’m a Computer Science student currently completing my Master’s thesis
  at the University of Canterbury, New Zealand.

  I am looking to participate in gsoc this year. I would like to
  contribute to sympy because I have both an interest in mathematics and
  Python. Python is currently my language of choice. I use Python in my
  studies and I also tutor Python in undergraduate classes.

  I’m considering the Cython project to optimise the core. I used Cython
  in Master’s project to optimise processor/memory intensive methods.
  With Cython I increase the performance of my code while leaving the
  original Python code unchanged by adding Cython headers (.pyx) to
  modules to convert the Python into C++. It would be very interesting
  to be involved in doing the same to sympy.

  Currently looking through the discussion topics to see what would be
  required of the Cython project. Just wanted to express my interest in
  this project at this moment.

  Ben M.

  --
  You received this message because you are subscribed to the Google 
  Groups sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

  --
  You received this message because you are subscribed to the Google 
  Groups sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

  --
  You received this message because you are subscribed to 

[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-28 Thread weralwolf
Can some one help me and tell what I should do next... I create some
kind of application: 
https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Anatolii-Koval
(will appreciative to hear critic and amendments)
I have send pull request: https://github.com/sympy/sympy/pull/159 and
waiting for approving or comments
But currently really don't know what I should to do next to
participate the project...
Sorry if my question is stupid, but I really disoriented.

Regards,
Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-28 Thread Brian Granger
Some general comments:

* It would be useful if you have a patch that changed sympy itself.
While your example is nice, it doesn't show that you have dived into
the sympy code base.
* You need to have a very specific and concrete proposal for what you
will do.  This needs to include, background and motivation,
demonstrate an understanding of the math/physics, a weekly plan of
what you will do, code-level details of the various components.  I
strongly suggest looking at previous year's proposals on the WIki.
* Describe what types of Perturbation theories you will implement.
How will you implement them (in detail)?
* What will the interfaces in the code looks like?  What
objects/modules will you implement?
* How will you handle the sum in perturbation theory?
* What examples/tests/documentation will you write.

Hope that helps,

Brian

On Mon, Mar 28, 2011 at 2:07 PM, weralwolf weralw...@gmail.com wrote:
 Can some one help me and tell what I should do next... I create some
 kind of application: 
 https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Anatolii-Koval
 (will appreciative to hear critic and amendments)
 I have send pull request: https://github.com/sympy/sympy/pull/159 and
 waiting for approving or comments
 But currently really don't know what I should to do next to
 participate the project...
 Sorry if my question is stupid, but I really disoriented.

 Regards,
 Anatolii

 --
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sympy?hl=en.





-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgran...@calpoly.edu and elliso...@gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-28 Thread Ondrej Certik
On Mon, Mar 28, 2011 at 2:07 PM, weralwolf weralw...@gmail.com wrote:
 Can some one help me and tell what I should do next... I create some
 kind of application: 
 https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Anatolii-Koval
 (will appreciative to hear critic and amendments)
 I have send pull request: https://github.com/sympy/sympy/pull/159 and
 waiting for approving or comments
 But currently really don't know what I should to do next to
 participate the project...
 Sorry if my question is stupid, but I really disoriented.

Here is the Google timeline:

http://www.google-melange.com/gsoc/events/google/gsoc2011

so the applications open today, and end on April 8. You apply using
the google-melange.com webapp to the sympy project. Depending on the
number of applications, Google will assign us some number of slots,
usually roughly from 1/3 to 1/5 of all applications (e.g. for example
10 out of 30), and then we select the best ones.

The idea is to write as good application as you can, and the best way
to do it is to discuss it on the sympy list and with us, as you have
been doing. Brian has offered you some useful suggestions, that you
can incorporate.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSOC Introduction

2011-03-27 Thread Ben M
Hey,

I’m learning about SymPy’s use of Cython at the moment so I can write
my proposal. I've been looking at past discussions and the code.

The ‘cythonized’ decorator seems to cast all given variables to local
C int types ('cython.int'). Why only ints and no decimals? Is this
because SymPy has its own way of representing rational numbers and
will other modules only make use of ints? Thanks.

Ben M

On Mar 26, 3:22 pm, Ben M mcdonald@gmail.com wrote:
 Hi. I'm continuing to look at Cython. I've added a wiki 
 page.https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-Cython...

 Ben M

 On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote:







  Yes, maybe you could look at cythonizing the logic code (ilke the SAT 
  solver).  Another idea that comes to mind is the matrices.  The other 
  really big main part aside from the core is the polys, but Mateusz has 
  already been working on cythonizing the core of that.  Maybe you could see 
  what he has done and if more could be done (see the @cythonized decorators 
  in some of the files in sympy/polys/).

  Aaron Meurer

  On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote:

   Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
   Thanks for the link Aaron.

   What other parts of SymPy could be optimised without working on
   deprecated code? I could try to produce a dependence graph to find the
   most referenced modules.

   I read in that thread that removing the old assumptions could be a
   challenging project. What skills does it rely on? Is it more
   mathematics or software engineering? I have more experience in the
   later doing a Comp. Sc. degree (encapsulation, modularity, OO design
   patterns).

   I think it's mostly software engineering (refactoring, interface
   design, ...) with a side dish of hardcore CS/AI topics (knowledge base
   maintenance and indexing, inductive reasoning, ...) We probably also
   need to implement simplification of boolean expressions.

   On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
   You might read through this thread from a few days 
   agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
 Note that there might be a problem with the Cythonizing the core 
   because we still need to remove the old assumptions (this would itself 
   be a whole GSoC project).  

   However, if you are still interested in Cython, you might look at 
   cythonizing other core parts of SymPy.

   Aaron Meurer

   On Mar 23, 2011, at 5:20 AM, Friedman wrote:

   Hello SymPy people,

   I’m a Computer Science student currently completing my Master’s thesis
   at the University of Canterbury, New Zealand.

   I am looking to participate in gsoc this year. I would like to
   contribute to sympy because I have both an interest in mathematics and
   Python. Python is currently my language of choice. I use Python in my
   studies and I also tutor Python in undergraduate classes.

   I’m considering the Cython project to optimise the core. I used Cython
   in Master’s project to optimise processor/memory intensive methods.
   With Cython I increase the performance of my code while leaving the
   original Python code unchanged by adding Cython headers (.pyx) to
   modules to convert the Python into C++. It would be very interesting
   to be involved in doing the same to sympy.

   Currently looking through the discussion topics to see what would be
   required of the Cython project. Just wanted to express my interest in
   this project at this moment.

   Ben M.

   --
   You received this message because you are subscribed to the Google 
   Groups sympy group.
   To post to this group, send email to sympy@googlegroups.com.
   To unsubscribe from this group, send email to 
   sympy+unsubscr...@googlegroups.com.
   For more options, visit this group 
   athttp://groups.google.com/group/sympy?hl=en.

   --
   You received this message because you are subscribed to the Google Groups 
   sympy group.
   To post to this group, send email to sympy@googlegroups.com.
   To unsubscribe from this group, send email to 
   sympy+unsubscr...@googlegroups.com.
   For more options, visit this group 
   athttp://groups.google.com/group/sympy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSOC Introduction

2011-03-27 Thread Aaron S. Meurer
Yes, the present use case is only for integers.  We do not really use floating 
point numbers (our numerical library, mpmath, has its own arbitrary precision 
floating point implementation).

This can be expanded, though, to cover other C types, like arrays for 
lists/tuples.

Aaron Meurer

On Mar 27, 2011, at 5:22 AM, Ben M wrote:

 Hey,
 
 I’m learning about SymPy’s use of Cython at the moment so I can write
 my proposal. I've been looking at past discussions and the code.
 
 The ‘cythonized’ decorator seems to cast all given variables to local
 C int types ('cython.int'). Why only ints and no decimals? Is this
 because SymPy has its own way of representing rational numbers and
 will other modules only make use of ints? Thanks.
 
 Ben M
 
 On Mar 26, 3:22 pm, Ben M mcdonald@gmail.com wrote:
 Hi. I'm continuing to look at Cython. I've added a wiki 
 page.https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-Cython...
 
 Ben M
 
 On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote:
 
 
 
 
 
 
 
 Yes, maybe you could look at cythonizing the logic code (ilke the SAT 
 solver).  Another idea that comes to mind is the matrices.  The other 
 really big main part aside from the core is the polys, but Mateusz has 
 already been working on cythonizing the core of that.  Maybe you could see 
 what he has done and if more could be done (see the @cythonized decorators 
 in some of the files in sympy/polys/).
 
 Aaron Meurer
 
 On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote:
 
 Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
 Thanks for the link Aaron.
 
 What other parts of SymPy could be optimised without working on
 deprecated code? I could try to produce a dependence graph to find the
 most referenced modules.
 
 I read in that thread that removing the old assumptions could be a
 challenging project. What skills does it rely on? Is it more
 mathematics or software engineering? I have more experience in the
 later doing a Comp. Sc. degree (encapsulation, modularity, OO design
 patterns).
 
 I think it's mostly software engineering (refactoring, interface
 design, ...) with a side dish of hardcore CS/AI topics (knowledge base
 maintenance and indexing, inductive reasoning, ...) We probably also
 need to implement simplification of boolean expressions.
 
 On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
 You might read through this thread from a few days 
 agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
   Note that there might be a problem with the Cythonizing the core 
 because we still need to remove the old assumptions (this would itself 
 be a whole GSoC project).  
 
 However, if you are still interested in Cython, you might look at 
 cythonizing other core parts of SymPy.
 
 Aaron Meurer
 
 On Mar 23, 2011, at 5:20 AM, Friedman wrote:
 
 Hello SymPy people,
 
 I’m a Computer Science student currently completing my Master’s thesis
 at the University of Canterbury, New Zealand.
 
 I am looking to participate in gsoc this year. I would like to
 contribute to sympy because I have both an interest in mathematics and
 Python. Python is currently my language of choice. I use Python in my
 studies and I also tutor Python in undergraduate classes.
 
 I’m considering the Cython project to optimise the core. I used Cython
 in Master’s project to optimise processor/memory intensive methods.
 With Cython I increase the performance of my code while leaving the
 original Python code unchanged by adding Cython headers (.pyx) to
 modules to convert the Python into C++. It would be very interesting
 to be involved in doing the same to sympy.
 
 Currently looking through the discussion topics to see what would be
 required of the Cython project. Just wanted to express my interest in
 this project at this moment.
 
 Ben M.
 
 --
 You received this message because you are subscribed to the Google 
 Groups sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group 
 athttp://groups.google.com/group/sympy?hl=en.
 
 --
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group 
 athttp://groups.google.com/group/sympy?hl=en.
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sympy?hl=en.
 

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe 

[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-25 Thread weralwolf
On Mar 25, 2:41 pm, Vinzent Steinberg
vinzent.steinb...@googlemail.com wrote:
 On 24 Mrz., 17:54, weralwolf weralw...@gmail.com wrote:





  On Mar 24, 6:53 pm, Vinzent Steinberg

  vinzent.steinb...@googlemail.com wrote:
   Hi,

   On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

Hello, where my simple example of calculations corrections due to
perturbation theory for hole with infinite walls. I thinks I didn't
use all SymPy features, so if it possible guide me.
Source:http://pygments.org/demo/16998/

   Nice, do you think this could be polished a bit and added to sympy's
   examples? This could be your first patch. :)

   Vinzent

  I guide your tip and after few minutes get 
  this:http://pygments.org/demo/17051/
  - could it be as good example? If yes, how I can submit it?

 Nice, this is exactly what I meant with polishing. About submitting
 it, I think Ondrej answered your question.

 Why did you add all these semicolons? In Python there is no need for
 them, a newline has the same effect as ';' (except for code inside
 parentheses).

 Vinzent

All that semicolons are coming from my C++ coding style. I put it
everywhere it just can be placed, in this way I fill some kind of
order. I just really like it =)

Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-25 Thread Ondrej Certik
On Fri, Mar 25, 2011 at 8:35 AM, weralwolf weralw...@gmail.com wrote:
 On Mar 25, 2:41 pm, Vinzent Steinberg
 vinzent.steinb...@googlemail.com wrote:
 On 24 Mrz., 17:54, weralwolf weralw...@gmail.com wrote:





  On Mar 24, 6:53 pm, Vinzent Steinberg

  vinzent.steinb...@googlemail.com wrote:
   Hi,

   On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

Hello, where my simple example of calculations corrections due to
perturbation theory for hole with infinite walls. I thinks I didn't
use all SymPy features, so if it possible guide me.
Source:http://pygments.org/demo/16998/

   Nice, do you think this could be polished a bit and added to sympy's
   examples? This could be your first patch. :)

   Vinzent

  I guide your tip and after few minutes get 
  this:http://pygments.org/demo/17051/
  - could it be as good example? If yes, how I can submit it?

 Nice, this is exactly what I meant with polishing. About submitting
 it, I think Ondrej answered your question.

 Why did you add all these semicolons? In Python there is no need for
 them, a newline has the same effect as ';' (except for code inside
 parentheses).

 Vinzent

 All that semicolons are coming from my C++ coding style. I put it
 everywhere it just can be placed, in this way I fill some kind of
 order. I just really like it =)

All code in sympy should conform to the Python coding guidelines:

http://www.python.org/dev/peps/pep-0008/

so no semicolons, and also the names of the functions should be
lowercase_with_underscores.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-25 Thread weralwolf
On Mar 25, 7:50 pm, Ondrej Certik ond...@certik.cz wrote:
 On Fri, Mar 25, 2011 at 8:35 AM, weralwolf weralw...@gmail.com wrote:
  On Mar 25, 2:41 pm, Vinzent Steinberg
  vinzent.steinb...@googlemail.com wrote:
  On 24 Mrz., 17:54, weralwolf weralw...@gmail.com wrote:

   On Mar 24, 6:53 pm, Vinzent Steinberg

   vinzent.steinb...@googlemail.com wrote:
Hi,

On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

 Hello, where my simple example of calculations corrections due to
 perturbation theory for hole with infinite walls. I thinks I didn't
 use all SymPy features, so if it possible guide me.
 Source:http://pygments.org/demo/16998/

Nice, do you think this could be polished a bit and added to sympy's
examples? This could be your first patch. :)

Vinzent

   I guide your tip and after few minutes get 
   this:http://pygments.org/demo/17051/
   - could it be as good example? If yes, how I can submit it?

  Nice, this is exactly what I meant with polishing. About submitting
  it, I think Ondrej answered your question.

  Why did you add all these semicolons? In Python there is no need for
  them, a newline has the same effect as ';' (except for code inside
  parentheses).

  Vinzent

  All that semicolons are coming from my C++ coding style. I put it
  everywhere it just can be placed, in this way I fill some kind of
  order. I just really like it =)

 All code in sympy should conform to the Python coding guidelines:

 http://www.python.org/dev/peps/pep-0008/

 so no semicolons, and also the names of the functions should be
 lowercase_with_underscores.

 Ondrej

Thanks for tip, I've fix semicolons and etc.

Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSOC Introduction

2011-03-25 Thread Ben M
Hi. I'm continuing to look at Cython. I've added a wiki page.
https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-CythonGSoC-Proposal,-Ben-McDonald

Ben M

On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote:
 Yes, maybe you could look at cythonizing the logic code (ilke the SAT 
 solver).  Another idea that comes to mind is the matrices.  The other really 
 big main part aside from the core is the polys, but Mateusz has already been 
 working on cythonizing the core of that.  Maybe you could see what he has 
 done and if more could be done (see the @cythonized decorators in some of the 
 files in sympy/polys/).

 Aaron Meurer

 On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote:







  Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
  Thanks for the link Aaron.

  What other parts of SymPy could be optimised without working on
  deprecated code? I could try to produce a dependence graph to find the
  most referenced modules.

  I read in that thread that removing the old assumptions could be a
  challenging project. What skills does it rely on? Is it more
  mathematics or software engineering? I have more experience in the
  later doing a Comp. Sc. degree (encapsulation, modularity, OO design
  patterns).

  I think it's mostly software engineering (refactoring, interface
  design, ...) with a side dish of hardcore CS/AI topics (knowledge base
  maintenance and indexing, inductive reasoning, ...) We probably also
  need to implement simplification of boolean expressions.

  On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
  You might read through this thread from a few days 
  agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
    Note that there might be a problem with the Cythonizing the core 
  because we still need to remove the old assumptions (this would itself be 
  a whole GSoC project).  

  However, if you are still interested in Cython, you might look at 
  cythonizing other core parts of SymPy.

  Aaron Meurer

  On Mar 23, 2011, at 5:20 AM, Friedman wrote:

  Hello SymPy people,

  I’m a Computer Science student currently completing my Master’s thesis
  at the University of Canterbury, New Zealand.

  I am looking to participate in gsoc this year. I would like to
  contribute to sympy because I have both an interest in mathematics and
  Python. Python is currently my language of choice. I use Python in my
  studies and I also tutor Python in undergraduate classes.

  I’m considering the Cython project to optimise the core. I used Cython
  in Master’s project to optimise processor/memory intensive methods.
  With Cython I increase the performance of my code while leaving the
  original Python code unchanged by adding Cython headers (.pyx) to
  modules to convert the Python into C++. It would be very interesting
  to be involved in doing the same to sympy.

  Currently looking through the discussion topics to see what would be
  required of the Cython project. Just wanted to express my interest in
  this project at this moment.

  Ben M.

  --
  You received this message because you are subscribed to the Google 
  Groups sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

  --
  You received this message because you are subscribed to the Google Groups 
  sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread weralwolf


On 24 Бер, 00:22, Ondrej Certik ond...@certik.cz wrote:
 On Wed, Mar 23, 2011 at 1:42 PM, weralwolf weralw...@gmail.com wrote:

  On 23 Бер, 21:48, Ondrej Certik ond...@certik.cz wrote:
  On Wed, Mar 23, 2011 at 10:04 AM, weralwolf weralw...@gmail.com wrote:
   Hello, where my simple example of calculations corrections due to
   perturbation theory for hole with infinite walls. I thinks I didn't
   use all SymPy features, so if it possible guide me.
   Source:http://pygments.org/demo/16998/

  Nice! I ran your script, and got a number:

  -0.281647771314390

  Then I printed E_n(_n, _a, _mass).n() and I got:

  0.197392088021787

  so the 0.197... is the original energy, and -0.281... is the corrected one?

  Yes, you are right, it's exactly what I mean in script.

 How hard would it be to do more perturbation terms, so that we can see
 some kind of convergence in the energies? People don't do that by
 hand, because it is tedious, but with sympy, it might be possible.
 That'd be really cool.


It wouldn't be much harder, we just should wright down formulas for
next perturbation terms, or provide way for calculating more general
formula. I write it just for two first terms cause anyone who does
work with perturbation theory or just learn it in University should
know they.


  Indeed, I agree with your conclusions, it'd be really cool to make
  this work with brakets.

  It should be really shorter and simply. Can you guide me to get
  application for this idea?

 Definitely. Go to the wiki:

 https://github.com/sympy/sympy/wiki/Gsoc-current-applications

 and start crafting it up, then ask for feedback, and I and other
 people will try to help.

 Ondrej

Thanks! I'll start today.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread weralwolf


On Mar 24, 12:22 am, Ondrej Certik ond...@certik.cz wrote:
 On Wed, Mar 23, 2011 at 1:42 PM, weralwolf weralw...@gmail.com wrote:

  On 23 Бер, 21:48, Ondrej Certik ond...@certik.cz wrote:
  On Wed, Mar 23, 2011 at 10:04 AM, weralwolf weralw...@gmail.com wrote:
   Hello, where my simple example of calculations corrections due to
   perturbation theory for hole with infinite walls. I thinks I didn't
   use all SymPy features, so if it possible guide me.
   Source:http://pygments.org/demo/16998/

  Nice! I ran your script, and got a number:

  -0.281647771314390

  Then I printed E_n(_n, _a, _mass).n() and I got:

  0.197392088021787

  so the 0.197... is the original energy, and -0.281... is the corrected one?

  Yes, you are right, it's exactly what I mean in script.

 How hard would it be to do more perturbation terms, so that we can see
 some kind of convergence in the energies? People don't do that by
 hand, because it is tedious, but with sympy, it might be possible.
 That'd be really cool.



  Indeed, I agree with your conclusions, it'd be really cool to make
  this work with brakets.

  It should be really shorter and simply. Can you guide me to get
  application for this idea?

 Definitely. Go to the wiki:

 https://github.com/sympy/sympy/wiki/Gsoc-current-applications

 and start crafting it up, then ask for feedback, and I and other
 people will try to help.

 Ondrej

So, I went there and create draft of my application:
https://github.com/sympy/sympy/wiki/Perturbation-theory-by-Anatolii-Koval
. Will be very appreciative to hear some fixes or proposals about it.
Also I will write more information little bit later.

Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory

2011-03-24 Thread weralwolf
Sorry, but due to unexpected error what happens to my yesterday I
think it will be more useful to continue this topic there:
http://groups.google.com/group/sympy/browse_thread/thread/ade9df0af84bd17c

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Alexey U. Gudchenko


24.03.2011 19:22, weralwolf пишет:

Hi,

It's very hopeful title, but I just notice that :


Yes, let's use this convention.  Title the page like GSoC 2011 Application Your 
Name.  Someone go ahead and rename all existing pages to this format.

Aaron Meurer



http://groups.google.com/group/sympy/browse_thread/thread/3184d64aefba96c9?hl=en



So, I went there and create draft of my application:
https://github.com/sympy/sympy/wiki/Perturbation-theory-by-Anatolii-Koval
. Will be very appreciative to hear some fixes or proposals about it.
Also I will write more information little bit later.

Anatolii




--
Alexey U.

--
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Jeron Smuta
2011/3/24 Alexey U. Gudchenko pr...@goodok.ru


 24.03.2011 19:22, weralwolf пишет:

 Hi,

 It's very hopeful title, but I just notice that :

  Yes, let's use this convention.  Title the page like GSoC 2011
 Application Your Name.  Someone go ahead and rename all existing pages to
 this format.

 Aaron Meurer



 http://groups.google.com/group/sympy/browse_thread/thread/3184d64aefba96c9?hl=en

 Thanks! I have rename my application
https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Anatolii-Koval


  So, I went there and create draft of my application:
 https://github.com/sympy/sympy/wiki/Perturbation-theory-by-Anatolii-Koval
 . Will be very appreciative to hear some fixes or proposals about it.
 Also I will write more information little bit later.

 Anatolii



 --
 Alexey U.


 --
 You received this message because you are subscribed to the Google Groups
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/sympy?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Vinzent Steinberg
Hi,

On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:
 Hello, where my simple example of calculations corrections due to
 perturbation theory for hole with infinite walls. I thinks I didn't
 use all SymPy features, so if it possible guide me.
 Source:http://pygments.org/demo/16998/

Nice, do you think this could be polished a bit and added to sympy's
examples? This could be your first patch. :)

Vinzent

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread weralwolf


On Mar 24, 6:53 pm, Vinzent Steinberg
vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

Hm... I hope it could be added as example. But can you tell me what
exactly I should polish, may be more comments or you talking about
coding style?

Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Ondrej Certik
On Thu, Mar 24, 2011 at 9:59 AM, weralwolf weralw...@gmail.com wrote:


 On Mar 24, 6:53 pm, Vinzent Steinberg
 vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

 Hm... I hope it could be added as example. But can you tell me what
 exactly I should polish, may be more comments or you talking about
 coding style?

Can you please add the link here:

https://github.com/sympy/sympy/wiki/GSoc-2011-current-applications

so we can access it from one place? I also corrected the wiki front
page, the link to GSoc-2011-current-applications was broken.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Ondrej Certik
On Thu, Mar 24, 2011 at 11:06 AM, Ondrej Certik ond...@certik.cz wrote:
 On Thu, Mar 24, 2011 at 9:59 AM, weralwolf weralw...@gmail.com wrote:


 On Mar 24, 6:53 pm, Vinzent Steinberg
 vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

 Hm... I hope it could be added as example. But can you tell me what
 exactly I should polish, may be more comments or you talking about
 coding style?

 Can you please add the link here:

 https://github.com/sympy/sympy/wiki/GSoc-2011-current-applications

 so we can access it from one place? I also corrected the wiki front
 page, the link to GSoc-2011-current-applications was broken.


Btw, I think that perturbation theory module would work well with the
project idea I just posted on the sympy list: Implement All Known
Analytical Solutions to Quantum Mechanical Systems.

So that one can use known analytical solutions from sympy, and then
use perturbation theory to solve more QM systems.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Brian Granger
On Thu, Mar 24, 2011 at 1:12 PM, Ondrej Certik ond...@certik.cz wrote:
 On Thu, Mar 24, 2011 at 11:06 AM, Ondrej Certik ond...@certik.cz wrote:
 On Thu, Mar 24, 2011 at 9:59 AM, weralwolf weralw...@gmail.com wrote:


 On Mar 24, 6:53 pm, Vinzent Steinberg
 vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

 Hm... I hope it could be added as example. But can you tell me what
 exactly I should polish, may be more comments or you talking about
 coding style?

 Can you please add the link here:

 https://github.com/sympy/sympy/wiki/GSoc-2011-current-applications

 so we can access it from one place? I also corrected the wiki front
 page, the link to GSoc-2011-current-applications was broken.


 Btw, I think that perturbation theory module would work well with the
 project idea I just posted on the sympy list: Implement All Known
 Analytical Solutions to Quantum Mechanical Systems.

 So that one can use known analytical solutions from sympy, and then
 use perturbation theory to solve more QM systems.

Yep!

 Ondrej

 --
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sympy?hl=en.





-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgran...@calpoly.edu and elliso...@gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread weralwolf


On Mar 24, 6:53 pm, Vinzent Steinberg
vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

I guide your tip and after few minutes get this: http://pygments.org/demo/17051/
- could it be as good example? If yes, how I can submit it?

Anatolii

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-24 Thread Ondrej Certik
On Thu, Mar 24, 2011 at 2:54 PM, weralwolf weralw...@gmail.com wrote:


 On Mar 24, 6:53 pm, Vinzent Steinberg
 vinzent.steinb...@googlemail.com wrote:
 Hi,

 On Mar 23, 6:04 pm, weralwolf weralw...@gmail.com wrote:

  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice, do you think this could be polished a bit and added to sympy's
 examples? This could be your first patch. :)

 Vinzent

 I guide your tip and after few minutes get this: 
 http://pygments.org/demo/17051/
 - could it be as good example? If yes, how I can submit it?

Create a pull request to sympy, adding it into the examples directory.
More info here:

http://sympy.org/development.html

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory

2011-03-23 Thread Julien Rioux
On Mar 23, 12:57 pm, weralwolf weralw...@gmail.com wrote:
 Hello, where my simple example of calculations corrections due to
 perturbation theory for hole with infinite walls. I thinks I didn't
 use all sympy features, so if it possible guide me.
 Source:http://pygments.org/demo/16998/

I think you forgot to put
from sympy import S

at the top.

Did I get it right that you calculate the ground state energy of the
1D infinite potential well of width $a$ with a perturbation which is
linear in $x$, up to second order in perturbation?

I think in general your code is fine. What you might want to do is
- have V an operator
- same for the unpertubed Hamiltonian H
- being able to write those operators in matrix form in a particular
basis
- find the basis which diagonalizes H
- use this basis to represent H and V in matrix forms
- compute perturbation theory to first, second, etc. order by looking
up the matrix forms
- make it general enough to handle degenerate cases

I think some of this is possible already, but I haven't looked deeply
into it.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory

2011-03-23 Thread Jeron Smuta
2011/3/23 Julien Rioux julien.ri...@gmail.com

 On Mar 23, 12:57 pm, weralwolf weralw...@gmail.com wrote:
  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all sympy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 I think you forgot to put
 from sympy import S

 at the top.


Yes, thanks, I really miss it! I just remove it in the last moment before
highlighting code.

Did I get it right that you calculate the ground state energy of the
 1D infinite potential well of width $a$ with a perturbation which is
  linear in $x$, up to second order in perturbation?


Yes, you are right. I try to calculate the ground state energy for that case
what you describe.


 I think in general your code is fine. What you might want to do is
 - have V an operator
 - same for the unpertubed Hamiltonian H
 - being able to write those operators in matrix form in a particular
 basis
 - find the basis which diagonalizes H
 - use this basis to represent H and V in matrix forms
 - compute perturbation theory to first, second, etc. order by looking
 up the matrix forms
 - make it general enough to handle degenerate cases

 I think some of this is possible already, but I haven't looked deeply
  into it.


Thanks, I'll look deeply, may be I'll find some solutions of this points.
 I'll search methods to solve it in current SymPy state.

--
 You received this message because you are subscribed to the Google Groups
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/sympy?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSoC Introduction. Perturbation theory

2011-03-23 Thread weralwolf
Problem was solved when I reconnect from other network. Because before
I haven't see any discussions after 22.03.11

On 23 Бер, 20:52, Aaron S. Meurer asmeu...@gmail.com wrote:
 I don't think it's possible to delete a discussion on a public mailing list.  
 But I think Google Groups has a bug where sometimes it does not show 
 discussions when searching or when browsing for whatever reason.  But they 
 are still there (you can usually find them by doing a normal Google search).

 Aaron Meurer

 On Mar 23, 2011, at 10:57 AM, weralwolf wrote:



  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all sympy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

  P.S. Why my previous discussion(One more GSoC Introduction) was
  deleted?

  Regards,
  Anatolii

  --
  You received this message because you are subscribed to the Google Groups 
  sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSoC Introduction. Perturbation theory example

2011-03-23 Thread Ondrej Certik
On Wed, Mar 23, 2011 at 1:42 PM, weralwolf weralw...@gmail.com wrote:


 On 23 Бер, 21:48, Ondrej Certik ond...@certik.cz wrote:
 On Wed, Mar 23, 2011 at 10:04 AM, weralwolf weralw...@gmail.com wrote:
  Hello, where my simple example of calculations corrections due to
  perturbation theory for hole with infinite walls. I thinks I didn't
  use all SymPy features, so if it possible guide me.
  Source:http://pygments.org/demo/16998/

 Nice! I ran your script, and got a number:

 -0.281647771314390

 Then I printed E_n(_n, _a, _mass).n() and I got:

 0.197392088021787

 so the 0.197... is the original energy, and -0.281... is the corrected one?

 Yes, you are right, it's exactly what I mean in script.

How hard would it be to do more perturbation terms, so that we can see
some kind of convergence in the energies? People don't do that by
hand, because it is tedious, but with sympy, it might be possible.
That'd be really cool.


 Indeed, I agree with your conclusions, it'd be really cool to make
 this work with brakets.

 It should be really shorter and simply. Can you guide me to get
 application for this idea?

Definitely. Go to the wiki:

https://github.com/sympy/sympy/wiki/Gsoc-current-applications

and start crafting it up, then ask for feedback, and I and other
people will try to help.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



[sympy] Re: GSOC Introduction

2011-03-23 Thread Friedman
Thanks for the link Aaron.

What other parts of SymPy could be optimised without working on
deprecated code? I could try to produce a dependence graph to find the
most referenced modules.

I read in that thread that removing the old assumptions could be a
challenging project. What skills does it rely on? Is it more
mathematics or software engineering? I have more experience in the
later doing a Comp. Sc. degree (encapsulation, modularity, OO design
patterns).

On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
 You might read through this thread from a few days 
 agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e  
 Note that there might be a problem with the Cythonizing the core because we 
 still need to remove the old assumptions (this would itself be a whole GSoC 
 project).  

 However, if you are still interested in Cython, you might look at cythonizing 
 other core parts of SymPy.

 Aaron Meurer

 On Mar 23, 2011, at 5:20 AM, Friedman wrote:







  Hello SymPy people,

  I’m a Computer Science student currently completing my Master’s thesis
  at the University of Canterbury, New Zealand.

  I am looking to participate in gsoc this year. I would like to
  contribute to sympy because I have both an interest in mathematics and
  Python. Python is currently my language of choice. I use Python in my
  studies and I also tutor Python in undergraduate classes.

  I’m considering the Cython project to optimise the core. I used Cython
  in Master’s project to optimise processor/memory intensive methods.
  With Cython I increase the performance of my code while leaving the
  original Python code unchanged by adding Cython headers (.pyx) to
  modules to convert the Python into C++. It would be very interesting
  to be involved in doing the same to sympy.

  Currently looking through the discussion topics to see what would be
  required of the Cython project. Just wanted to express my interest in
  this project at this moment.

  Ben M.

  --
  You received this message because you are subscribed to the Google Groups 
  sympy group.
  To post to this group, send email to sympy@googlegroups.com.
  To unsubscribe from this group, send email to 
  sympy+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/sympy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSOC Introduction

2011-03-23 Thread Ronan Lamy
Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
 Thanks for the link Aaron.
 
 What other parts of SymPy could be optimised without working on
 deprecated code? I could try to produce a dependence graph to find the
 most referenced modules.
 
 I read in that thread that removing the old assumptions could be a
 challenging project. What skills does it rely on? Is it more
 mathematics or software engineering? I have more experience in the
 later doing a Comp. Sc. degree (encapsulation, modularity, OO design
 patterns).
 
I think it's mostly software engineering (refactoring, interface
design, ...) with a side dish of hardcore CS/AI topics (knowledge base
maintenance and indexing, inductive reasoning, ...) We probably also
need to implement simplification of boolean expressions.

 On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
  You might read through this thread from a few days 
  agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
Note that there might be a problem with the Cythonizing the core because 
  we still need to remove the old assumptions (this would itself be a whole 
  GSoC project).  
 
  However, if you are still interested in Cython, you might look at 
  cythonizing other core parts of SymPy.
 
  Aaron Meurer
 
  On Mar 23, 2011, at 5:20 AM, Friedman wrote:
 
 
 
 
 
 
 
   Hello SymPy people,
 
   I’m a Computer Science student currently completing my Master’s thesis
   at the University of Canterbury, New Zealand.
 
   I am looking to participate in gsoc this year. I would like to
   contribute to sympy because I have both an interest in mathematics and
   Python. Python is currently my language of choice. I use Python in my
   studies and I also tutor Python in undergraduate classes.
 
   I’m considering the Cython project to optimise the core. I used Cython
   in Master’s project to optimise processor/memory intensive methods.
   With Cython I increase the performance of my code while leaving the
   original Python code unchanged by adding Cython headers (.pyx) to
   modules to convert the Python into C++. It would be very interesting
   to be involved in doing the same to sympy.
 
   Currently looking through the discussion topics to see what would be
   required of the Cython project. Just wanted to express my interest in
   this project at this moment.
 
   Ben M.
 
   --
   You received this message because you are subscribed to the Google Groups 
   sympy group.
   To post to this group, send email to sympy@googlegroups.com.
   To unsubscribe from this group, send email to 
   sympy+unsubscr...@googlegroups.com.
   For more options, visit this group 
   athttp://groups.google.com/group/sympy?hl=en.
 


-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.



Re: [sympy] Re: GSOC Introduction

2011-03-23 Thread Aaron S. Meurer
Yes, maybe you could look at cythonizing the logic code (ilke the SAT solver).  
Another idea that comes to mind is the matrices.  The other really big main 
part aside from the core is the polys, but Mateusz has already been working on 
cythonizing the core of that.  Maybe you could see what he has done and if more 
could be done (see the @cythonized decorators in some of the files in 
sympy/polys/).

Aaron Meurer

On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote:

 Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit :
 Thanks for the link Aaron.
 
 What other parts of SymPy could be optimised without working on
 deprecated code? I could try to produce a dependence graph to find the
 most referenced modules.
 
 I read in that thread that removing the old assumptions could be a
 challenging project. What skills does it rely on? Is it more
 mathematics or software engineering? I have more experience in the
 later doing a Comp. Sc. degree (encapsulation, modularity, OO design
 patterns).
 
 I think it's mostly software engineering (refactoring, interface
 design, ...) with a side dish of hardcore CS/AI topics (knowledge base
 maintenance and indexing, inductive reasoning, ...) We probably also
 need to implement simplification of boolean expressions.
 
 On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote:
 You might read through this thread from a few days 
 agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e
   Note that there might be a problem with the Cythonizing the core because 
 we still need to remove the old assumptions (this would itself be a whole 
 GSoC project).  
 
 However, if you are still interested in Cython, you might look at 
 cythonizing other core parts of SymPy.
 
 Aaron Meurer
 
 On Mar 23, 2011, at 5:20 AM, Friedman wrote:
 
 
 
 
 
 
 
 Hello SymPy people,
 
 I’m a Computer Science student currently completing my Master’s thesis
 at the University of Canterbury, New Zealand.
 
 I am looking to participate in gsoc this year. I would like to
 contribute to sympy because I have both an interest in mathematics and
 Python. Python is currently my language of choice. I use Python in my
 studies and I also tutor Python in undergraduate classes.
 
 I’m considering the Cython project to optimise the core. I used Cython
 in Master’s project to optimise processor/memory intensive methods.
 With Cython I increase the performance of my code while leaving the
 original Python code unchanged by adding Cython headers (.pyx) to
 modules to convert the Python into C++. It would be very interesting
 to be involved in doing the same to sympy.
 
 Currently looking through the discussion topics to see what would be
 required of the Cython project. Just wanted to express my interest in
 this project at this moment.
 
 Ben M.
 
 --
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group 
 athttp://groups.google.com/group/sympy?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 sympy group.
 To post to this group, send email to sympy@googlegroups.com.
 To unsubscribe from this group, send email to 
 sympy+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sympy?hl=en.
 

-- 
You received this message because you are subscribed to the Google Groups 
sympy group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.