Example #1
0
def main():
    g = Graph()

    v1 = Matrix([[3, 0]]).T
    v2 = Matrix([[1, 2]]).T
    g.add_vector(v1, color='tab:green')
    g.add_vector(v2, color='tab:red')

    p1 = v1.copy()
    p2 = orthogonal(p1, v2)
    pprint([p1, p2])
    g.add_vector(p1, color='tab:blue')  # same as v1 (green) so it hides it
    g.add_vector(p2, color='tab:orange')

    g.show()
Example #2
0
def main():
    g = Graph()

    v1 = Matrix([[2, 1]]).T
    v2 = Matrix([[1, 1]]).T
    g.add_vector(v1)
    g.add_vector(v2)

    p1 = v1.copy()
    p2 = orthogonal(p1, v2)
    g.add_vector(p1, color='tab:blue')
    g.add_vector(p2, color='tab:blue')

    n1 = normalize(p1)
    n2 = normalize(p2)
    g.add_vector(n1, color='tab:green')
    g.add_vector(n2, color='tab:green')

    g.show()
import numpy as np
from util.graph import Graph
from sympy import Matrix

u = np.array([-1, 1])
v = np.array([2, 3])
# Solve Ax=0 where A = (u v)
A = np.array([u, v, [0, 0]]).T
A, _ = Matrix(A).rref()
A = np.array(A)
print(A)
# u and v are linearly independent because scalars k and c = zero

g = Graph()
g.add_vector(u, color='b')
g.add_vector(v, color='g')
g.show()
Example #4
0
x, y = symbols('x y')
eq1 = Eq(2 * x - y, 0)
eq2 = Eq(-x + 2 * y, 3)
pprint(eq1)
pprint(eq2)
result = linsolve([eq1, eq2], [x, y])
print('x, y:', pretty(result))

# row "picture"
# See an intersection at [1, 2]
g_row = plot(solve(eq1, y)[0],
             show=False,
             line_color='tab:blue',
             xlim=[-5, 5],
             ylim=[-5, 5])
g_row.append(plot(solve(eq2, y)[0], show=False, line_color='tab:blue')[0])
g_row.show()

# col "picture"
g_col = Graph()
M, b = linear_eq_to_matrix([eq1, eq2], x, y)
# Show the columns vectors in green
u = np.array(M.col(0)).T[0]
v = np.array(M.col(1)).T[0]
g_col.add_vector(u, color='tab:green')
g_col.add_vector(v, color='tab:green')
# Show [0, 3] in orange (2x the second column, added to the first)
w = 2 * v
g_col.add_vector(w, start=u, color='tab:orange')
g_col.show()