itam-ds / analisis-numerico-computo-cientifico Goto Github PK
View Code? Open in Web Editor NEWAnálisis numérico y cómputo científico
License: Apache License 2.0
Análisis numérico y cómputo científico
License: Apache License 2.0
Circuitscape borrows algorithms from electronic circuit theory to predict connectivity in heterogeneous landscapes. Landscapes are represented as conductive surfaces, with low resistances assigned to landscape features types that are most permeable to movement or best promote gene flow, and high resistances assigned to movement barriers. Effective resistances, current flow, and voltages calculated across the landscapes can then be related to ecological processes, such as individual movement and gene flow. More detail about the underlying model, its parameterization, and potential applications in ecology, evolution, and conservation planning can be found in McRae (2006) and McRae et al. (2008).
Circuitscape was originally designed to analyze connectivity across raster grids. With version 4.0, it can now analyze arbitrary networks (graphs) with any set of connections between nodes the user specifies.
It was written in python, but due to computational constrains they are developing a new version in julia. Could be a cool example.
Debido a que el equipo 6 trabajará con el equipo 8 y el equipo 5 lo hará de forma separada, es necesario renombrar las carpetas ubicadas en:
https://github.com/ITAM-DS/analisis-numerico-computo-cientifico/tree/mno-2020-1/proyecto_final/proyectos/equipos
Suggestions:
Start mentioning this is the repo of the course X at ITAM by Erick Palacios
Link to Temario should be larger and should be at the beginning.
Explain how to select a branch with an image like this:
Add Author to notes in dropbox
Add "Índice de notas" as a title before the notes, otherwise the intuitive thing is to think that is a Temario and the difference ain't clear.
As jupyter book now uses off
execution for reducing building time
notebooks need to be tested in some way.
One possibility is via: https://github.com/treebeardtech/nbmake-action
Another: https://github.com/nteract/papermill
Use
/usr/bin/time --verbose
perf stat -e cycles,stalled-cycles-frontend,stalled-cycles-backend,instructions,\
cache-references,cache-misses,branches,branch-misses,task-clock,faults,\
minor-faults,cs,migrations -r 3
#cProfile:
python -m cProfile -s cumulative
python -m cProfile -o profile.stats
pip install runsnake
#lineprofiler:
pip install line_profiler
kernprof.py -l -v
#memoryprofiler:
pip install memory_profiler
pip install psutil
python -m memory_profiler
#magic commands:
%memit
%timeit
#heapy
pip install guppy
for C: gdb, valgrind
for R: lineprof, profvis
for cuda: cuda-gdb
In line 48 of dir algorithms for unconstrained opt Newton's decrement is computed after Newton's direction is defined as:
dir_Newton = Hfeval\(-gfeval);
better if:
dir_Newton = Hfeval\(gfeval);
lambda_cuadrada = dir_Newton'*(Hfeval*dir_Newton);
dir_Newton = - dir_Newton
See:
Convex inequality and equality optimization problems were almost finished. See:
and:
But for the infeasible initial point, need to fix some errors (execute 2nd example using [-4,-4] as x_0):
which is using: algoritmos/Python dir.
Examples of tests for this case of infeasible inital point are in:
Infeasible inital point 1st version
Infeasible inital point 2nd version
Need to check which one is going to be the one that I will use.... 1st or 2nd version....
New algorithms for both Python and R were developed. Old Matlab implementation needs an update. Dirs in:
Get some examples to test functionality of algorithms for ceco in particular for line: 55
Also check CO of S. Boyd & L. Vandenberghe for implementation tips when solving Newtons system: dir desc
And compute Newton's decrement as algorithms for uco
Your issue content here
The text states in the chapter Expresiones de los errores para las reglas compuestas del rectángulo, trapecio y Simpson that the Trapezoidal rule is
Julia, CVXPy, Jupyter notebooks examples:
http://www.juliaopt.org/Convex.jl/stable/examples/portfolio_optimization/portfolio_optimization2/
https://www.cvxpy.org/examples/basic/linear_program.html
https://www.cvxpy.org/examples/applications/MM.html?highlight=multiply
https://github.com/cvxgrp/pymde/tree/main/examples
https://github.com/cvxgrp/pymde
https://github.com/cvxgrp/cvx_short_course/blob/master/exercises/13.20.ipynb
https://github.com/cvxgrp/cvx_short_course/blob/master/exercises/Lasso.ipynb
https://www.cvxpy.org/examples/applications/tv_inpainting.html
https://stanford.edu/~boyd/papers/cvx_short_course.html
https://nbviewer.jupyter.org/github/cvxgrp/cvx_short_course/blob/master/intro/SVM.ipynb
https://www.cvxpy.org/tutorial/dcp/index.html?highlight=norm
https://www.cvxpy.org/examples/index.html#basic
https://www.cvxpy.org/examples/basic/least_squares.html
Kubernetes
https://www.katacoda.com/courses/kubernetes/playground
https://kubernetes.io/es/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/
This definition of arreglo_2d needs that m is defined somewhere in the code:
//arreglo2d:
typedef struct{
int m, n;
#define renglones(arreglo) ((arreglo)->m)
#define columnas(arreglo) ((arreglo)->n)
double *arr;
#define entradas(arreglo) ((arreglo)->arr)
#define entrada(arreglo,i,j) ((arreglo)->arr[j*m+i]) //almacenamos column major
}arreglo_2d;
typedef arreglo_2d *arreglo_2d_T;
Snippet from:
https://github.com/ITAM-DS/analisis-numerico-computo-cientifico/tree/master/C/BLAS/ejemplos
https://github.com/ITAM-DS/analisis-numerico-computo-cientifico/tree/master/C/LAPACK/ejemplos
https://github.com/ITAM-DS/analisis-numerico-computo-cientifico/tree/master/C/extensiones_a_C/MPI/openMPI/ejemplos/3_openMPI_y_BLAS
To avoid this define arreglo_2d as:
//arreglo2d:
typedef struct{
int m, n;
#define renglones(arreglo) ((arreglo)->m)
#define columnas(arreglo) ((arreglo)->n)
double *arr;
#define entradas(arreglo) ((arreglo)->arr)
#define entrada(arreglo,i,j) ((arreglo)->arr[j*renglones(arreglo)+i]) //almacenamos column major
}arreglo_2d;
typedef arreglo_2d *arreglo_2d_T;
So I have to run examples of BLAS, LAPACK and BLAS-OPENMPI to check everything is ok¡
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.