INNER CODE UNIT · Go

AddVectors

takara-ai/go-attention · attention/attention.go:127

func AddVectors(v1, v2 Vector) (Vector, error) {
	if len(v1) != len(v2) {
		return nil, fmt.Errorf("vector dimensions mismatch: %d != %d", len(v1), len(v2))
	}

	result := make(Vector, len(v1))
	for i := range v1 {
		result[i] = v1[i] + v2[i]
	}
	return result, nil
}

// DotProductAttention computes scaled dot-product attention
// query: [d_k], keys: [n, d_k], values: [n, d_v]
// Returns: attended vector [d_v] and attention weights [n]
// Performance: O(n*d_k + n*d_v) where n=len(keys), d_k=len(query), d_v=len(values[0])
// Memory: O(n) for attention weights
// Consider using BatchDotProductAttention for multiple queries

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…