Skip to content

Commit 7c3b304

Browse files
authored
Update index.md
1 parent 1834690 commit 7c3b304

File tree

1 file changed

+2
-129
lines changed

1 file changed

+2
-129
lines changed

contrib/scipy/index.md

+2-129
Original file line numberDiff line numberDiff line change
@@ -1,131 +1,4 @@
1-
## Installation of Scipy
2-
### Install using the command:
3-
#### C:\Users\Your Name>pip install scipy
4-
You can also use a Python distribution that already has Scipy installed like Anaconda, or Spyder.
5-
### Importing SciPy
6-
#### from scipy import constants
7-
## Key Features of SciPy
8-
### 1. Numerical Integration
9-
#### It helps in computing definite or indefinite integrals of functions
10-
```
11-
from scipy import integrate
1+
# List of sections
122

13-
#Define the function to integrate
14-
def f(x):
15-
return x**2
16-
17-
#Compute definite integral of f from 0 to 1
18-
result, error = integrate.quad(f, 0, 1)
19-
print(result)
20-
```
21-
#### Output
22-
```
23-
0.33333333333333337
24-
```
25-
### 2. Optimization
26-
#### It can be used to minimize or maximize functions, here is an example of minimizing roots of an equation
27-
```
28-
from scipy.optimize import minimize
29-
30-
# Define an objective function to minimize
31-
def objective(x):
32-
return x**2 + 10*np.sin(x)
33-
34-
# Minimize the objective function starting from x=0
35-
result = minimize(objective, x0=0)
36-
print(result.x)
37-
```
38-
#### Output
39-
```
40-
array([-1.30644012])
41-
```
42-
### 3. Linear Algebra
43-
#### Solving Linear computations
44-
```
45-
from scipy import linalg
46-
import numpy as np
47-
48-
# Define a square matrix
49-
A = np.array([[1, 2], [3, 4]])
50-
51-
# Define a vector
52-
b = np.array([5, 6])
53-
54-
# Solve Ax = b for x
55-
x = linalg.solve(A, b)
56-
print(x)
57-
```
58-
#### Output
59-
```
60-
array([-4. , 4.5])
61-
```
62-
### 4. Statistics
63-
#### Performing statistics functions, like here we'll be distributing the data
64-
```
65-
from scipy import stats
66-
import numpy as np
67-
68-
# Generate random data from a normal distribution
69-
data = stats.norm.rvs(loc=0, scale=1, size=1000)
70-
71-
# Fit a normal distribution to the data
72-
mean, std = stats.norm.fit(data)
73-
```
74-
### 5. Signal Processing
75-
#### To process spectral signals, like EEG or MEG
76-
```
77-
from scipy import signal
78-
import numpy as np
79-
80-
# Create a signal (e.g., sine wave)
81-
t = np.linspace(0, 1, 1000)
82-
signal = np.sin(2 * np.pi * 5 * t) + 0.5 * np.random.randn(1000)
83-
84-
# Apply a low-pass Butterworth filter
85-
b, a = signal.butter(4, 0.1, 'low')
86-
filtered_signal = signal.filtfilt(b, a, signal)
87-
```
88-
The various filters applied that are applied here, are a part of signal analysis at a deeper level.
89-
### 6. Sparse Matrix
90-
#### The word ' sparse 'means less, i.e., the data is mostly unused during some operation or analysis. So, to handle this data, a Sparse Matrix is created
91-
#### There are two types of Sparse Matrices:
92-
##### 1. CSC: Compressed Sparse Column, it is used for efficient math functions and for column slicing
93-
##### 2. CSR: Compressed Sparse Row, it is used for fast row slicing
94-
#### In CSC format
95-
```
96-
from scipy import sparse
97-
import numpy as np
98-
99-
data = np.array([[0, 0], [0, 1], [2, 0]])
100-
101-
row_indices = np.array([1, 2, 1])
102-
col_indices = np.array([1, 0, 2])
103-
values = np.array([1, 2, 1])
104-
105-
sparse_matrix_csc = sparse.csc_matrix((values, (row_indices, col_indices)))
106-
```
107-
#### In CSR format
108-
```
109-
from scipy import sparse
110-
import numpy as np
111-
112-
data = np.array([[0, 0], [0, 1], [2, 0]])
113-
sparse_matrix = sparse.csr_matrix(data)
114-
```
115-
### 7. Image Processing
116-
#### It is used to process the images, like changing dimensions or properties. For example, when you're doing a project on medical imaging, this library is mainly used.
117-
```
118-
from scipy import ndimage
119-
import matplotlib.pyplot as plt
120-
121-
image = plt.imread('path/to/image.jpg')
122-
plt.imshow(image)
123-
plt.show()
124-
125-
# Apply Gaussian blur to the image
126-
blurred_image = ndimage.gaussian_filter(image, sigma=1)
127-
plt.imshow(blurred_image)
128-
plt.show()
129-
```
130-
#### The gaussian blur is one of the properties of the ' ndimage ' package in SciPy libraries, it used for better understanding of the image.
3+
- [Installation of Scipy and its key uses](pandas_series_vs_numpy_ndarray.md)
1314

0 commit comments

Comments
 (0)