File size: 1,100 Bytes
79e637a
 
 
727d361
79e637a
 
727d361
79e637a
 
 
 
 
 
 
 
 
727d361
 
 
 
 
 
 
 
 
c735b62
fcfbd59
727d361
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""
Add two vectors of the same dimension using NumPy.
"""
import gradio as gr
import numpy as np
from typing import List, Union
from maths.vectors.utils import parse_vector, format_output

Vector = Union[List[float], np.ndarray]

def vector_add(vector1: Vector, vector2: Vector) -> np.ndarray:
    v1 = np.array(vector1)
    v2 = np.array(vector2)
    if v1.shape != v2.shape:
        raise ValueError("Vectors must have the same dimensions for addition.")
    return np.add(v1, v2)

vector_add_interface = gr.Interface(
    fn=lambda v1_str, v2_str: format_output(vector_add(parse_vector(v1_str), parse_vector(v2_str))),
    inputs=[
        gr.Textbox(label="Vector 1 (JSON or CSV format)", placeholder="e.g., [1,2,3] or 1,2,3"),
        gr.Textbox(label="Vector 2 (JSON or CSV format)", placeholder="e.g., [4,5,6] or 4,5,6")
    ],
    outputs=gr.Textbox(label="Resulting Vector"),
    title="Vector Addition",
    description="Adds two vectors of the same dimension.\n\nExample:\nInput: [1,2,3] and [4,5,6]\nOutput: [5.0, 7.0, 9.0]",
    examples=[["[1,2,3]", "[4,5,6]"], ["1,2,3", "4,5,6"]],
)