Question 1: Problem 7.47 from textbook

Clear["Global`*"]; 
    Off[General::spell, General::spell1];

1) approximation functions (two families):

ϕk[n_]  :=  
      Table[(Subscript[ϕ, i]) = 
          Cos[(2 i - 1) (π/2) 
                (Subscript[x, 1])] Cos[(2 i - 1) (π/2) (Subscript[x, 2])], {i, 
          n}]

ϕk[2]
(Subscript[ϕ, 2])

((((∂_((Subscript[x, 1])))(Subscript[ϕ, 1])))^2) // Simplify

Stiffness[n_]  :=  
      Table[ (∫_0^1)(∫_0^1)(((((∂_((Subscript[x, 1])))(Subscript[ϕ, i])))^2) + ((((∂_((Subscript[x, 1])))(Subscript[ϕ, j])))^2)) \[DifferentialD](Subscript[x, 1]) \[DifferentialD](Subscript[x, 2]),  {i, n}, {j, n}]

Stiffness[2]

R[n_]  :=  
      Table[ (∫_0^1)(∫_0^1) (Subscript[ϕ, i]) \[DifferentialD](Subscript[x, 1]) \[DifferentialD](Subscript[x, 2]),  {i, n}]

R[2]

U[n_]  :=  Inverse[Stiffness[n]] . R[n]

U[2]

uh[n_]  :=  ϕk[n] . U[n]
uh[2]

n = 1;
up  =  uh[n]
\(Plot3D[up, {x\_1, 0, 1}, {x\_2, 0, 1}, 
      AxesLabel -> \ {\*""(Subscript[x, 1])"", \ \*""(Subscript[x, 2])"", \ "u"}]\)