Hi Lee,

Yes, it is a mistake. I meant:

x = np.random.randn(n, d)
y = np.random.randn(n, d2)



On Sunday, May 31, 2020 at 3:18:56 PM UTC+2, S.Y. Lee wrote:
>
> It's better work on matrix expressions
> I also don't think that x, y should be numeric matrices if they are random 
> matrices. 
>
> Now, the problem is the matrix derivative is computed wrong when it's 
> derived with it's own elements
> But when I tried with https://github.com/sympy/sympy/pull/17232 and 
> symbolized all the stuff
>
> import numpy as np
> from sympy import *
>
> n, d, n2, d2 = 5, 7, 4, 3
>
> x = MatrixSymbol('x', n, d)
> y = MatrixSymbol('y', n, d2)
>
> w1 = MatrixSymbol("l", 7, 4)
> w2 = MatrixSymbol("p", 4, 3)
>
> h2 = x * w1
> predicted = h2 * w2
> HadamardPower(predicted - y, 2).diff(x[0, 0])
> I see it gives consistent result with computations with explicit matrix. 
> Although I can't easily read the formula.
>
>
> On Sunday, May 31, 2020 at 8:12:11 PM UTC+9, Oscar wrote:
>>
>> On Sun, 31 May 2020 at 03:42, Giuseppe G. A. Celano 
>> <[email protected]> wrote: 
>> > 
>> > I am trying to use very small matrices. Is there any way to calculate 
>> the partial derivatives of "loss2" below? 
>> > 
>> > import numpy as np 
>> > from sympy import * 
>> > 
>> > n, d, n2, d2 = 5, 7, 4, 3 
>> > 
>> > x = np.random.randn(n, d) 
>> > y = np.random.randn(n, d2) 
>> > 
>> > w1 = MatrixSymbol("l", 7, 4) 
>> > w1 = Matrix(w1) 
>> > 
>> > w2 = MatrixSymbol("p", 4, 3) 
>> > w2 = Matrix(w2) 
>> > 
>> > h2 = x * w1 
>> > predicted = h2 * w2 
>> > 
>> > loss2 = Matrix(np.square(predicted - y)) 
>>
>> What do you want to differentiate with respect to? 
>>
>> You can use loss2.diff(w1[0, 0]) to differentiate with respect to the 
>> upper left entry of w1. 
>>
>> -- 
>> Oscar 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/57bcffc0-a83d-4937-9056-e69925dbd7bc%40googlegroups.com.

Reply via email to