<｜begin▁of▁sentence｜>### Instruction:
Given an undirected graph with edges [(0, 1), (1, 2), (2, 3)] and an initial matching where vertex 0 is matched to vertex 1, while vertices 2 and 3 are unmatched, how can you determine if vertex 0 is matched, list the matched edges, and verify if the given matching is maximal using the Matching class in igraph?
### Response:
from igraph import Graph, Matching

# Create an undirected graph
edges = [(0, 1), (1, 2), (2, 3)]
g = Graph(edges=edges, directed=False)

# Here 'matching' is a list where the index represents the vertex
# and the value at that index is the vertex it is matched to.
# A value of -1 indicates that the vertex is unmatched.
# Example: vertex 0 is matched to vertex 1, and vertices 2 and 3 are unmatched
matching_list = [1, 0, -1, -1]

# Create Matching object
matching = Matching(g, matching_list)

# Check if a vertex is matched
is_vertex_zero_matched = matching.is_matched(0)
print('Is vertex 0 matched:', is_vertex_zero_matched)

# Get the matching edges as an edge sequence
matched_edges = matching.edges()
print('Matched edges:', matched_edges)

# Check if the matching is maximal
is_maximal = matching.is_maximal()
print('Is the matching maximal:', is_maximal)
<|EOT|>
